En este curso crearás varios microservicios en Java 21, utilizando el framework Spring Boot V3 y contenedores Docker, construyendo una aplicación backend para interactuar con los recursos de Amazon Web Services, como los mencionados a continuación. Estos recursos se crearán en AWS utilizando el AWS Cloud Development Kit (CDK) V2, una forma moderna de modelar y aprovisionar infraestructura en AWS. El AWS CDK es una de las mejores herramientas de infraestructura como código, o IaC, para AWS.
Spring Boot V3 es un potente framework de Java para construir aplicaciones del lado del servidor con anotaciones, controladores, servicios, interceptores de solicitudes 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 AWS Fargate, el servicio de computación Serverless para contenedores de Amazon Web Services, no es necesario crear instancias EC2, reduciendo el costo operativo de las 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 contenedores de los microservicios;
- AWS VPC: con la Virtual Private Cloud es posible asegurar la infraestructura con subredes privadas y políticas de seguridad de red para reglas de tráfico entrante y saliente;
- AWS ALB: el Application Load Balancer de AWS permite que el tráfico HTTP entrante se equilibre entre todas las instancias disponibles de la aplicación, y con los grupos objetivo integrados, cada instancia puede ser monitoreada para recibir tráfico solo si está en buen estado;
- API Gateway REST: con el Amazon API Gateway es posible proteger la API REST de la aplicación, así como realizar validación de parámetros de consulta y del cuerpo de las solicitudes;
- CloudWatch Logs: responsable de concentrar los registros de las aplicaciones y sus métricas. Las aplicaciones que se crearán en este curso generarán registros en CloudWatch Logs en formato JSON, utilizando la biblioteca log4j2. De esta manera, podemos inyectar parámetros en los registros, para ser utilizados en consultas en la consola 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 Container Insights es posible agregar información de monitoreo de las aplicaciones que se ejecutan en AWS ECS, incluidos sus registros;
- DynamoDB: el DynamoDB es un potente servicio gestionado de base de datos NoSQL y no relacional. Este curso presenta el uso del cliente mejorado de DynamoDB del AWS SDK V2 para Java, que es una biblioteca de alto nivel que permite mapear clases del lado del cliente a tablas de DynamoDB;
- SQS: el SQS, o Simple Queue Service, es un servicio de cola que permite la comunicación asíncrona entre aplicaciones, para intercambiar mensajes y eventos;
- SNS: con el SNS, o Simple Notification Service, es posible crear temas y publicar mensajes para ser recibidos por varios recursos y aplicaciones;
- S3: el S3, o Simple Storage Service, tiene un almacenamiento de archivos sin aprovisionamiento de servidor. Además, el S3 genera notificaciones cuando se agregan archivos;
- X-Ray: el AWS X-Ray es un servicio que permite el análisis y la depuración de aplicaciones distribuidas;
- IAM: el Identity and Access Management de AWS permite la gestión de roles y permisos, otorgados 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 costos sobre el consumo de recursos, divididos por tipos de recursos y etiquetas, que pueden identificar aplicaciones y sus partes.
Estos recursos se crearán en AWS utilizando el AWS Cloud Development Kit - CDK, una forma moderna de modelar y aprovisionar infraestructura en AWS utilizando el lenguaje Java. El AWS CDK es ideal si quieres trabajar en los campos de DevOps e infraestructura como código.
Con esto también aprenderás a utilizar el AWS SDK V2 para Java, que es un conjunto de bibliotecas desarrolladas por AWS para utilizar sus servicios.
El AWS SDK V2 para Java está completamente integrado con el framework Spring Boot V3 y con las bibliotecas de JDK 21, por lo que es muy fácil acceder a los recursos de AWS de manera elegante, creando operaciones para ejecutarse concurrentemente.
Si ya tienes certificación de 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 está destinado a prepararte para un examen de certificación de AWS. Hay otros cursos específicos para certificaciones de AWS.
También incluido en el paquete, cuando compras 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 ayudarte al inicio del curso;
- Cuestionarios para evaluar tu conocimiento sobre los temas del curso;
- Ejercicios prácticos para que practiques, con soluciones detalladas ofrecidas por el instructor;
