Cada día en el mundo de Internet nos encontramos con nuevos lenguajes, con nuevos frameworks, con nuevos servicios,… en definitiva con nuevas palabras. Muchas veces parece que hablamos en Klingong, sobre todo si nos relacionamos con personas «ajenas» a todo este mundo, pero es cierto que incluso a nosotros (o por lo menos a mí) también me cuesta seguir el ritmo de palabrejas.
Hace unos días me encontré con un pequeño diccionario de AWS, por eso hoy vamos a traducirlo para comprender mejor la cantidad de servicios que tiene Amazon. Si alguna vez has entrado en Amazon (no a comprar), sino a ver/probar los servicios «cloud/AWS» que ofrecen, habrás visto un montón de palabrejas. Hoy con un poco de imaginación vamos darle significado a todas las buzzwords de Amazon.
Hemos dividido las secciones en Servicios Base son servicios normales que proveen de servicios para cualquier desarrollados, Servicios específicos para desarrolladores web, servicios específicos para desarrolladores móviles^, Despliegue de código y operaciones., Servicios corporativos, Servicios de Big Data y Servicios de gestión de AWS
Cada servicio está compuesto del nombre del servicio, como debería llamarse (hay veces que el marketing hace que los nombres no coincidan con el servicio ofrecido), que es lo que hace el servicio y si conozco alguna alternativa similar.
Servicios Base
EC2
- Debería llamarse: Servidores Virtuales de Amazon (Amazon Virtual Services).
- Se usan para: «Hostear»/Guardar todas las cosas que quieras, como un Ordenador.
- Es como: Son similares a los servidores virtuales que podemos encontrar en DigitalOcean, Linode o Rackspace.
IAM
- Debería llamarse: Usuarios, Claves y Certificados.
- Se usan para: Instalar/Establecer usuarios adicionales, instalar/establecer nuevas claves en AWS y politicas de acceso.
S3
- Debería llamarse: Servidor FTP Ilimitado de Amazon
- Se usan para: Se utiliza para guardar imágenes y otros elementos (CSS, JS,..) para los sitios web. Mantiene backups y comparte ficheros entre servicios. Es posible almacenar en él sitios web estáticos. Muchos otros servicios de Amazon WAS leen y escriben en S3.
VPC
- Debería llamarse: Amazon Rack
- Se usan para:
- Es como: Si estás familiarizado con los sistemas de redes es similar a VLANs
Servicios para desarrolladores web
API Gateway
- Debería llamarse: API Proxy
- Se usan para: Es un proxy para nuestras API, con ella podemos «capar» clientes abusivos, probar nuevas versiones de la API de una manera más limpia
- Es como: 3Scale
RDS
- Debería llamarse: Amazon SQL
- Se usan para: Base de datos para aplicaciones, están disponibles Mysql, Postgres y Oracle
- Es como: Heroku Postgres
Route53
- Debería llamarse: Amazon DNS + Dominios
- Se usan para: Comprar un nuevo dominio y establecer /direccionar DNS para el domino.
- Es como: DNSimple, GoDaddy,…
SES
- Debería llamarse: Amazon Transactional Email (email transacionales de Amazon)
- Se usan para: Enviar emails tipo notificaciones, recordar contraseña,.. Incluso se podría enviar una Newsletter si escribes todo el código, pero no es una buena idea
- Es como: Mandrill, Postmark, SendGrid
CloudFront
- Debería llamarse: Amazon CDN
- Se usan para: Hacer que los sitios web carguen más rápido «cacheando» todos los ficheros estáticos para que estén cerca de los usuarios
- Es como: Akamai, MaxCDN
CloudSearch
- Debería llamarse: Amazon Fulltext Search, (servicios de búsqueda de Amazon)
- Se usan para: Coger todos los datos de S3 o RDS y poder buscar todas las apariciones de ‘Jimmy’
- Es como: Sphinx, Solr, ElasticSearch
DynamoDB
- Debería llamarse: Amazon NoSQL
- Se usan para: Es para tener app’s con MongoDB
- Es como: MongoLan
Elasticcache
- Debería llamarse: Amazon Memcached
- Se usan para: Es para tener apps con Memcached o Redis
- Es como: Redis to Go, Memcachier
Elastic Transcoder
- Debería llamarse: Amazon como Cut Pro
- Se usan para: Hacer frente a la producción/tanscodificacion de videos (cambios de formato, comprimir, etc.)
Lambda
- Debería llamarse: Ejecutar Javascript como servicio
- Se usan para: Ejecutar código JS para hacer tareas. Actualmente se utiliza para almacenar y luego ejecutar cambis en la configuración de AWS. Además se puede utilizar conjuntamente con API Gateway.
SQS
- Debería llamarse: Amazon Queue, Colas de Amazon
- Se usan para: Guardar datos para procesarlos en el futuro. Se guardan «mensajes» (que no tienen nada que ver con email o SMS) SQS no tiene ninguna lógica solo es un lugar para guardar «cosas»
- Es como: RabbitMQ, Sidekiq
Servicios para desarrolladores móviles
Cognito
- Debería llamarse: Amazon Oauth como servicios
- Se usan para: Da a los usuarios finales (No los de AWS) la posibilidad de loguearnos con Google, Facebook,…
- Es como: Oauth.io
Dev Farm
- Debería llamarse: Cajón de dispositivos móviles
- Se usan para: Testea tu app en un montón de dispositivos Android e iOs de manera simultanea
- Es como: MobileTest, iOs emulator
Mobile Analytics
- Debería llamarse: Amazon Product Managers
- Se usan para: Trackea lo que la gente hace dentro de tu app
- Es como: Flurry
SNS
- Debería llamarse: Amazon Messenger
- Se usan para: Envia notificaciones al móvil, emails y/o SMS
- Es como: UrbanAirship, Twilio
Despliegue de código y operaciones
Estos son los servicios para automatizar y gestionar los despliegues de nuestro código en los servicios
CodeCommit
- Debería llamarse: Amazon GitHub
- Se usan para: Sistema de control de versiones como servicio
- Es como: GitHub, Bitbuket
Code Deploy
- Debería llamarse: El que tiene es un buen nombre 🙂
- Se usan para: Coger el código de CodeCommit o GitHub y desplegarlos en una instancia de EC2
- Es como: Heroku, Capistrano
CodePipeline
- Debería llamarse: Amazon Continuous Integration
- Se usan para: Ejecutar test sobre nuestro código de manera automática y entonces hacer cosas dependiendo de si estos pasan o no.
- Es como: CircleCI, Travis
EC2 Constainer Service
- Debería llamarse: Amazon Docker como servicio
- Se usan para: Poner un Dockerfile en una instancia de EC2 y hacer que nuestro sitio web funciones
Servicios corporativos
AppStream
- Debería llamarse: Amazon Citrix
- Se usan para: Poner una copia de una aplicación de windows en una maquina de windows y dar a la gente acceso remoto para usarla
- Es como: Citrix, RDP
Direct Connect
- Debería llamarse: Tiene un buen nombre
- Se usan para: Pagar su Telco + AWS para tener una conexión directa desde el centro de datos
- Es como: Ir por autopista de peajes en todos los caminos
Directory Service
- Debería llamarse: Tiene un buen nombre
- Se usan para: Une aplicaciones que necesitan Microsoft Active Directory para controlarlas
WorkDocs
- Debería llamarse: Archivos no estructurados
- Se usan para: Utilizar archivos de Word compartidos
- Es como: Dropbox, DataAnywhere
Workmail
- Debería llamarse: Email corporativo de Amazon
- Se usan para: Servicio de correo/calendario a empresas
- Es como: Google Apps para dominios
Workspaces
- Debería llamarse: Amazon equipos remotos
- Se usan para: Pode controlar escritorios de windows de manera remota
Service Catalog
- Debería llamarse: Configuración Ya
- Se usan para: Dar a otros usuarios de AWS acceso a aplicaciones predefinidas y que no tengan que perder tiempo en aprender a instaciar/instalar,… AWS
Storage Gateway
- Debería llamarse: S3 pero dentro de una red corporativa
- Se usan para: En vez de comprar más almacenamiento para documentos Word, lo que hace este servicio es disponer de almacenamiento ilimitado pero dentro de una red corporativa
Servicios de Big Data
Servicios que manipulan gran cantidad de datos
Data Pipeline
- Debería llamarse: Amazon ETL
- Se usan para: Extraer, transformar y cargar datos de AWS en otros lugares. Es posible programar cuando hacerlo y recibir alarmas si falla.
Elastic Map Reduce
- Debería llamarse: Amazon Hadoop
- Se usan para: Iterar sobre datos que están en S3 de manera masiva.
Glacier
- Debería llamarse: S3 pero lento
- Se usan para: Hacer copias de seguridad y guardarlas en S3.
Kinesis
- Debería llamarse: Amazon de alto rendimiento
- Se usan para: Integra gran cantidad de datos muy rápidamente (para analisis de los mismos) que luego otros servicios de AWS pueden analizar
- Es como: Kafka
RedShift
- Debería llamarse: Amazon Datawarehouse
- Se usan para: Guardar un montón de datos analizados para poder procesarlos y volcarlos en otro lugar
Machine Learning
- Debería llamarse: Skynet
- Se usan para: Predecir el comportamiento futuro dados unos datos iniciales, podría utilizarse para detectar fraudes o personas que compraron x también compraron y
SWF
- Debería llamarse: Colas de Amazon EC2
- Se usan para: tener productores y consumidores en las colas de EC2. A diferencia de SQS la lógica se configura dentro del servicio.
- Es como: IronWorker
Servicios de gestión de AWS
Amazon puede ser tan difícil de gestionar que existen miles de servicios para hacerlo más sencillo
CloudFormation
- Debería llamarse: Configuración de Amazon Services
- Se usan para: Configuración de un grupo de servicios de AWS conectados de una sola vez
CloudTrail
- Debería llamarse: Registro en Amazon
- Se usan para: Saber quién está haciendo que en la pila de llamadas de AWS
- Es como:
CloudWatch
- Debería llamarse: Amazon Status
- Se usan para: Recibir alertas sobre servicios de AWS que estén estropeados o desconectados
- Es como: PagerDuty, Statuspage
Config
- Debería llamarse: Amazon Configuration Management
- Se usan para: Si tenemos una gran infraestructura en AWS, saber que cambios se están realizando y poder hacer un seguimiento.
OpsWorks
- Debería llamarse: Amazon Chef
- Se usan para: Manejar el funcionamiento de una aplicación con cosas como «auto-escalado»
- Es como:
Trusted Advisor
- Debería llamarse: Amazon Pennypincher
- Se usan para: Saber donde se está pagando demasiado en la configuración de AWS (instancias sin uso,…)