En este curso crearás varios microservicios en TypeScript, usando el framework NestJS y contenedores Docker, construyendo una aplicación backend para interactuar con recursos de Amazon Web Services, como los mencionados a continuación. Estos recursos serán creados en AWS usando el AWS Cloud Development Kit (CDK) V2, una forma moderna de modelar y aprovisionar infraestructura como código (IaC) en AWS. El AWS CDK es una de las mejores herramientas de infraestructura como código, o IaC, para AWS.
NestJS es un poderoso framework NodeJS para construir aplicaciones del lado del servidor con anotaciones, controladores, servicios, interceptores de solicitud y mucho más.
El siguiente diagrama ilustra la arquitectura del proyecto que se construirá en este curso:

Este curso cubrirá los siguientes recursos y herramientas de AWS con ejercicios prácticos:
- AWS ECS: el Elastic Container Service es el servicio de orquestación de contenedores de AWS. Con este servicio es posible gestionar la ejecución de contenedores de microservicios basados en Docker de forma robusta y escalable. Y con el AWS Fargate, el Serverless compute para contenedores de Amazon Web Services, no es necesario crear instancias EC2, reduciendo el costo operativo de aplicaciones basadas en contenedores;
- AWS ECR: con el Elastic Container Registry de AWS es posible crear repositorios privados para almacenar las imágenes Docker de los contenedores de los microservicios;
- AWS VPC: con el Virtual Private Cloud es posible proteger la infraestructura con subredes privadas y políticas de seguridad de red para reglas de tráfico de entrada y salida;
- AWS ALB: el Application Load Balancer de AWS permite que el tráfico HTTP de entrada sea balanceado entre todas las instancias de aplicación disponibles, y con los target groups integrados, cada instancia puede ser monitoreada para recibir tráfico solo si está saludable;
- API Gateway REST: con el Amazon API Gateway es posible proteger la REST API de la aplicación, además de realizar la validación de los parámetros de la query string y del cuerpo de las solicitudes;
- CloudWatch Logs: responsable de concentrar los logs de las aplicaciones y sus métricas. Las aplicaciones que se crearán en este curso generarán logs en CloudWatch Logs en formato JSON. De esta forma, podemos inyectar parámetros en los logs, para ser utilizados en consultas en la consola de AWS CloudWatch Logs Insights;
- CloudWatch Alarms: con las alarmas de CloudWatch será posible monitorear las ocurrencias anormales de las aplicaciones y recursos de AWS;
- CloudWatch Container Insights: con el Container Insights es posible agregar información de monitoreo de las aplicaciones en ejecución en AWS ECS, incluyendo sus logs;
- DynamoDB: el DynamoDB es un poderoso servicio gestionado de base de datos NoSQL y no relacional;
- SQS: o Simple Queue Service, es un servicio de cola que permite comunicación asíncrona entre aplicaciones, para intercambio de mensajes y eventos;
- SNS: con el SNS, o Simple Notification Service, es posible crear tópicos y publicar mensajes para ser recibidos por diversos recursos y aplicaciones;
- S3: el S3, o Simple Storage Service, posee un almacenamiento de archivos sin aprovisionamiento de servidor. Además, el S3 genera notificaciones cuando se añaden archivos a él;
- X-Ray: el AWS X-Ray es un servicio que permite análisis y depuración de aplicaciones distribuidas;
- IAM: el Identity and Access Management de AWS permite la gestión de funciones y permisos, concedidos a usuarios y servicios para acceder a otros recursos de AWS;
- AWS Cost Explorer: con el Cost Explorer de AWS es posible generar gráficos de costo sobre el consumo de recursos, divididos por tipos de recursos y etiquetas, que pueden identificar aplicaciones y sus partes.
Estos recursos serán creados en AWS usando el AWS Cloud Development Kit - CDK V2, una forma moderna de modelar y aprovisionar infraestructura como código en AWS usando el lenguaje TypeScript. El AWS CDK es ideal si deseas trabajar como DevOps en la infraestructura de las aplicaciones alojadas en AWS.
Con esto también aprenderás a usar el AWS SDK V3 para JavaScript, que es un conjunto de bibliotecas desarrolladas por la propia AWS para acceder a sus servicios a través de aplicaciones, como las que se desarrollarán aquí utilizando NestJS. Entonces aprenderás a integrar el AWS SDK V3 en una aplicación construida con NestJS.
Con el AWS SDK V3 para JavaScript es muy fácil acceder a los recursos de AWS de forma elegante, creando operaciones para ser ejecutadas de forma concurrente.
Si ya tienes certificación AWS y estás buscando experiencia práctica, puedes obtenerla con este curso, a través de los ejercicios que se ofrecerán aquí.
Este curso tiene un buen equilibrio entre ejercicios teóricos y prácticos. Puedes esperar explicaciones detalladas con diagramas e implementaciones bien guiadas, siempre con un propósito bien definido.
Nota: Este curso no tiene como objetivo prepararte para un examen de certificación AWS. Existen otros cursos que son específicos para certificaciones AWS.
También incluido en el paquete, al adquirir este curso:
- Soporte al estudiante, a través de la sección de preguntas y respuestas de la plataforma;
- Código fuente del proyecto para ayudar al inicio del curso;
- Cuestionarios para probar tus conocimientos sobre los temas del curso;
- Ejercicios prácticos para practicar, con soluciones detalladas ofrecidas por el instructor;
