
Apresentação da dinâmica do curso.
Conceitos iniciais sobre AWS.
Apresentação do projeto do curso, que será desenvolvido como forma de aplicação prática dos conceitos apresentados.
Instruções sobre a preparação da conta da AWS.
Instruções sobre a preparação do ambiente de desenvolvimento, incluindo instalações de ferramentas.
Introdução aos conceitos iniciais de AWS CloudFormation e porque ele será utilizado durante o curso.
Analisando stacks do AWS CloudFormation, bem como seus eventos, recursos e propriedades.
Explicação sobre o que acontece quando uma stack do AWS CloudFormation é apagada.
Conceitos iniciais do AWS CDK e como ele interage com o AWS CloudFormation.
Passos para a criação do usuário do AWS IAM para ser utilizado na configuração final do AWS CDK.
Criação do projeto com o AWS CDK, utilizando o TypeScript como linguagem de programação.
Análise da estrutura de pastas e arquivos do projeto criado com o AWS CDK.
Instalação de outras bibliotecas de apoio ao processo de criação do código das funções para o AWS Lambda.
Apresentação dos comandos inicias do AWS CDK para inspeção do projeto criado.
Apresentação dos conceitos iniciais das funções do AWS Lambda, como eventos, triggers e custos de sua execução.
Apresentação da estratégia do serviço de gerenciamento de produtos, utilizando os recursos da AWS, como funções Lambda, tabela do DynamoDB e API Gateway.
Criação da stack da aplicação de produtos e a primeira função Lambda, com o AWS CDK.
Criação do código inicial da função e busca de produtos, utilizando o TypeScript como linguagem de programação.
Técnicas para facilitar o processo de tracing distribuído, capturando identificadores das requisições no API Gateway e das execuções da função Lambda.
Geração de logs durante a execução das funções Lambda para aparecerem no AWS CloudWatch Logs.
Conceitos iniciais do recurso API Gateway da AWS, como validação de requisições e noções sobre custos.
Criação da stack para abrigar o recurso do API Gateway, utilizando o AWS CDK.
Criação da primeira integração do método do API Gateway para invocar a função Lambda de busca de produtos, utilizando o AWS CDK.
Configurando o API Gateway para gerar logs das requisições, utilizando o CloudWatch Logs.
Organização da criação das stacks, dentro do projeto do AWS CDK, incluindo as relações de dependência.
Deployment das stacks com comandos do AWS CDK.
Testes iniciais da primeira operação criada para invocar a função do AWS Lambda através da integração com o AWS API Gateway.
Análise dos recursos criados, com foco nas configurações e parâmetros durante sua construção no projeto do AWS CDK.
Visualização e análise dos logs gerados pela função Lambda, no AWS CloudWatch Logs.
Visualização dos logs das requisições feitas no AWS API Gateway, dentro do AWS CloudWatch Logs.
Utilizando o AWS CloudWatch Logs Insight para visualizar os logs do API Gateway e da função Lambda ao mesmo tempo, filtrando pelo requestId.
Como destruir todos os recursos criados com o projeto do AWS CDK, através do comando destroy.
Apresentação dos conceitos iniciais de Lambda Layers.
Estratégia do uso de Lambda Layer no serviço de gerenciamento de produtos.
Conceitos inicias do AWS DynamoDB e suas tabelas, incluindo noções de custo.
Apresentação da estratégia da tabela de produtos no AWS DynamoDB.
Criação da tabela de produtos no AWS DynamoDB utilizando o AWS CDK.
Atribuição da permissão ao papel do AWS IAM assumido pela função Lambda, para operações de leitura na tabela do AWS DynamoDB, utilizando o AWS CDK.
Criação da função Lambda de administração de produtos.
Como criar novas operações no AWS API Gateway do ECommerce.
Criação da stack do Lambda Layer a ser utilizado nas funções de pesquisa e administração de produtos.
Configuração do acesso ao Lambda Layer pelas funções de produtos.
Configuração do projeto para localizar o Lambda Layer em tempo de desenvolvimento e compilação.
Criação do repositório com as operações na tabela de produtos, dentro do Lambda Layer.
Criação do método para buscar todos os produtos na tabela do AWS DynamoDB, utilizando o AWS SDK.
Criação do método de busca de um produto pela sua chave primária.
Criação do método para persistir um produto na tabela do AWS DynamoDB.
Criação do método para excluir um produto, através de sua chave primária, da tabela do AWS DynamoDB.
Criação do método para alterar um produto, através de sua chave primária, da tabela do AWS DynamoDB.
Utilização do Lambda Layer criado, dentro da função de pesquisa de produtos.
Utilização do Lambda Layer criado, dentro da função de administração de produtos.
Teste da integração do API Gateway com as funções de produtos e todas as suas operações.
Visualização dos itens na tabela de produtos do AWS DynamoDB, através de seu console web.
Detalhes de como um novo atributo pode ser adicionado aos novos itens de uma tabela do AWS DynamoDB, sem impactar os itens existentes.
Introdução aos conceitos iniciais do AWS X-Ray.
Criando a permissão para que as funções Lambda possam gerar os traços de suas execuções no AWS X-Ray.
Preparando o código das funções Lambda para instrumentar suas execuções e todas as operações realizadas pelo AWS SDK, quando acessarem outros recursos da AWS.
Visualizando os traços do AWS X-Ray durante a execução das operações do serviço de gerenciamento de produtos e o tempo gasto em cada acesso à tabela do AWS DynamoDB.
Apresentação dos conceitos do AWS CloudWatch Lambda Insights.
Configuração das funções para gerarem informações no AWS CloudWatch Insights.
Visualização dos gráficos adicionais da execução das funções Lambda no AWS CloudWatch Insights.
Nesse curso você irá criar aplicações serverless utilizando TypeScript e NodeJS, utilizando serviços e frameworks da AWS como:
AWS Lambda: com ele é possível criar funções em NodeJS e TypeScript para responder a eventos diversos, como requisições HTTP, mensagens de tópicos ou outros eventos, de forma síncrona ou assíncrona. Funções Lambda são a base para a construção de aplicações serverless;
AWS Cloud Development Kit: o AWS CDK é um poderoso framework criado pela própria AWS para o modelamento e provisionamento de recursos na AWS. Com ele é possível criar recursos como funções Lambda, tabelas do DynamoDB ou API Gateway utilizando TypeScript, ao invés de se utilizar templates do CloudFormation. O código em TypeScript ainda pode ser utilizado em pipelines para deployment automatizado. O AWS CDK é um das melhores ferramentas de infraestrutura como código, ou IaC, para a AWS;
REST API com o AWS API Gateway: com ele é possível construir APIs de forma descomplicada, se integrando perfeitamente com funções Lambda, além de oferecer validação do corpo das requisições, métodos e parâmetros da API;
AWS Lambda Layers: utilizando-se Lambda Layers, é possível construir funções Lambda reaproveitando e compartilhando código entre as funções;
AWS SNS: o AWS Simple Notification Service é um recurso muito utilizado para criação de mecanismos de notificações para diversas aplicações ou outros serviços;
AWS SQS: o AWS Simple Queue Service é um recurso que permite a criação de filas para entrega de mensagens de forma rápida e confiável, possibilitando a criação de um mecanismo assíncrono de comunicação entre aplicações;
AWS DynamoDB: esse é um poderoso serviço de banco de dados NoSQL, que permite a criação de tabelas, sem a necessidade de se criar um servidor, com características de exclusão automática de dados, escalabilidade e muito mais. Também é uma importante parte na criação de aplicações serverless, juntamente com as funções Lambda;
AWS S3: o AWS Simple Storage Service permite a criação de buckets para armazenamento seguro de arquivos. Além disso é possível configurar eventos a serem gerados quando esses arquivos são colocados nesses buckets, fazendo com outras aplicações sejam avisadas desses eventos;
WebSocket API com o AWS API Gateway: com o AWS API Gateway também é possível construir APIs WebSocket, que permitem a comunicação bi-direcional e assíncrona entre clientes conectados e funções do AWS Lambda, que podem ser invocadas por ações baseadas nas mensagens enviadas pelos clientes. Junto com as funções Lambda, o API Gateway WebSocket se torna uma excelente opção para aplicações serverless que necessitam de conexões persistentes e comunicação assíncrona com seus clientes;
DynamoDB Stream: com essa funcionalidade, as tabelas do AWS DynamoDB podem gerar eventos a serem tratados por funções Lambda, sempre que um item é inserido, alterado ou excluído;
AWS SES: com o AWS Simple Email Service, e-mails podem ser enviados de funções do AWS Lambda de forma fácil;
AWS EventBridge: esse serviço permite a geração e roteamento de eventos de forma mais desacoplada, através da criação de regras baseadas em parâmetros altamente configuráveis;
AWS IAM: com o AWS Identity Access and Management, o acesso a recursos da AWS podem ser controlados com precisão, através da criação de papéis e políticas que são assumidos pelas funções do AWS Lambda;
AWS X-Ray: com esse serviço, a instrumentação de funções Lambda é levada a um nível superior, com a possibilidade de entender o tempo gasto em cada parte da sua execução, além de visualizar o tempo gasto com outros recursos da AWS, como tabelas do AWS DynamoDB e tópicos do AWS SNS;
AWS CloudWatch Alarms: com esse serviço do AWS CloudWatch é possível criar alarmes que agregam logs gerados por funções do AWS Lambda, além de monitorar parâmetros da infraestrutura, como número de mensagens disponíveis em filas do AWS SQS e consumo de tabelas do AWS DynamoDB;
AWS Cost Explorer: com esse serviço é possível obter relatórios e gráficos de consumo dos recursos, divididos por tipo de recurso e tags, que podem identificar aplicações e suas partes. Com ele é possível controlar os custos da sua infraestrutura.
Com isso você aprenderá também a utilizar o AWS SDK, que é um conjunto de bibliotecas desenvolvido pela própria AWS para utilizar seus serviços.
Esses recursos serão criados na AWS utilizando o AWS Cloud Development Kit - CDK, uma forma moderna de modelagem e provisionamento de infraestrutura na AWS, utilizando a linguagem TypeScript. O AWS CDK é ideal se você deseja trabalhar na área de DevOps e Infrastructure as Code.
Você também aprenderá como monitorar os serviços através de gráficos e métricas, além de utilizar o CloudWatch Insights, para visualização e pesquisa de logs das aplicações.
Aprenda tudo isso com explicações detalhadas e exercícios práticos, onde você poderá testar suas habilidades e aplicar os conceitos aprendidos. Ao final desse curso, você estará confiante para arquitetar e desenvolver serviços na AWS de forma escalável e robusta.
Se você já possui certificação da AWS e está procurando uma experiência prática, você pode obter isso com esse curso, através dos exercícios que serão oferecidos aqui.
Você também poderá baixar os códigos fontes dos projetos que serão desenvolvidos ao longo do curso.
Esse curso possui um bom balanceamento entre teoria e prática. Então você pode esperar explicações detalhadas com diagramas e implementações bem guiadas, sempre com um propósito bem definido.
Observação: o intuito desse curso não é te preparar para uma prova de certificação da AWS. Existem outros cursos que são específicos para as certificações da AWS.
O que também está incluído no pacote ao adquirir o curso:
Suporte ao aluno, através da sessão de perguntas e respostas da plataforma;
Código fonte de partes da aplicação que será feita, disponível para download;
Quizzes para você testar seu conhecimento do que foi ensinado;
Exercícios práticos com soluções detalhadas feitas pelo instrutor;
Código de cupom da JetBrains. Ele dá acesso a qualquer IDE da JetBrains de sua escolha por 6 meses.
Quem sou eu, o instrutor:
Trabalho diariamente com as tecnologias apresentadas nesse curso por quase 4 anos, atuando como desenvolvedor de soluções hospedadas na AWS;
Tenho lecionado disciplinas de cloud computing, principalmente AWS, em curso de pós-graduação há quase 10 anos;
Tenho livros publicados sobre o assunto;
Faço parte da comunidade global AWS Community Builder 2020/2021/2022, criada pela própria AWS.
Créditos para as músicas utilizadas no curso: Bensound