Você está na página 1de 24

Amazon Web Services

Olá!
Mayara Fernandes
Ama uma aventura, seja ela com a
tecnologia ou com a vida!

Mayara Fernandes.

2
Amazon Serveless
Amazon Elastic Compute Cloud.
Índice
▸ O que é Serverless?
▸ Por que usar Serverless?
▸ Principais Serviços Serverless
▸ Lambda
▸ API Gateway
▸ SNS
▸ Precificação Serverless
▸ Exemplo de Uso 1
▸ Exemplo de Uso 2
4
O que é Serverless?(Sem servidor)
▸ Modelo de execução de computação em Nuvem;
▸ Gerenciado pelo provedor de Nuvem;
▸ São aplicações disparadas por eventos;
▸ Pode ter curta duração.

5
Por que usar Serverless?
▸ Responsabilidade DA AWS
nos servidores em
correções, atualizações e
dedicação contínua para
mantê-los em operação;
▸ Custo reduzido;
▸ Fácil configuração;
▸ Escalável;
▸ Etc.

6
Principais serviços Serverless
CATEGORIA SERVIÇO DESCRIÇÃO

Computação AWS Lambda Execução de aplicações sem servidor e sem estado

Proxy de API API Gateway Criação, publicação, manutenção, monitoramento e segurança de APIs

SNS Serviço de mensagens de publicação/assinaturas


Sistemas de
Mensagens e SQS Serviço de fila de mensagens
Integração
EventBridge Barramento de eventos sem servidor facilita a conexão de aplicações

Orquestração Step Functions Coordenação de componentes de aplicações e microsserviços

Diferentes serviços serverless estão disponíveis para atender às necessidades de diferentes casos de uso.
Este módulo discutirá o apenas os serviços grifados de laranja.
7
Lambda
O AWS Lambda é um serviço de computação sem servidor e orientado a
eventos que permite executar código para praticamente qualquer tipo de
aplicação ou serviço de backend sem provisionamento e gerenciamento
de servidores.
▸ Roda linguagens com um toque de AWS (Linguagens não são “cruas)”.

Caso de Uso:
▸ Processar dados em escala;
▸ Execute backends interativos da Web e móveis;
▸ Habilite insights de ML poderosos;
▸ Crie aplicações orientadas a eventos.
8
API Gateway
O API Gateway é um gerenciador de tráfego que faz interface com o serviço
de back-end real ou de dados e aplica políticas, autenticação e controle de
acesso geral para chamadas de APIs de forma a proteger dados valiosos.
▸ API e back-end mais seguros;
▸ Controle total do ambiente de execução da API;
▸ Código mais simples;
▸ Diminuição de latência;
▸ Acesso rápido e fácil aos microsserviços;
▸ Diminuição da carga de trabalho;
▸ Coleta de métricas.

9
SNS
O Amazon Simple Notification Service (SNS) é um serviço gerenciado que
fornece a criação de tópicos e assinaturas, enviar e receber mensagens e
monitorar eventos e logs.
▸ Os clientes recebem mensagens publicadas usando um tipo de endpoint compatível, como
Amazon Kinesis Data Firehose, Amazon SQS,AWS Lambda, HTTP, e-mail, notificações push
móveis e mensagens de texto móveis (SMS).

Casos de Uso:
▸ Alertas;
▸ Notificar usuário;
▸ Notificação por push para mobile.
10
Precificação Serverless
Como é feita a cobrança do Lambda e do API Gateway?
Visão Geral de Custo
▸ O custo é reduzido;
▸ Custo é baseado em execução;
▸ Podemos contar também com o auxílio da
calculadora para estipular melhor esses custos.

12
Exemplo de Uso 1
DynamoDB - NoSQL
▸ Criar tabela
▸ Nome Tabela: gamaacademy
▸ Em Chave de partição insira: id
▸ Selecione Criar.

14
Lambda - Computacional
▸ Nome da Função = gamaacademy
▸ RuExecução = Node.js 16.x
▸ Em permissões crie uma nova função Código de Exemplo - Lambda
▹ Nome da função; Class05-Role
▹ Usar template existente: Simple
microservice permissions (Role para
DynamoDB).
▸ Create.

15
API Gateway - Proxy de API
▸ HTTP API - Build; ▸ Ícone Integrações
▹ API name: gamaacademy; ▹ Aba Gerenciar Integrações
▹ O restante das configurações ▹ Criar;
deixar como padrão; ▹ Tipo de Integração: Lambda
▹ Criar. Function;
▸ Ícone Rotas a esquerda - Criar: ▹ Integrar região e função
▹ GET = /items/{id} Lambda existente;
▹ GET = /items ▹ Criar.
▹ DELETE = /items/{id} ▹ Aba anexar integrações a
▹ PUT = /items rotas: Coloque o mesmo
lambda em cada rota. 16
Cloud9 - IDE
▸ Criar ambiente
▹ Nome: gamaacademy
▹ Configuração de rede
▹ VPC + Subnet Pública
▹ Demais configurações deixar padrão
▹ Criar ambiente.
▸ Após carregar, fechar abas e abrir um novo terminal.

17
Terminal Cloud9
Colocar Invoke URL do API Gateway como variável:
export INVOKE_URL="https://exemplo.execute-api.us-east-1.amazonaws.com"

Fazer a operação no banco de dados


curl -X "PUT" -H "Content-Type: application/json" -d "{
\"id\": \"abcdef234\",
\"price\": 12345,
\"name\": \"myitem\"
}" $INVOKE_URL/items

18
Exemplo de Uso 2
DynamoDB
{
"cliente": 100,

Tutorial
1. SNS
"age": 28,
"items" [
a. Criar Tópico Padrão {"nome": "produto 1", "preco": 10},
2. SQS {"nome": "produto 2", "preco": 20}
a. Criar SQS Padrão
]
b. Atrelar a assinatura do Tópico SNS
3. SNS }
a. Selecionar tópico e clicar no botão de publicar mensagem (JSON acima).
4. SQS
a. Clicar em enviar e receber mensagens
b. Pegar as mensagens
5. DynamoDB
a. Criar tabela com parâmetro “id”
6. Lambda - Link do Python
a. Anexar trigger SQS
b. Role - SQSFullAcess e DynamoDBFullAccess
20
Hands On
https://console.aws.amazon.com/ – Console AWS.
Aplicando serviço serverless no projeto final.

21
Projeto
Usem do aprendizado em aula para aplicar tudo que foi desenvolvido por
vocês integrado aos serviços da AWS.

22
Links de Referências de Uso:
Lambda com SNS
Lambda com S3 e API Gateway
Lambda com EC2 e CloudWatch
Lambda com API Gateway e DynamoDB
API Gateway com ECS - Dica: No projeto de vocês da para integrar com o
Load Balancer da EC2 invés do EC2.

23
OBRIGADA!
Dúvidas?

24

Você também pode gostar