Si eres desarrollador y alguna vez te has preguntado cuál es el servicio de la nube más importante actualmente, la respuesta probablemente sea AWS, y no en vano.
Cuando AWS empezó en el año 2006, tenía tres servicios: uno de almacenamiento de archivos llamado S3, otro para crear servidores llamado EC2, y un servicio de colas de mensajería.
A medida que creció su popularidad, AWS integró cada vez más servicios, llegando a más de 200 en la actualidad, cada uno con un propósito diferente. De hecho, muchos de sus servicios cubren las mismas necesidades, lo que refleja la estrategia de AWS de abarcar todas las rutas posibles que un proyecto web puede tomar, desde servicios de hosting sencillos hasta aplicaciones avanzadas de machine learning, robótica e incluso computación cuántica.
AWS es tan grande que muchas otras plataformas de despliegue de aplicaciones, como Vercel y Heroku, están construidas encima de su infraestructura.
No es necesario conocer todos los servicios de AWS, ya que solo utilizarás algunos en función del tipo de aplicación que desarrolles. Para quienes deseen profundizar más, en este video revisaremos una lista de servicios fundamentales para desplegar cualquier aplicación.
Elastic Compute Cloud (EC2)
Este es el servicio más fundamental de AWS, ya que te permite crear un servidor virtual (o VPS), donde puedes escoger el sistema operativo, asignar RAM y espacio de almacenamiento, e instalar cualquier programa o proyecto. Ideal para subir proyectos backend o frontend en cualquier lenguaje (PHP, Python, Go, Java, C#, Node.js, etc.).
Si tu proyecto crece, probablemente necesitarás más servidores (o instancias) y distribuir el tráfico entre ellos. Aquí entra en juego otro servicio llamado Elastic Load Balancing.
Elastic Load Balancing (ELB)
Elastic Load Balancing o ELB permite distribuir el tráfico de tus aplicaciones entre múltiples instancias configuradas desde la web.
CloudWatch
Para monitorear múltiples servidores y saber cuánto recurso consumen, puedes usar CloudWatch para ver métricas. Sin embargo, si necesitas ejecutar acciones cuando los servidores alcanzan cierto consumo, AWS tiene otro servicio llamado Auto Scaling.
Auto Scaling
Auto Scaling recopila los datos de CloudWatch y permite crear políticas o reglas para añadir más instancias según el uso o tráfico.
Además de estos servicios básicos, existen otros que simplifican la gestión y el despliegue. Veamos algunos más:
Elastic Beanstalk
Simplifica el despliegue: eliges una plantilla, subes tu código, y la plataforma se encarga del deploy automático, además de escalar la aplicación según sea necesario.
Lambda
No todos los proyectos necesitan un servidor persistente. Con AWS Lambda, puedes ejecutar pequeñas porciones de código backend de manera serverless, pagando solo por el tiempo de ejecución.
AWS Serverless Application Repository
Puedes usar funciones precreadas en el AWS Serverless Application Repository, un marketplace de funcionalidades listas para pagar por uso.
Lightsail
Si prefieres desplegar un CMS fácilmente, Lightsail permite implementar webs basadas en CMS como WordPress, PrestaShop, Magento, o Odoo, sin configurar el servidor.
Para infraestructuras más grandes, AWS también ofrece:
Elastic Container Registry (ECR) y Elastic Container Service (ECS)
Permiten almacenar y ejecutar contenedores, utilizando instancias EC2 o integrándose con servicios de balanceo de carga.
Elastic Kubernetes Service (EKS) y Fargate
Elastic Kubernetes Service facilita la administración de contenedores escalables y Fargate permite que estos funcionen como serverless.
App Runner
Despliega aplicaciones en contenedores de manera rápida sin preocuparte por la orquestación de recursos.
S3 y Almacenamiento
S3 es el servicio principal de almacenamiento de archivos. También existen otras opciones como:
- Elastic Block Store (EBS): almacenamiento de bloques similar a un disco duro virtual.
- Elastic File System (EFS): almacenamiento de baja latencia, autoadministrado y de alto costo.
Para bases de datos, AWS ofrece una variedad de opciones según el tipo de datos:
Bases de Datos
- SimpleDB: una base NoSQL básica.
- DynamoDB: base de datos NoSQL de alta velocidad y escalabilidad.
- DocumentDB: similar a MongoDB.
- Relational Database Service (RDS): bases de datos SQL gestionadas (PostgreSQL, MySQL, Oracle, etc.).
- Aurora: base SQL propia de AWS compatible con MySQL y PostgreSQL.
- Neptune: base de datos de grafos.
- ElastiCache: servicio de caché en memoria (Redis).
- Timestream: para series temporales o datos de tiempo.
- Quantum Ledger Database (QLDB): registro de datos criptográficamente seguro y encadenado.
Para análisis de datos:
Análisis de Datos y Machine Learning
- Redshift: Data Warehouse estructurado.
- Lake Formation: almacenamiento de datos no estructurados.
- Kinesis y Elastic MapReduce (EMR): captura y procesamiento de datos en tiempo real.
- SageMaker: creación de modelos de machine learning.
AWS también tiene servicios de IA como Rekognition (reconocimiento de imágenes), Lex (para chatbots), Translate (traducción de textos), Polly (conversión de texto ::contentReference[oaicite:0]{index=0}