Neste curso você criará vários microsserviços em TypeScript, usando o framework NestJS 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 maneira moderna de modelar e provisionar infraestrutura como código (IaC) na AWS. O AWS CDK é uma das melhores ferramentas de infraestrutura como código, ou IaC, para AWS.
NestJS é um poderoso framework NodeJS para construir aplicações do lado do servidor com anotações, controladores, serviços, interceptadores de requisição e muito mais.
O diagrama a seguir ilustra a arquitetura do projeto que será construída neste curso:

Este curso cobrirá 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 de microsserviços baseados em Docker de forma robusta e escalável. E com o AWS Fargate, o Serverless compute 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 dos contêineres dos microsserviços;
- AWS VPC: com o Virtual Private Cloud é possível proteger a infraestrutura com sub-redes 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 de aplicação disponíveis, e com os target groups integrados, cada instância pode ser monitorada para receber tráfego somente se estiver saudável;
- API Gateway REST: com o Amazon API Gateway é possível proteger a REST API da aplicação, além de realizar a validação dos parâmetros da query string 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 nesse curso gerarão logs no CloudWatch Logs em formato JSON. Dessa forma, podemos injetar parâmetros nos logs, para serem utilizados em consultas no console do AWS CloudWatch Logs Insights;
- CloudWatch Alarms: com os alarmes do CloudWatch será possível monitorar as 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 em execução no AWS ECS, incluindo seus logs;
- DynamoDB: o DynamoDB é um poderoso serviço gerenciado de banco de dados NoSQL e não relacional;
- SQS: ou Simple Queue Service, é um serviço de fila 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 diversos recursos e aplicações;
- S3: o S3, ou Simple Storage Service, possui um 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 V2, uma maneira moderna de modelar e provisionar infraestrutura como código na AWS usando a linguagem TypeScript. O AWS CDK é ideal se você deseja trabalhar como DevOps na infraestrutura das aplicações hospedadas na AWS.
Com isso você também aprenderá a usar o AWS SDK V3 para JavaScript, que é um conjunto de bibliotecas desenvolvidas pela própria AWS para acessar seus serviços através de aplicações, como as que serão desenvolvidas aqui utilizando o NestJS. Então você aprenderá a integrar o AWS SDK V3 em uma aplicação construída com o NestJS.
Com o AWS SDK V3 para JavaScript é muito fácil acessar os recursos da AWS de forma elegante, criando operações para serem executadas de forma concorrente.
Se você já possui certificação AWS e está procurando experiência prática, você pode obtê-la com esse curso, através dos exercícios que serão oferecidos aqui.
Esse 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.
Observação: Este curso não tem como objetivo prepará-lo para um exame de certificação AWS. Existem outros cursos que são específicos para certificações AWS.
Também incluso no pacote, ao adquirir este curso:
- Suporte ao aluno, através da seção de perguntas e respostas da plataforma;
- Código fonte do projeto para ajudar no início do curso;
- Quizzes para testar seus conhecimentos sobre os tópicos do curso;
- Exercícios práticos para praticar, com soluções detalhadas oferecidas pelo instrutor;