AWS Serverless com TypeScript e AWS Cloud Development Kit
- Descrição
- Currículo
- FAQ
- Revisões
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;
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
-
1Apresentação do cursoVídeo Aula
Apresentação da dinâmica do curso.
-
2Conceitos de AWSVídeo Aula
Conceitos iniciais sobre AWS.
-
3Apresentação do projeto do cursoVídeo Aula
Apresentação do projeto do curso, que será desenvolvido como forma de aplicação prática dos conceitos apresentados.
-
4Preparação da conta da AWSVídeo Aula
Instruções sobre a preparação da conta da AWS.
-
5Preparação do ambiente de desenvolvimentoVídeo Aula
Instruções sobre a preparação do ambiente de desenvolvimento, incluindo instalações de ferramentas.
-
6Introdução ao AWS CloudFormationVídeo Aula
Introdução aos conceitos iniciais de AWS CloudFormation e porque ele será utilizado durante o curso.
-
7Analisando stacks, eventos, recursos e parâmetrosVídeo Aula
Analisando stacks do AWS CloudFormation, bem como seus eventos, recursos e propriedades.
-
8StacksQuestionário
Stacks, eventos, recursos e parâmetros.
-
9Apagando uma stackVídeo Aula
Explicação sobre o que acontece quando uma stack do AWS CloudFormation é apagada.
-
10Excluindo uma stackQuestionário
Entenda o que acontece quando uma stack é excluída.
-
11Introdução ao AWS CDKVídeo Aula
Conceitos iniciais do AWS CDK e como ele interage com o AWS CloudFormation.
-
12Criação do usuário IAM para o AWS CDKVídeo Aula
Passos para a criação do usuário do AWS IAM para ser utilizado na configuração final do AWS CDK.
-
13[IMPORTANTE] - Versões de bibliotecas dentro do projetoTexto
-
14Criando o projeto do ECommerceVídeo Aula
Criação do projeto com o AWS CDK, utilizando o TypeScript como linguagem de programação.
-
15Analisando a estrutura do projeto CDKVídeo Aula
Análise da estrutura de pastas e arquivos do projeto criado com o AWS CDK.
-
16Instalando as primeiras bibliotecasVídeo Aula
Instalação de outras bibliotecas de apoio ao processo de criação do código das funções para o AWS Lambda.
-
17Comandos iniciais do AWS CDKVídeo Aula
Apresentação dos comandos inicias do AWS CDK para inspeção do projeto criado.
-
18AWS CDKQuestionário
O que é AWS CDK?
-
19Introdução a funções do AWS LambdaVídeo Aula
Apresentação dos conceitos iniciais das funções do AWS Lambda, como eventos, triggers e custos de sua execução.
-
20Estratégia das funções de produtos do ECommerceVídeo Aula
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.
-
21Criando a stack da função Lambda de pesquisa de produtosVídeo Aula
Criação da stack da aplicação de produtos e a primeira função Lambda, com o AWS CDK.
-
22[OBRIGATÓRIO] - Criando funções Lambda com o NodeJS 20Texto
-
23Criando o código da função Lambda de pesquisa de produtosVídeo Aula
Criação do código inicial da função e busca de produtos, utilizando o TypeScript como linguagem de programação.
-
24Capturando o RequestId dentro da funçãoVídeo Aula
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.
-
25Gerando logs na função LambdaVídeo Aula
Geração de logs durante a execução das funções Lambda para aparecerem no AWS CloudWatch Logs.
-
26Introdução ao AWS API GatewayVídeo Aula
Conceitos iniciais do recurso API Gateway da AWS, como validação de requisições e noções sobre custos.
-
27Criando a stack do API GatewayVídeo Aula
Criação da stack para abrigar o recurso do API Gateway, utilizando o AWS CDK.
-
28Integrando o API Gateway com a função Lambda de pesquisa de produtosVídeo Aula
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.
-
29Gerando logs no API GatewayVídeo Aula
Configurando o API Gateway para gerar logs das requisições, utilizando o CloudWatch Logs.
-
30Configurando a permissão do API Gateway para geração de logs no CloudWatch LogsTexto
-
31Organizando as stacksVídeo Aula
Organização da criação das stacks, dentro do projeto do AWS CDK, incluindo as relações de dependência.
-
32Deploy das stacksVídeo Aula
Deployment das stacks com comandos do AWS CDK.
-
33Testando a integração do API Gateway com a função LambdaVídeo Aula
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.
-
34Analisando os recursos criadosVídeo Aula
Análise dos recursos criados, com foco nas configurações e parâmetros durante sua construção no projeto do AWS CDK.
-
35Visualizando os logs da função Lambda no CloudWatchVídeo Aula
Visualização e análise dos logs gerados pela função Lambda, no AWS CloudWatch Logs.
-
36Visualizando os logs do API Gateway no CloudWatchVídeo Aula
Visualização dos logs das requisições feitas no AWS API Gateway, dentro do AWS CloudWatch Logs.
-
37Agrupando os logs no CloudWatch InsightsVídeo Aula
Utilizando o AWS CloudWatch Logs Insight para visualizar os logs do API Gateway e da função Lambda ao mesmo tempo, filtrando pelo requestId.
-
38[Opcional] - Destruindo os recursos criadosVídeo Aula
Como destruir todos os recursos criados com o projeto do AWS CDK, através do comando destroy.
-
39O que são Lambda Layers e para que servermVídeo Aula
Apresentação dos conceitos iniciais de Lambda Layers.
-
40Utilizando Lambda Layers no serviço de produtosVídeo Aula
Estratégia do uso de Lambda Layer no serviço de gerenciamento de produtos.
-
41[OBRIGATÓRIO] - Criando Lambda Layers com o NodeJS 20Texto
-
42Introdução do AWS DynamoDBVídeo Aula
Conceitos inicias do AWS DynamoDB e suas tabelas, incluindo noções de custo.
-
43Estratégia da tabela de produtos no DynamoDBVídeo Aula
Apresentação da estratégia da tabela de produtos no AWS DynamoDB.
-
44Criando a tabela do DynamoDB com o AWS CDKVídeo Aula
Criação da tabela de produtos no AWS DynamoDB utilizando o AWS CDK.
-
45Atribuindo a permissão à função de pesquisa para acessar a tabela do DynamoDBVídeo Aula
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.
-
46Criando a função Lamba de administração de produtosVídeo Aula
Criação da função Lambda de administração de produtos.
-
47[OBRIGATÓRIO] - Criando funções Lambda com o NodeJS 20Texto
-
48Adicionando as demais operações do serviço de produtos no API GatewayVídeo Aula
Como criar novas operações no AWS API Gateway do ECommerce.
-
49Preparando o código da função de pesquisa de produtosVídeo Aula
-
50Preparando o código da função de administração de produtosVídeo Aula
-
51Testando a integração das funções com o API GatewayVídeo Aula
-
52Criando a stack do Lambda Layer de produtosVídeo Aula
Criação da stack do Lambda Layer a ser utilizado nas funções de pesquisa e administração de produtos.
-
53[OBRIGATÓRIO] - Criando Lambda Layers com o NodeJS 20Texto
-
54Preparando as funções para utilizarem o Lambda Layer de produtosVídeo Aula
Configuração do acesso ao Lambda Layer pelas funções de produtos.
-
55Configurando o projeto para o novo Lambda LayerVídeo Aula
Configuração do projeto para localizar o Lambda Layer em tempo de desenvolvimento e compilação.
-
56Criando o modelo de produtosVídeo Aula
-
57Criando o repositório de produtosVídeo Aula
Criação do repositório com as operações na tabela de produtos, dentro do Lambda Layer.
-
58Buscando a lista de todos os produtos no DynamoDBVídeo Aula
Criação do método para buscar todos os produtos na tabela do AWS DynamoDB, utilizando o AWS SDK.
-
59Localizando um produto no DynamoDB pelo seu IdVídeo Aula
Criação do método de busca de um produto pela sua chave primária.
-
60Persistindo um produto no DynamoDBVídeo Aula
Criação do método para persistir um produto na tabela do AWS DynamoDB.
-
61Excluindo um produto no DynamoDB pelo seu IdVídeo Aula
Criação do método para excluir um produto, através de sua chave primária, da tabela do AWS DynamoDB.
-
62Alterando um produto no DynamoDB pelo seu IdVídeo Aula
Criação do método para alterar um produto, através de sua chave primária, da tabela do AWS DynamoDB.
-
63Utilizando o Lambda Layer na função de pesquisa de produtosVídeo Aula
Utilização do Lambda Layer criado, dentro da função de pesquisa de produtos.
-
64Utilizando o Lambda Layer na função de administração de produtosVídeo Aula
Utilização do Lambda Layer criado, dentro da função de administração de produtos.
-
65Criando produtos através de sua API com o PostmanVídeo Aula
Teste da integração do API Gateway com as funções de produtos e todas as suas operações.
-
66Visualizando os produtos no console da AWS do DynamoDBVídeo Aula
Visualização dos itens na tabela de produtos do AWS DynamoDB, através de seu console web.
-
67Adicionando mais um atributo à tabela de produtosVídeo Aula
Detalhes de como um novo atributo pode ser adicionado aos novos itens de uma tabela do AWS DynamoDB, sem impactar os itens existentes.
-
68Introdução ao AWS X-RayVídeo Aula
Introdução aos conceitos iniciais do AWS X-Ray.
-
69Atribuindo permissão para a função Lambda gerar traces no X-RayVídeo Aula
Criando a permissão para que as funções Lambda possam gerar os traços de suas execuções no AWS X-Ray.
-
70Instrumentando execuções da função LambdaVídeo Aula
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.
-
71Visualizando os traces do X-RayVídeo Aula
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.
-
72Introdução ao CloudWatch Lambda InsightsVídeo Aula
Apresentação dos conceitos do AWS CloudWatch Lambda Insights.
-
73Habilitando o Lambda Insights na função de produtosVídeo Aula
Configuração das funções para gerarem informações no AWS CloudWatch Insights.
-
74Monitorando a função de produtos no Lambda InsightsVídeo Aula
Visualização dos gráficos adicionais da execução das funções Lambda no AWS CloudWatch Insights.