Coders, aunque AWS tiene muchos servicios en la nube y prácticamente podrías desarrollar de todo con ellos, en realidad no hace falta conocerlos todos. Porque si eres un desarrollador que crea aplicaciones web típicas —que llevan una API de backend (REST API o GraphQL), un frontend en algún framework de JavaScript (React, Angular, Vue, Next.js, etc.), una conexión con base de datos ya sea SQL o NoSQL y un dominio— ¿para qué necesitarías ser un experto? Solo necesitas conocer los servicios que te permiten tener todo esto de la forma más fácil y rápida posible.
Así que en este video te voy a mencionar los únicos servicios que necesitas conocer en AWS para desplegar una aplicación web común y nada más. Empecemos.
Base de datos
Empecemos por lo más común: ¿dónde guardamos la información? En AWS hay opciones de todo tipo, pero las únicas que realmente te recomiendo tener en cuenta son estas:
- RDS – Prácticamente te permite tener cualquier gestor de base de datos como PostgreSQL, MySQL, MariaDB, SQL Server, Oracle e incluso Db2. 👉 aws.amazon.com/rds
- DynamoDB – Una base de datos NoSQL ultrarrápida y escalable, ideal para apps que necesitan alto rendimiento sin complicarse con servidores.
- DocumentDB – Muy útil si vienes del ecosistema de JavaScript fullstack y estás acostumbrado a usar MongoDB. Es común en aplicaciones modernas con Node.js porque encaja perfecto con modelos basados en JSON.
- ElastiCache (Redis) – No es una base de datos “principal”, sino un sistema de caché en memoria que acelera consultas. Por ejemplo: guardar sesiones de usuario, manejar colas de mensajes o cachear resultados frecuentes de la base de datos.
Todas estas son bases de datos administradas, lo que significa que con unos pocos clics ya tienes tu instancia lista, sin necesidad de instalar nada manualmente. La nube se encarga de la administración, actualizaciones, seguridad y configuración.
Obviamente también existen otras opciones como Aurora o motores especializados, pero no son tan comunes en proyectos web típicos, por eso aquí me concentro en las que realmente te van a servir.
API / Backend
Después de la base de datos, lo siguiente que necesitas es una API para que tu frontend pueda comunicarse con el backend. En AWS tienes varias opciones, dependiendo de cuánto control quieras tener y qué tan automático deseas el despliegue:
- EC2 – La forma clásica. Básicamente es un servidor en la nube al que te conectas por SSH, instalas Node, Python, Go o el lenguaje que uses, configuras todo manualmente y despliegas tu API. Es potente, pero requiere que sepas comandos de Linux y administrar el servidor.
- ECS + ECR (con Fargate) – Si ya trabajas con Docker, esta es la mejor opción. ECR (Elastic Container Registry) almacena tus imágenes de contenedor y ECS (Elastic Container Service) las ejecuta en Fargate (sin servidores). Ideal para APIs que necesitas escalar fácilmente.
- Elastic Beanstalk – Si quieres algo más sencillo y parecido a Railway/Heroku, Beanstalk te permite subir tu proyecto (Node.js, Python, etc.) y él se encarga de levantar la infraestructura.
- AWS App Runner – Muy similar a Railway. Conectas tu repositorio de GitHub y cada vez que hagas push, tu API se despliega automáticamente. Incluye dominio y HTTPS listos.
- Lambda + API Gateway – La opción serverless. En lugar de tener un backend completo, subes funciones que se ejecutan solo cuando las llamas por URL. Pagas por invocación y es perfecto si tu API tiene lógica pequeña o tráfico variable.
- AppSync – Si usas GraphQL, esta es la opción directa. Crea tu API GraphQL lista para conectar con web o móvil sin tener que montar un servidor desde cero.
En resumen:
- Si quieres control total: EC2.
- Si usas Docker: ECS + ECR.
- Si quieres despliegue fácil: App Runner o Beanstalk.
- Si buscas escalado automático y pagar solo por uso: Lambda + API Gateway.
- Si tu stack es GraphQL: AppSync.
Frontend
Para el frontend también tienes varias opciones en AWS, dependiendo de si tu aplicación es dinámica (con ejecución de código en servidor) o estática (solo archivos HTML, CSS y JS):
AWS Amplify – Es la opción más parecida a Railway, Vercel o Render. Conectas tu repositorio de GitHub y cada vez que hagas un push, tu aplicación se despliega automáticamente. Es ideal si usas frameworks modernos como Next.js, Nuxt.js, SvelteKit o similares, que incluyen funciones de servidor además del frontend.
Amazon S3 + CloudFront – Perfecto para sitios estáticos. Con S3 subes los archivos generados (HTML, CSS, JS, imágenes, etc.) y con CloudFront los sirves a todo el mundo con CDN y HTTPS. Este método es muy usado para aplicaciones hechas con Vite.js, o generadores de sitios estáticos como Hugo, Jekyll o Astro.
En resumen:
- Frontend dinámico (SSR o fullstack JS): usa Amplify.
- Frontend estático (SPA o generadores): usa S3 + CloudFront.
Dominio
En cuanto al dominio, puedes comprarlo en cualquier proveedor de internet como GoDaddy, Namecheap o Hostinger (y si usas Hostinger, puedes aprovechar mi código de descuento 😉).
Ahora, si quieres administrarlo directamente desde AWS, el servicio que necesitas es Route 53. Con él puedes:
- Comprar tu dominio directamente.
- Administrar los DNS y enlazarlo a tus servicios en AWS (API, frontend, etc.).
- Configurar subdominios, balanceo de carga y enrutamiento inteligente.
En pocas palabras:
- Si ya tienes dominio en otro proveedor: lo apuntas a AWS.
- Si quieres todo integrado en un mismo lugar: compra y administra tu dominio en Route 53.
AWS IAM
Ahora, no vas a poder integrar nada de esto sin conocer IAM. Este es el servicio de AWS que se encarga de la identidad y acceso. Básicamente define quién puede hacer qué dentro de tu cuenta de AWS.
Con IAM puedes:
- Crear usuarios y darles permisos específicos (por ejemplo, que un desarrollador solo pueda acceder a S3 y no a la facturación).
- Usar roles para que tus aplicaciones tengan permisos temporales y seguros para acceder a otros servicios (por ejemplo, que una Lambda pueda leer de DynamoDB).
- Organizar permisos en grupos y políticas, para no tener que configurarlo todo manualmente usuario por usuario.
¿Por qué es importante? Porque si no manejas bien IAM, podrías dejar tu infraestructura abierta a cualquiera o dar más permisos de los necesarios. AWS funciona bajo el principio de menor privilegio, es decir, siempre otorgar solo lo justo y necesario.
En resumen: aprender lo básico de IAM es obligatorio si quieres trabajar con cualquier otro servicio de AWS
Servicios Adicionales
Con lo que hemos visto ya puedes tener lo básico: una base de datos, una API y un frontend. Pero muchas aplicaciones requieren más funcionalidades, y aquí es donde AWS tiene servicios adicionales que puedes integrar según lo que necesites:
Almacenamiento de archivos:
- Amazon S3 – Para guardar y servir archivos de cualquier tipo (imágenes, videos, documentos). Incluso puedes restringir descargas o montar tu propia aplicación de streaming.
Correos y notificaciones:
- AWS SES – Para enviar correos automáticos (por ejemplo, confirmaciones de compra).
- Amazon Pinpoint – Para notificaciones push, SMS o campañas de correo segmentadas.
Autenticación y seguridad:
- Amazon Cognito – Maneja el registro e inicio de sesión de usuarios, similar a Auth0 u Okta.
- AWS Secrets Manager – Guarda y gestiona de forma segura tus variables de entorno y credenciales.
- AWS WAF y Shield – Protección contra ataques web y DDoS.
Rendimiento y cacheo:
- Amazon ElastiCache (Redis/Memcached) – Cache en memoria para acelerar tu aplicación.
Desarrollo y CI/CD:
- AWS CodeCommit – Repositorios privados (similar a GitHub).
- AWS CodeDeploy – Para automatizar despliegues.
- AWS CodePipeline – Para crear pipelines completos de CI/CD.
IA y machine learning:
- Amazon Transcribe / Translate / Comprehend – Procesamiento de lenguaje natural (voz, traducción, análisis de texto).
- Amazon Rekognition – Análisis de imágenes y videos.
- Amazon SageMaker – Entrenamiento y despliegue de modelos de machine learning.
- Amazon QuickSight – Visualización de datos.
Pruebas de apps móviles:
- AWS Device Farm – Ejecuta tus apps móviles en dispositivos reales para pruebas automáticas.
Y la lista sigue. La realidad es que con AWS puedes llegar a tener toda tu aplicación corriendo dentro de su infraestructura, desde lo más básico hasta lo más avanzado.
Conclusión
Como ves, AWS tiene literalmente un servicio para cada cosa que te puedas imaginar, pero eso no significa que debas aprenderlos todos desde el primer día. Si eres un desarrollador web o móvil que quiere crear aplicaciones típicas con frontend, backend, base de datos y dominio, lo único que necesitas es conocer bien los servicios clave: RDS o DynamoDB para datos, App Runner o Lambda para tu API, Amplify o S3 + CloudFront para el frontend, Route 53 para el dominio e IAM para manejar permisos.
Con solo eso ya puedes desplegar una aplicación completa en AWS sin perderte en su catálogo infinito. Y claro, si tu proyecto crece, siempre tendrás a mano esos servicios adicionales para llevarlo al siguiente nivel.
En pocas palabras: empieza con lo esencial, construye tu aplicación, y solo cuando lo necesites ve explorando más servicios. AWS es gigante, pero no necesitas ser experto en todo para sacarle provecho.