Neste curso você criará vários microsserviços em Java 21, usando o framework Spring Boot V3 e contêineres Docker, construindo uma aplicação backend para interagir com recursos da Amazon Web Services, como os mencionados abaixo. Esses recursos serão criados na AWS usando o AWS Cloud Development Kit (CDK) V2, uma forma moderna de modelar e provisionar infraestrutura na AWS. O AWS CDK é uma das melhores ferramentas de infraestrutura como código, ou IaC, para AWS.
Spring Boot V3 é um poderoso framework Java para construir aplicações server-side com anotações, controllers, services, interceptadores de requisições e muito mais.
O diagrama a seguir ilustra a arquitetura do projeto que será construída neste curso:

Este curso abordará os seguintes recursos e ferramentas da AWS com exercícios práticos:
- AWS ECS: o Elastic Container Service é o serviço de orquestração de contêineres da AWS. Com este serviço é possível gerenciar a execução de contêineres Docker de microsserviços de forma robusta e escalável. E com o AWS Fargate, o serviço de computação Serverless para contêineres da Amazon Web Services, não é necessário criar instâncias EC2, reduzindo o custo operacional de aplicações baseadas em contêineres;
- AWS ECR: com o Elastic Container Registry da AWS é possível criar repositórios privados para armazenar as imagens Docker de contêineres dos microsserviços;
- AWS VPC: com a Virtual Private Cloud é possível proteger a infraestrutura com subnets privadas e políticas de segurança de rede para regras de tráfego de entrada e saída;
- AWS ALB: o Application Load Balancer da AWS permite que o tráfego HTTP de entrada seja balanceado entre todas as instâncias disponíveis da aplicação, e com os grupos de destino integrados, cada instância pode ser monitorada para receber tráfego apenas se estiver saudável;
- API Gateway REST: com o Amazon API Gateway é possível proteger a API RESTda aplicação, além de realizar validação de parâmetros de consulta e do corpo das requisições;
- CloudWatch Logs: responsável por concentrar os logs das aplicações e suas métricas. As aplicações que serão criadas neste curso gerarão logs no CloudWatch Logs em formato JSON, usando a biblioteca log4j2. Desta forma, podemos injetar parâmetros nos logs, para serem usados em consultas no console AWS CloudWatch Logs Insights;
- CloudWatch Alarms: com os alarmes do CloudWatch será possível monitorar ocorrências anormais das aplicações e recursos da AWS;
- CloudWatch Container Insights: com o Container Insights é possível agregar informações de monitoramento das aplicações executadas no AWS ECS, incluindo seus logs;
- DynamoDB: o DynamoDB é um poderoso serviço gerenciado de banco de dados NoSQL e não-relacional. Este curso apresenta o uso do DynamoDB enhanced client do AWS SDK V2 para Java, que é uma biblioteca de alto nível que permite mapear classes do lado do cliente para tabelas do DynamoDB;
- SQS: o SQS, ou Simple Queue Service, é um serviço de filas que permite comunicação assíncrona entre aplicações, para troca de mensagens e eventos;
- SNS: com o SNS, ou Simple Notification Service, é possível criar tópicos e publicar mensagens para serem recebidas por vários recursos e aplicações;
- S3: o S3, ou Simple Storage Service, possui armazenamento de arquivos sem provisionamento de servidor. Além disso, o S3 gera notificações quando arquivos são adicionados a ele;
- X-Ray: o AWS X-Ray é um serviço que permite análise e depuração de aplicações distribuídas;
- IAM: o Identity and Access Management da AWS permite o gerenciamento de funções e permissões, concedidas a usuários e serviços para acessar outros recursos da AWS;
- AWS Cost Explorer: com o Cost Explorer da AWS é possível gerar gráficos de custo sobre o consumo de recursos, divididos por tipos de recursos e tags, que podem identificar aplicações e suas partes.
Esses recursos serão criados na AWS usando o AWS Cloud Development Kit - CDK, uma forma moderna de modelar e provisionar infraestrutura na AWS usando a linguagem Java. O AWS CDK é ideal se você deseja trabalhar nas áreas de DevOps e infraestrutura como código.
Com isso você também aprenderá a usar o AWS SDK V2 para Java, que é um conjunto de bibliotecas desenvolvidas pela própria AWS para utilizar seus serviços.
O AWS SDK V2 para Java está totalmente integrado com o framework Spring Boot V3 e com as bibliotecas do JDK 21, então é muito fácil acessar os recursos da AWS de forma elegante, criando operações para serem executadas concorrentemente.
Se você já possui certificação AWS e está buscando experiência prática, você pode obtê-la com este curso, através dos exercícios que serão oferecidos aqui.
Este curso tem um bom equilíbrio entre exercícios teóricos e práticos. Você pode esperar explicações detalhadas com diagramas e implementações bem guiadas, sempre com um propósito bem definido.
Nota: Este curso não tem como objetivo preparar você para um exame de certificação AWS. Existem outros cursos específicos para certificações AWS.
Também incluído no pacote, quando você compra este curso:
- Suporte ao aluno, através da seção de perguntas e respostas da plataforma;
- Código-fonte do projeto para ajudá-lo no início do curso;
- Quizzes para testar seu conhecimento sobre os tópicos do curso;
- Exercícios práticos para você praticar, com soluções detalhadas oferecidas pelo instrutor;