SlideShare uma empresa Scribd logo
1 de 43
Baixar para ler offline
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Melhores Práticas no Desenvolvimento de
Aplicações Serverless (em 12 passos)
Alex Coqueiro
Head de Arquitetura de Soluções para o Setor Público
AWS América Latina, Canadá e Caribe
M A D 3 0 2
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
… Eu tenho uma IDÉIA …
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Arquitetura
ágil e
escalável
=
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Padrão Arquitetural de Microserviços
Mobile
Cliente/
Servidor
IoT
API
Gateway
Cliente DB
EventosDirecao DB
Veículo DB
Carro
App
Entretenimento
Comportamento
Motorista
Metricas
Automovel
Alexa
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
O que preciso para usar microserviços?
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
… Infraestrutura…
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Não há servidores para
provisionar ou administrar
Escala conforme o uso
Nunca pague pela capacidade
ociosa
Alta Disponibilidade e
tolerância a falhas incorporada
Serverless significa…
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
AWS Lambda como peça chave em Microserviços
Eventos Função Serviços
Node.js
Python
Java
C#
Go
Ruby
Runtime API
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Príncipios de
Microserviços
Arquitetura
ágil e
escalável
+ =+
Serverless
Modelo de
12 fatores
Melhores
Práticas
Acesse 12factor.net
Acesse 12factor.net
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Os 12 fatores
Vamos ver como os 12 fatores se aplicam as aplicações serverless:
1. Código Base
2. Dependências
3. Configuração
4. Serviços de
Retaguarda
5. Build, release, run
6. Processo sem estado
7. Vínculo de porta
8. Concorrência
9. Descartabilidade
10. Dev/prod semelhantes
11. Logs
12. Processos
Administrativos
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Código Base
12Factor.net: “Existe apenas uma fonte para obter o código por
aplicação, mas existirão várias implantações (deploys) da mesma”
Deploy do códigoControle de
Versão
Código
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Código Base
12Factor.net: “Existe apenas uma fonte para obter o código por
aplicação, mas existirão várias implantações (deploys) da mesma”
Homologação / QA
Produção
Dev #1
Dev #2
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
2. Dependências
12Factor.net: “Declare e isole explicitamente as dependências”
Binários
Código
Pacote da
aplicação
Dependencias
requirements.txt
pip install
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Lambda Layer
Permite o fácil compartilhamento de código:
carrega as bibliotecas uma vez, faz referência em
qualquer função
Camadas
Lambda
arn:aws:lambda:region:accountId:layer:shared-lib :1
Camadas
Lambda
arn:aws:lambda:region:accountId:layer:shared-lib:2
Camadas
Lambda
arn:aws:lambda:region:accountId:layer:shared-lib:3
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
3. Configurações
12Factor.net: “Armazene as configurações de ambiente separada do código”
Configuração de
Desenvolvimento
Configuração de
Produção
Desenvolvimento
Produção
Desenvolvimento
Produção
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
AWS Systems Manager – Parameter Store
Armazenamento centralizado para
gerenciar seus dados de configuração
• Suporta hierarquias
• Texto simples ou criptografado com o AWS KMS
• Pode enviar notificações de alterações para o
Amazon SNS / AWS Lambda
• Pode ser protegido com o IAM
• Chamadas gravadas no CloudTrail
• Pode ser etiquetado
• Integrado com o AWS Secrets Manager
• Disponível via API/SDK
Útil para: variáveis ​​de ambiente
centralizadas, controle de segredos,
sinalizadores de recursos
import json, boto3
ssm = boto3.client('ssm', 'us-east-1')
def get_parameters():
response = ssm.get_parameters(
Names=['LambdaSecureString'],WithDe
cryption=True
)
for parameter in
response['Parameters']:
return parameter['Value']
def lambda_handler(event, context):
value = get_parameters()
print("value1 = " + value)
return value # Echo back the first key
value
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
4. Serviços de Retaguarda (Backend)
12Factor.net: “Trate serviços de apoio como recursos anexados”
👍
AWS S3
PostgreSQLapp1
app2 Serviço de terceiro
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
5. Construção, Implantação, Execução
12Factor.net: “Separação estrita dos estágios de construção e execução”
AWS CodePipelineAWS CodeBuild
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Exemplo de buildspec.yml
version: 0.1
environment_variables:
plaintext:
"INPUT_FILE": "saml.yaml”
"S3_BUCKET": ""
phases:
install:
commands:
- npm install
pre_build:
commands:
- eslint *.js
build:
commands:
- npm test
post_build:
commands:
- aws cloudformation package --template $INPUT_FILE --
s3-bucket $S3_BUCKET --output-template post-saml.yaml
artifacts:
type: zip
files:
- post-saml.yaml
- beta.json
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Exemplo de buildspec.yml
• Variáveis ​​a serem usadas por fases
de construção
• Exemplos do que você pode fazer
nas fases de uma construção:
• Instalação de pacotes ou
execução de comandos para
preparar ambiente
• Executar verificação de
sintaxe, comandos em
"pre_build“
• Crie e armazene um artefato no
Amazon S3
version: 0.1
environment_variables:
plaintext:
"INPUT_FILE": "saml.yaml”
"S3_BUCKET": ""
phases:
install:
commands:
- npm install
pre_build:
commands:
- eslint *.js
build:
commands:
- npm test
post_build:
commands:
- aws cloudformation package --template $INPUT_FILE --
s3-bucket $S3_BUCKET --output-template post-saml.yaml
artifacts:
type: zip
files:
- post-saml.yaml
- beta.json
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Um exemplo de pipeline de desenvolvimento
MyBranch-Source
Source
CodeCommit
Build
test-build-source
CodeBuild
• Três estágios
• Cria artefato de código
• Tem ações personalizadas do Lambda
para executar minhas próprias funções
de teste
MyDev-Deploy
create-changeset
AWS CloudFormation
execute-changeset
AWS CloudFormation
Run-stubs
AWS Lambda
MinhaAplicacao
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Um exemplo de pipeline de produção:
• Cinco estágios
• 3 ambientes
• Tem ações personalizadas do Lambda
para executar minhas próprias funções
de teste
• Integra-se a um serviço de terceiros
• Tem uma aprovação manual antes de
implantar para produção
Source
Source
CodeCommit
MinhaAplicacao
Build
test-build-source
CodeBuild
Deploy testing
create-changeset
AWS CloudFormation
execute-changeset
AWS CloudFormation
Run-stubs
AWS Lambda
Deploy staging
create-changeset
AWS CloudFormation
execute-changeset
AWS CloudFormation
Run-API-test
Runscope
QA-Sign-off
Manual Approval
Review
Deploy prod
create-changeset
AWS CloudFormation
execute-changeset
AWS CloudFormation
Post-Deploy-Slack
AWS Lambda
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
6. Processos sem estado (Stateless)
12Factor.net: “Execute a aplicação como um ou mais processos que não
armazenam estado”
Banco de Dados
Dados persistentes
MySQL, PostgreSQL,
MongoDB, Amazon
DynamoDB
Cache
Rápido e temporário
Armazenamento de Estado
Redis, memcached
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
7. Vínculo de Portas
12Factor.net: “Exporte serviços via vínculo de portas”
Aplicações serverless : Esse fator é tratado diferente devido a forma como
as funções do Lambda são acessadas.
1. Lambda chamado pela API
SDK clients
API fornecida pelo serviço Lambda
Suporta chamadas sincronas e assíncrona
Pode passar qualquer estrutura de payload de
evento que você deseja
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Modelo de execução lambda
Síncrono (push)
Amazon
API Gateway
Função
Lambda
/order
Assíncrono (event)
Amazon
SNS
Amazon
S3
reqs
Poll-based
Amazon
DynamoDB
Amazon
Kinesis
changes
Lambda service
Função
Lambda
Função
Lambda
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
8. Concorrência
12Factor.net: “Escale através do processo modelo”
Aplicações serverless: As funções do Lambda serão dimensionadas
automaticamente com base na carga. Você pode inserir threads dentro de
sua execução de função, mas existem limites práticos devido às restrições
de memória e CPU / rede de suas funções com base em como você as
configura.
👍
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Ajuste o poder computacional da sua função
Lambda expõe apenas a alocação de memória, atribuindo uma
porcentagem proporcional de uso de CPU e rede alocada para uma
função.
Dependendo do cenário pode ser mais barato escolher mais memória
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Alocação inteligente de recursos
Função Lambda que calcula 1.000 vezes todos os números primos
<= 1.000.000
128 MB 11.722965 seg $0.024628
256 MB 6.678945 seg $0.028035
512 MB 3.194954 seg $0.026830
1024 MB 1.465984 seg $0.024638
Verde==Melhor Vermelho==Pior
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Alocação inteligente de recursos
Função Lambda que calcula 1.000 vezes todos os números primos
<= 1.000.000
128 MB 11.722965sec $0.024628
256 MB 6.678945sec $0.028035
512 MB 3.194954sec $0.026830
1024 MB 1.465984sec $0.024638
-10.25698sec +$0.00001
Verde==Melhor Vermelho==Pior
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
9. Descartabilidade
12Factor.net: “Maximize robustez com inicialização rápida e desligamento
harmonioso”
Aplicações serverless: O desligamento não se aplica em Lambda e sua
invocação é vinculada diretamente aos eventos recebidos. A velocidade
na inicialização é importante, considerando o tamanho do pacote da
aplicação + linguagem usada + VPC (ou não) + chamadas de código.
👍
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
AWS X-Ray
Profile para solução de problemas de
aplicativos serverless:
• O Lambda fornece acesso para a
captura de chamadas feitas em
código
• O API Gateway insere um
cabeçalho de rastreamento em
chamadas HTTP
var AWSXRay = require(‘aws-xray-sdk-core‘);
var AWS = AWSXRay.captureAWS(require(‘aws-
sdk’));
S3Client = AWS.S3();
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
10. Paridade entre desenvolvimento e produção
12Factor.net: “Mantenha o ambiente de desenvolvimento, homologação e
produção o mais similar possível”
Aplicações serverless: Isso pode ser incrivelmente fácil com aplicações
serverless:
• Fazendo uso de variáveis ​​de ambiente / armazenamento de Parâmetros
para informações de configuração, recursos de backend, etc.
• Use o AWS SAM para implantar seu aplicativo
• Ter um processo de CI/CD e ferramentas que ofereçam suporte a vários
ambientes ou contas
Conheça
AWS
SAM!
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Modelo AWS para Aplicações Serverless (AWS SAM)
Extensão do AWS CloudFormation otimizada
para arquitetura serverless
Tipos de recursos especiais como: funções, APIs,
tabelas, bibliotecas e aplicativos
Suporta qualquer coisa que o AWS
CloudFormation suporta
Open specification (Apache 2.0)
https://aws.amazon.com/serverless/sam
AWS SAM template
AWSTemplateFormatVersion: '2010-09-09’
Transform: AWS::Serverless-2016-10-31
Resources:
GetHtmlFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: s3://sam-demo-bucket/todo_list.zip
Handler: index.gethtml
Runtime: nodejs6.10
Policies: AmazonDynamoDBReadOnlyAccess
Events:
GetHtml:
Type: Api
Properties:
Path: /{proxy+}
Method: ANY
ListTable:
Type: AWS::Serverless::SimpleTable
AWS SAM template
Diz ao AWS CloudFormation que esse
é um modelo do AWS SAM que ele
precisa "transformar".
Cria uma função Lambda com política
de acesso definida no AWS IAM.
Também cria um Amazon API
Gateway e cuida de todos os
mapeamentos / permissões
necessários.
Cria uma tabela do Amazon
DynamoDB com cinco unidades de
leitura e gravação.
AWSTemplateFormatVersion: '2010-09-09’
Transform: AWS::Serverless-2016-10-31
Resources:
GetHtmlFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: s3://sam-demo-bucket/todo_list.zip
Handler: index.gethtml
Runtime: nodejs6.10
Policies: AmazonDynamoDBReadOnlyAccess
Events:
GetHtml:
Type: Api
Properties:
Path: /{proxy+}
Method: ANY
ListTable:
Type: AWS::Serverless::SimpleTable
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
11. Logs
12Factor.net: “Trate logs como fluxos de eventos”
Aplicações serverless: O registro (assim como
a coleta de métricas) é considerado um
"direito universal" no Lambda. A saída do
console é coletada automaticamente e
enviada para os logs do Amazon CloudWatch
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
12. Processos administrativos
12Factor.net: “Rode tarefas de administração/gestão em processos
pontuais”
Serverless apps: As tarefas administrativas ocorrem por meio de suas
próprias funções do Lambda ou por meio de comandos de execução do
Amazon EC2.
👍
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Príncipios de
Microserviços
Arquitetura
ágil e
escalável
+ =+
Serverless
Modelo de
12 fatores
Considerações Finais
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Alex Coqueiro
Head de Arquitetura de Soluções para o Setor Público
AWS América Latina, Canadá e Caribe
@alexbcbr #AWSSummit
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
“Por favor, responda a pesquisa ao final
da sessão no app. Ao finalizar a
pesquisa, passe no Help Desk e retire
seu brinde!”

Mais conteúdo relacionado

Mais procurados

Can your business actually be Well-Architected Yes. - SVC208 - São Paulo AWS ...
Can your business actually be Well-Architected Yes. - SVC208 - São Paulo AWS ...Can your business actually be Well-Architected Yes. - SVC208 - São Paulo AWS ...
Can your business actually be Well-Architected Yes. - SVC208 - São Paulo AWS ...Amazon Web Services
 
Drive digital transformation with artificial intelligence - AIM204 - São Paul...
Drive digital transformation with artificial intelligence - AIM204 - São Paul...Drive digital transformation with artificial intelligence - AIM204 - São Paul...
Drive digital transformation with artificial intelligence - AIM204 - São Paul...Amazon Web Services
 
AWS layered security services - SEC302 - São Paulo AWS Summit
AWS layered security services - SEC302 - São Paulo AWS SummitAWS layered security services - SEC302 - São Paulo AWS Summit
AWS layered security services - SEC302 - São Paulo AWS SummitAmazon Web Services
 
Industry 4.0- Managing the protocol zoo - SVC204 - São Paulo AWS Summit
Industry 4.0- Managing the protocol zoo - SVC204 - São Paulo AWS SummitIndustry 4.0- Managing the protocol zoo - SVC204 - São Paulo AWS Summit
Industry 4.0- Managing the protocol zoo - SVC204 - São Paulo AWS SummitAmazon Web Services
 
AWS storage solutions The right tool for the right job, plus new features - S...
AWS storage solutions The right tool for the right job, plus new features - S...AWS storage solutions The right tool for the right job, plus new features - S...
AWS storage solutions The right tool for the right job, plus new features - S...Amazon Web Services
 
Delivering infrastructure, security, and operations as code - DEM02-S - São P...
Delivering infrastructure, security, and operations as code - DEM02-S - São P...Delivering infrastructure, security, and operations as code - DEM02-S - São P...
Delivering infrastructure, security, and operations as code - DEM02-S - São P...Amazon Web Services
 
Scale fearlessly with Amazon DynamoDB adaptive capacity - ADB302 - São Paulo ...
Scale fearlessly with Amazon DynamoDB adaptive capacity - ADB302 - São Paulo ...Scale fearlessly with Amazon DynamoDB adaptive capacity - ADB302 - São Paulo ...
Scale fearlessly with Amazon DynamoDB adaptive capacity - ADB302 - São Paulo ...Amazon Web Services
 
Creating your secure cloud journey - SVC303 - São Paulo AWS Summit.pdf
Creating your secure cloud journey - SVC303 - São Paulo AWS Summit.pdfCreating your secure cloud journey - SVC303 - São Paulo AWS Summit.pdf
Creating your secure cloud journey - SVC303 - São Paulo AWS Summit.pdfAmazon Web Services
 
Secure your data lake- A Financial industry perspective - SVC203 - São Paulo ...
Secure your data lake- A Financial industry perspective - SVC203 - São Paulo ...Secure your data lake- A Financial industry perspective - SVC203 - São Paulo ...
Secure your data lake- A Financial industry perspective - SVC203 - São Paulo ...Amazon Web Services
 
A culture of rapid innovation with DevOps, microservices, and serverless - MA...
A culture of rapid innovation with DevOps, microservices, and serverless - MA...A culture of rapid innovation with DevOps, microservices, and serverless - MA...
A culture of rapid innovation with DevOps, microservices, and serverless - MA...Amazon Web Services
 
Disaster recovery and migration with CloudEndure - SVC302 - São Paulo AWS Summit
Disaster recovery and migration with CloudEndure - SVC302 - São Paulo AWS SummitDisaster recovery and migration with CloudEndure - SVC302 - São Paulo AWS Summit
Disaster recovery and migration with CloudEndure - SVC302 - São Paulo AWS SummitAmazon Web Services
 
AWS App Mesh - MAD304 - São Paulo AWS Summit
AWS App Mesh - MAD304 - São Paulo AWS SummitAWS App Mesh - MAD304 - São Paulo AWS Summit
AWS App Mesh - MAD304 - São Paulo AWS SummitAmazon Web Services
 
Running Microsoft on AWS- We got it! - SVC305 - São Paulo AWS Summit
Running Microsoft on AWS- We got it! - SVC305 - São Paulo AWS SummitRunning Microsoft on AWS- We got it! - SVC305 - São Paulo AWS Summit
Running Microsoft on AWS- We got it! - SVC305 - São Paulo AWS SummitAmazon Web Services
 
What’s new in Amazon Aurora - ADB204 - São Paulo AWS Summit
What’s new in Amazon Aurora - ADB204 - São Paulo AWS SummitWhat’s new in Amazon Aurora - ADB204 - São Paulo AWS Summit
What’s new in Amazon Aurora - ADB204 - São Paulo AWS SummitAmazon Web Services
 
Databases on AWS- Using the right tool for the job - ADB203 - São Paulo AWS S...
Databases on AWS- Using the right tool for the job - ADB203 - São Paulo AWS S...Databases on AWS- Using the right tool for the job - ADB203 - São Paulo AWS S...
Databases on AWS- Using the right tool for the job - ADB203 - São Paulo AWS S...Amazon Web Services
 
Amazon Redshift tips and tricks- Scaling storage and compute - ADB301 - São P...
Amazon Redshift tips and tricks- Scaling storage and compute - ADB301 - São P...Amazon Redshift tips and tricks- Scaling storage and compute - ADB301 - São P...
Amazon Redshift tips and tricks- Scaling storage and compute - ADB301 - São P...Amazon Web Services
 
CI CD best practices for building modern applications - MAD301 - São Paulo AW...
CI CD best practices for building modern applications - MAD301 - São Paulo AW...CI CD best practices for building modern applications - MAD301 - São Paulo AW...
CI CD best practices for building modern applications - MAD301 - São Paulo AW...Amazon Web Services
 
Threat detection and mitigation at AWS - SEC301 - São Paulo AWS Summit
Threat detection and mitigation at AWS - SEC301 - São Paulo AWS SummitThreat detection and mitigation at AWS - SEC301 - São Paulo AWS Summit
Threat detection and mitigation at AWS - SEC301 - São Paulo AWS SummitAmazon Web Services
 
Accelerate and secure your applications running on AWS - SVC207 - São Paulo A...
Accelerate and secure your applications running on AWS - SVC207 - São Paulo A...Accelerate and secure your applications running on AWS - SVC207 - São Paulo A...
Accelerate and secure your applications running on AWS - SVC207 - São Paulo A...Amazon Web Services
 
VMware Cloud on AWS Hybrid cloud made easy - CMP203 - São Paulo AWS Summit.pdf
VMware Cloud on AWS Hybrid cloud made easy - CMP203 - São Paulo AWS Summit.pdfVMware Cloud on AWS Hybrid cloud made easy - CMP203 - São Paulo AWS Summit.pdf
VMware Cloud on AWS Hybrid cloud made easy - CMP203 - São Paulo AWS Summit.pdfAmazon Web Services
 

Mais procurados (20)

Can your business actually be Well-Architected Yes. - SVC208 - São Paulo AWS ...
Can your business actually be Well-Architected Yes. - SVC208 - São Paulo AWS ...Can your business actually be Well-Architected Yes. - SVC208 - São Paulo AWS ...
Can your business actually be Well-Architected Yes. - SVC208 - São Paulo AWS ...
 
Drive digital transformation with artificial intelligence - AIM204 - São Paul...
Drive digital transformation with artificial intelligence - AIM204 - São Paul...Drive digital transformation with artificial intelligence - AIM204 - São Paul...
Drive digital transformation with artificial intelligence - AIM204 - São Paul...
 
AWS layered security services - SEC302 - São Paulo AWS Summit
AWS layered security services - SEC302 - São Paulo AWS SummitAWS layered security services - SEC302 - São Paulo AWS Summit
AWS layered security services - SEC302 - São Paulo AWS Summit
 
Industry 4.0- Managing the protocol zoo - SVC204 - São Paulo AWS Summit
Industry 4.0- Managing the protocol zoo - SVC204 - São Paulo AWS SummitIndustry 4.0- Managing the protocol zoo - SVC204 - São Paulo AWS Summit
Industry 4.0- Managing the protocol zoo - SVC204 - São Paulo AWS Summit
 
AWS storage solutions The right tool for the right job, plus new features - S...
AWS storage solutions The right tool for the right job, plus new features - S...AWS storage solutions The right tool for the right job, plus new features - S...
AWS storage solutions The right tool for the right job, plus new features - S...
 
Delivering infrastructure, security, and operations as code - DEM02-S - São P...
Delivering infrastructure, security, and operations as code - DEM02-S - São P...Delivering infrastructure, security, and operations as code - DEM02-S - São P...
Delivering infrastructure, security, and operations as code - DEM02-S - São P...
 
Scale fearlessly with Amazon DynamoDB adaptive capacity - ADB302 - São Paulo ...
Scale fearlessly with Amazon DynamoDB adaptive capacity - ADB302 - São Paulo ...Scale fearlessly with Amazon DynamoDB adaptive capacity - ADB302 - São Paulo ...
Scale fearlessly with Amazon DynamoDB adaptive capacity - ADB302 - São Paulo ...
 
Creating your secure cloud journey - SVC303 - São Paulo AWS Summit.pdf
Creating your secure cloud journey - SVC303 - São Paulo AWS Summit.pdfCreating your secure cloud journey - SVC303 - São Paulo AWS Summit.pdf
Creating your secure cloud journey - SVC303 - São Paulo AWS Summit.pdf
 
Secure your data lake- A Financial industry perspective - SVC203 - São Paulo ...
Secure your data lake- A Financial industry perspective - SVC203 - São Paulo ...Secure your data lake- A Financial industry perspective - SVC203 - São Paulo ...
Secure your data lake- A Financial industry perspective - SVC203 - São Paulo ...
 
A culture of rapid innovation with DevOps, microservices, and serverless - MA...
A culture of rapid innovation with DevOps, microservices, and serverless - MA...A culture of rapid innovation with DevOps, microservices, and serverless - MA...
A culture of rapid innovation with DevOps, microservices, and serverless - MA...
 
Disaster recovery and migration with CloudEndure - SVC302 - São Paulo AWS Summit
Disaster recovery and migration with CloudEndure - SVC302 - São Paulo AWS SummitDisaster recovery and migration with CloudEndure - SVC302 - São Paulo AWS Summit
Disaster recovery and migration with CloudEndure - SVC302 - São Paulo AWS Summit
 
AWS App Mesh - MAD304 - São Paulo AWS Summit
AWS App Mesh - MAD304 - São Paulo AWS SummitAWS App Mesh - MAD304 - São Paulo AWS Summit
AWS App Mesh - MAD304 - São Paulo AWS Summit
 
Running Microsoft on AWS- We got it! - SVC305 - São Paulo AWS Summit
Running Microsoft on AWS- We got it! - SVC305 - São Paulo AWS SummitRunning Microsoft on AWS- We got it! - SVC305 - São Paulo AWS Summit
Running Microsoft on AWS- We got it! - SVC305 - São Paulo AWS Summit
 
What’s new in Amazon Aurora - ADB204 - São Paulo AWS Summit
What’s new in Amazon Aurora - ADB204 - São Paulo AWS SummitWhat’s new in Amazon Aurora - ADB204 - São Paulo AWS Summit
What’s new in Amazon Aurora - ADB204 - São Paulo AWS Summit
 
Databases on AWS- Using the right tool for the job - ADB203 - São Paulo AWS S...
Databases on AWS- Using the right tool for the job - ADB203 - São Paulo AWS S...Databases on AWS- Using the right tool for the job - ADB203 - São Paulo AWS S...
Databases on AWS- Using the right tool for the job - ADB203 - São Paulo AWS S...
 
Amazon Redshift tips and tricks- Scaling storage and compute - ADB301 - São P...
Amazon Redshift tips and tricks- Scaling storage and compute - ADB301 - São P...Amazon Redshift tips and tricks- Scaling storage and compute - ADB301 - São P...
Amazon Redshift tips and tricks- Scaling storage and compute - ADB301 - São P...
 
CI CD best practices for building modern applications - MAD301 - São Paulo AW...
CI CD best practices for building modern applications - MAD301 - São Paulo AW...CI CD best practices for building modern applications - MAD301 - São Paulo AW...
CI CD best practices for building modern applications - MAD301 - São Paulo AW...
 
Threat detection and mitigation at AWS - SEC301 - São Paulo AWS Summit
Threat detection and mitigation at AWS - SEC301 - São Paulo AWS SummitThreat detection and mitigation at AWS - SEC301 - São Paulo AWS Summit
Threat detection and mitigation at AWS - SEC301 - São Paulo AWS Summit
 
Accelerate and secure your applications running on AWS - SVC207 - São Paulo A...
Accelerate and secure your applications running on AWS - SVC207 - São Paulo A...Accelerate and secure your applications running on AWS - SVC207 - São Paulo A...
Accelerate and secure your applications running on AWS - SVC207 - São Paulo A...
 
VMware Cloud on AWS Hybrid cloud made easy - CMP203 - São Paulo AWS Summit.pdf
VMware Cloud on AWS Hybrid cloud made easy - CMP203 - São Paulo AWS Summit.pdfVMware Cloud on AWS Hybrid cloud made easy - CMP203 - São Paulo AWS Summit.pdf
VMware Cloud on AWS Hybrid cloud made easy - CMP203 - São Paulo AWS Summit.pdf
 

Semelhante a Twelve-Factor serverless applications - MAD302 - São Paulo AWS Summit

A culture of rapid innovation with DevOps, microservices, and serverless - MA...
A culture of rapid innovation with DevOps, microservices, and serverless - MA...A culture of rapid innovation with DevOps, microservices, and serverless - MA...
A culture of rapid innovation with DevOps, microservices, and serverless - MA...Amazon Web Services
 
Criando Aplicações Serverless - ARC302 - Sao Paulo Summit
Criando Aplicações Serverless -  ARC302 - Sao Paulo SummitCriando Aplicações Serverless -  ARC302 - Sao Paulo Summit
Criando Aplicações Serverless - ARC302 - Sao Paulo SummitAmazon Web Services
 
FSI Roundtable - Cultura de Inovação com DevOps, microserviços e serverless
FSI Roundtable - Cultura de Inovação com DevOps, microserviços e serverlessFSI Roundtable - Cultura de Inovação com DevOps, microserviços e serverless
FSI Roundtable - Cultura de Inovação com DevOps, microserviços e serverlessAmazon Web Services LATAM
 
Segurança - 10 regras que você deve saber antes de migrar sua infraestrutura ...
Segurança - 10 regras que você deve saber antes de migrar sua infraestrutura ...Segurança - 10 regras que você deve saber antes de migrar sua infraestrutura ...
Segurança - 10 regras que você deve saber antes de migrar sua infraestrutura ...Amazon Web Services LATAM
 
Usando Containers e Serverless para acelerar o desenvolvimento de aplicações ...
Usando Containers e Serverless para acelerar o desenvolvimento de aplicações ...Usando Containers e Serverless para acelerar o desenvolvimento de aplicações ...
Usando Containers e Serverless para acelerar o desenvolvimento de aplicações ...Amazon Web Services LATAM
 
Construindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaConstruindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaAmazon Web Services LATAM
 
Melhores práticas de CI/CD na construção de aplicações modernas
Melhores práticas de CI/CD na construção de aplicações modernasMelhores práticas de CI/CD na construção de aplicações modernas
Melhores práticas de CI/CD na construção de aplicações modernasAmazon Web Services LATAM
 
Iniciando com AWS Lambda e serverless em cloud
Iniciando com AWS Lambda e serverless em cloudIniciando com AWS Lambda e serverless em cloud
Iniciando com AWS Lambda e serverless em cloudAmazon Web Services LATAM
 
AWS Initiate week 2020 - Security Framework: jornada de segurança na nuvem.pdf
AWS Initiate week 2020 - Security Framework: jornada de segurança na nuvem.pdfAWS Initiate week 2020 - Security Framework: jornada de segurança na nuvem.pdf
AWS Initiate week 2020 - Security Framework: jornada de segurança na nuvem.pdfAmazon Web Services LATAM
 
Agile development with Amazon Linux WorkSpaces and Amazon WorkLink - SVC202 -...
Agile development with Amazon Linux WorkSpaces and Amazon WorkLink - SVC202 -...Agile development with Amazon Linux WorkSpaces and Amazon WorkLink - SVC202 -...
Agile development with Amazon Linux WorkSpaces and Amazon WorkLink - SVC202 -...Amazon Web Services
 
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAmazon Web Services LATAM
 
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAmazon Web Services LATAM
 
Arquiteturas de E Commerce da próxima geração
Arquiteturas de E Commerce da próxima geraçãoArquiteturas de E Commerce da próxima geração
Arquiteturas de E Commerce da próxima geraçãoAmazon Web Services LATAM
 
Impulsione Inteligência ao IoT Edge com AWS Greengrass - IOT201 - Sao Paulo ...
Impulsione Inteligência ao IoT Edge com AWS Greengrass -  IOT201 - Sao Paulo ...Impulsione Inteligência ao IoT Edge com AWS Greengrass -  IOT201 - Sao Paulo ...
Impulsione Inteligência ao IoT Edge com AWS Greengrass - IOT201 - Sao Paulo ...Amazon Web Services
 
Construindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaConstruindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaAmazon Web Services LATAM
 

Semelhante a Twelve-Factor serverless applications - MAD302 - São Paulo AWS Summit (20)

Criando Aplicações Serverless
Criando Aplicações ServerlessCriando Aplicações Serverless
Criando Aplicações Serverless
 
A culture of rapid innovation with DevOps, microservices, and serverless - MA...
A culture of rapid innovation with DevOps, microservices, and serverless - MA...A culture of rapid innovation with DevOps, microservices, and serverless - MA...
A culture of rapid innovation with DevOps, microservices, and serverless - MA...
 
Criando Aplicações Serverless - ARC302 - Sao Paulo Summit
Criando Aplicações Serverless -  ARC302 - Sao Paulo SummitCriando Aplicações Serverless -  ARC302 - Sao Paulo Summit
Criando Aplicações Serverless - ARC302 - Sao Paulo Summit
 
FSI Roundtable - Cultura de Inovação com DevOps, microserviços e serverless
FSI Roundtable - Cultura de Inovação com DevOps, microserviços e serverlessFSI Roundtable - Cultura de Inovação com DevOps, microserviços e serverless
FSI Roundtable - Cultura de Inovação com DevOps, microserviços e serverless
 
Escalando com segurança na AWS
Escalando com segurança na AWSEscalando com segurança na AWS
Escalando com segurança na AWS
 
Segurança - 10 regras que você deve saber antes de migrar sua infraestrutura ...
Segurança - 10 regras que você deve saber antes de migrar sua infraestrutura ...Segurança - 10 regras que você deve saber antes de migrar sua infraestrutura ...
Segurança - 10 regras que você deve saber antes de migrar sua infraestrutura ...
 
Usando Containers e Serverless para acelerar o desenvolvimento de aplicações ...
Usando Containers e Serverless para acelerar o desenvolvimento de aplicações ...Usando Containers e Serverless para acelerar o desenvolvimento de aplicações ...
Usando Containers e Serverless para acelerar o desenvolvimento de aplicações ...
 
Construindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaConstruindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS Lambda
 
Melhores práticas de CI/CD na construção de aplicações modernas
Melhores práticas de CI/CD na construção de aplicações modernasMelhores práticas de CI/CD na construção de aplicações modernas
Melhores práticas de CI/CD na construção de aplicações modernas
 
Iniciando com AWS Lambda e serverless em cloud
Iniciando com AWS Lambda e serverless em cloudIniciando com AWS Lambda e serverless em cloud
Iniciando com AWS Lambda e serverless em cloud
 
AWS Initiate week 2020 - Security Framework: jornada de segurança na nuvem.pdf
AWS Initiate week 2020 - Security Framework: jornada de segurança na nuvem.pdfAWS Initiate week 2020 - Security Framework: jornada de segurança na nuvem.pdf
AWS Initiate week 2020 - Security Framework: jornada de segurança na nuvem.pdf
 
Webinar: Containers
Webinar: ContainersWebinar: Containers
Webinar: Containers
 
Introdução ao Amazon EKS
Introdução ao Amazon EKSIntrodução ao Amazon EKS
Introdução ao Amazon EKS
 
Agile development with Amazon Linux WorkSpaces and Amazon WorkLink - SVC202 -...
Agile development with Amazon Linux WorkSpaces and Amazon WorkLink - SVC202 -...Agile development with Amazon Linux WorkSpaces and Amazon WorkLink - SVC202 -...
Agile development with Amazon Linux WorkSpaces and Amazon WorkLink - SVC202 -...
 
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
 
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
 
Melhores Práticas de Segurança na AWS
Melhores Práticas de Segurança na AWS Melhores Práticas de Segurança na AWS
Melhores Práticas de Segurança na AWS
 
Arquiteturas de E Commerce da próxima geração
Arquiteturas de E Commerce da próxima geraçãoArquiteturas de E Commerce da próxima geração
Arquiteturas de E Commerce da próxima geração
 
Impulsione Inteligência ao IoT Edge com AWS Greengrass - IOT201 - Sao Paulo ...
Impulsione Inteligência ao IoT Edge com AWS Greengrass -  IOT201 - Sao Paulo ...Impulsione Inteligência ao IoT Edge com AWS Greengrass -  IOT201 - Sao Paulo ...
Impulsione Inteligência ao IoT Edge com AWS Greengrass - IOT201 - Sao Paulo ...
 
Construindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaConstruindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS Lambda
 

Mais de Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

Mais de Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Twelve-Factor serverless applications - MAD302 - São Paulo AWS Summit

  • 1. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Melhores Práticas no Desenvolvimento de Aplicações Serverless (em 12 passos) Alex Coqueiro Head de Arquitetura de Soluções para o Setor Público AWS América Latina, Canadá e Caribe M A D 3 0 2
  • 2. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T … Eu tenho uma IDÉIA …
  • 3. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Arquitetura ágil e escalável =
  • 4. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Padrão Arquitetural de Microserviços Mobile Cliente/ Servidor IoT API Gateway Cliente DB EventosDirecao DB Veículo DB Carro App Entretenimento Comportamento Motorista Metricas Automovel Alexa
  • 5. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T O que preciso para usar microserviços?
  • 6. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T … Infraestrutura…
  • 7. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Não há servidores para provisionar ou administrar Escala conforme o uso Nunca pague pela capacidade ociosa Alta Disponibilidade e tolerância a falhas incorporada Serverless significa…
  • 8. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T AWS Lambda como peça chave em Microserviços Eventos Função Serviços Node.js Python Java C# Go Ruby Runtime API
  • 9. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Príncipios de Microserviços Arquitetura ágil e escalável + =+ Serverless Modelo de 12 fatores Melhores Práticas
  • 12. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Os 12 fatores Vamos ver como os 12 fatores se aplicam as aplicações serverless: 1. Código Base 2. Dependências 3. Configuração 4. Serviços de Retaguarda 5. Build, release, run 6. Processo sem estado 7. Vínculo de porta 8. Concorrência 9. Descartabilidade 10. Dev/prod semelhantes 11. Logs 12. Processos Administrativos
  • 13. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Código Base 12Factor.net: “Existe apenas uma fonte para obter o código por aplicação, mas existirão várias implantações (deploys) da mesma” Deploy do códigoControle de Versão Código
  • 14. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Código Base 12Factor.net: “Existe apenas uma fonte para obter o código por aplicação, mas existirão várias implantações (deploys) da mesma” Homologação / QA Produção Dev #1 Dev #2
  • 15. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T 2. Dependências 12Factor.net: “Declare e isole explicitamente as dependências” Binários Código Pacote da aplicação Dependencias requirements.txt pip install
  • 16. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Lambda Layer Permite o fácil compartilhamento de código: carrega as bibliotecas uma vez, faz referência em qualquer função Camadas Lambda arn:aws:lambda:region:accountId:layer:shared-lib :1 Camadas Lambda arn:aws:lambda:region:accountId:layer:shared-lib:2 Camadas Lambda arn:aws:lambda:region:accountId:layer:shared-lib:3
  • 17. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T 3. Configurações 12Factor.net: “Armazene as configurações de ambiente separada do código” Configuração de Desenvolvimento Configuração de Produção Desenvolvimento Produção Desenvolvimento Produção
  • 18. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T AWS Systems Manager – Parameter Store Armazenamento centralizado para gerenciar seus dados de configuração • Suporta hierarquias • Texto simples ou criptografado com o AWS KMS • Pode enviar notificações de alterações para o Amazon SNS / AWS Lambda • Pode ser protegido com o IAM • Chamadas gravadas no CloudTrail • Pode ser etiquetado • Integrado com o AWS Secrets Manager • Disponível via API/SDK Útil para: variáveis ​​de ambiente centralizadas, controle de segredos, sinalizadores de recursos import json, boto3 ssm = boto3.client('ssm', 'us-east-1') def get_parameters(): response = ssm.get_parameters( Names=['LambdaSecureString'],WithDe cryption=True ) for parameter in response['Parameters']: return parameter['Value'] def lambda_handler(event, context): value = get_parameters() print("value1 = " + value) return value # Echo back the first key value
  • 19. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T 4. Serviços de Retaguarda (Backend) 12Factor.net: “Trate serviços de apoio como recursos anexados” 👍 AWS S3 PostgreSQLapp1 app2 Serviço de terceiro
  • 20. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T 5. Construção, Implantação, Execução 12Factor.net: “Separação estrita dos estágios de construção e execução” AWS CodePipelineAWS CodeBuild
  • 21. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Exemplo de buildspec.yml version: 0.1 environment_variables: plaintext: "INPUT_FILE": "saml.yaml” "S3_BUCKET": "" phases: install: commands: - npm install pre_build: commands: - eslint *.js build: commands: - npm test post_build: commands: - aws cloudformation package --template $INPUT_FILE -- s3-bucket $S3_BUCKET --output-template post-saml.yaml artifacts: type: zip files: - post-saml.yaml - beta.json
  • 22. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Exemplo de buildspec.yml • Variáveis ​​a serem usadas por fases de construção • Exemplos do que você pode fazer nas fases de uma construção: • Instalação de pacotes ou execução de comandos para preparar ambiente • Executar verificação de sintaxe, comandos em "pre_build“ • Crie e armazene um artefato no Amazon S3 version: 0.1 environment_variables: plaintext: "INPUT_FILE": "saml.yaml” "S3_BUCKET": "" phases: install: commands: - npm install pre_build: commands: - eslint *.js build: commands: - npm test post_build: commands: - aws cloudformation package --template $INPUT_FILE -- s3-bucket $S3_BUCKET --output-template post-saml.yaml artifacts: type: zip files: - post-saml.yaml - beta.json
  • 23. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Um exemplo de pipeline de desenvolvimento MyBranch-Source Source CodeCommit Build test-build-source CodeBuild • Três estágios • Cria artefato de código • Tem ações personalizadas do Lambda para executar minhas próprias funções de teste MyDev-Deploy create-changeset AWS CloudFormation execute-changeset AWS CloudFormation Run-stubs AWS Lambda MinhaAplicacao
  • 24. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Um exemplo de pipeline de produção: • Cinco estágios • 3 ambientes • Tem ações personalizadas do Lambda para executar minhas próprias funções de teste • Integra-se a um serviço de terceiros • Tem uma aprovação manual antes de implantar para produção Source Source CodeCommit MinhaAplicacao Build test-build-source CodeBuild Deploy testing create-changeset AWS CloudFormation execute-changeset AWS CloudFormation Run-stubs AWS Lambda Deploy staging create-changeset AWS CloudFormation execute-changeset AWS CloudFormation Run-API-test Runscope QA-Sign-off Manual Approval Review Deploy prod create-changeset AWS CloudFormation execute-changeset AWS CloudFormation Post-Deploy-Slack AWS Lambda
  • 25. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T 6. Processos sem estado (Stateless) 12Factor.net: “Execute a aplicação como um ou mais processos que não armazenam estado” Banco de Dados Dados persistentes MySQL, PostgreSQL, MongoDB, Amazon DynamoDB Cache Rápido e temporário Armazenamento de Estado Redis, memcached
  • 26. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T 7. Vínculo de Portas 12Factor.net: “Exporte serviços via vínculo de portas” Aplicações serverless : Esse fator é tratado diferente devido a forma como as funções do Lambda são acessadas. 1. Lambda chamado pela API SDK clients API fornecida pelo serviço Lambda Suporta chamadas sincronas e assíncrona Pode passar qualquer estrutura de payload de evento que você deseja
  • 27. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Modelo de execução lambda Síncrono (push) Amazon API Gateway Função Lambda /order Assíncrono (event) Amazon SNS Amazon S3 reqs Poll-based Amazon DynamoDB Amazon Kinesis changes Lambda service Função Lambda Função Lambda
  • 28. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T 8. Concorrência 12Factor.net: “Escale através do processo modelo” Aplicações serverless: As funções do Lambda serão dimensionadas automaticamente com base na carga. Você pode inserir threads dentro de sua execução de função, mas existem limites práticos devido às restrições de memória e CPU / rede de suas funções com base em como você as configura. 👍
  • 29. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Ajuste o poder computacional da sua função Lambda expõe apenas a alocação de memória, atribuindo uma porcentagem proporcional de uso de CPU e rede alocada para uma função. Dependendo do cenário pode ser mais barato escolher mais memória
  • 30. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Alocação inteligente de recursos Função Lambda que calcula 1.000 vezes todos os números primos <= 1.000.000 128 MB 11.722965 seg $0.024628 256 MB 6.678945 seg $0.028035 512 MB 3.194954 seg $0.026830 1024 MB 1.465984 seg $0.024638 Verde==Melhor Vermelho==Pior
  • 31. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Alocação inteligente de recursos Função Lambda que calcula 1.000 vezes todos os números primos <= 1.000.000 128 MB 11.722965sec $0.024628 256 MB 6.678945sec $0.028035 512 MB 3.194954sec $0.026830 1024 MB 1.465984sec $0.024638 -10.25698sec +$0.00001 Verde==Melhor Vermelho==Pior
  • 32. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T 9. Descartabilidade 12Factor.net: “Maximize robustez com inicialização rápida e desligamento harmonioso” Aplicações serverless: O desligamento não se aplica em Lambda e sua invocação é vinculada diretamente aos eventos recebidos. A velocidade na inicialização é importante, considerando o tamanho do pacote da aplicação + linguagem usada + VPC (ou não) + chamadas de código. 👍
  • 33. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T AWS X-Ray Profile para solução de problemas de aplicativos serverless: • O Lambda fornece acesso para a captura de chamadas feitas em código • O API Gateway insere um cabeçalho de rastreamento em chamadas HTTP var AWSXRay = require(‘aws-xray-sdk-core‘); var AWS = AWSXRay.captureAWS(require(‘aws- sdk’)); S3Client = AWS.S3();
  • 34. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T 10. Paridade entre desenvolvimento e produção 12Factor.net: “Mantenha o ambiente de desenvolvimento, homologação e produção o mais similar possível” Aplicações serverless: Isso pode ser incrivelmente fácil com aplicações serverless: • Fazendo uso de variáveis ​​de ambiente / armazenamento de Parâmetros para informações de configuração, recursos de backend, etc. • Use o AWS SAM para implantar seu aplicativo • Ter um processo de CI/CD e ferramentas que ofereçam suporte a vários ambientes ou contas
  • 36. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Modelo AWS para Aplicações Serverless (AWS SAM) Extensão do AWS CloudFormation otimizada para arquitetura serverless Tipos de recursos especiais como: funções, APIs, tabelas, bibliotecas e aplicativos Suporta qualquer coisa que o AWS CloudFormation suporta Open specification (Apache 2.0) https://aws.amazon.com/serverless/sam
  • 37. AWS SAM template AWSTemplateFormatVersion: '2010-09-09’ Transform: AWS::Serverless-2016-10-31 Resources: GetHtmlFunction: Type: AWS::Serverless::Function Properties: CodeUri: s3://sam-demo-bucket/todo_list.zip Handler: index.gethtml Runtime: nodejs6.10 Policies: AmazonDynamoDBReadOnlyAccess Events: GetHtml: Type: Api Properties: Path: /{proxy+} Method: ANY ListTable: Type: AWS::Serverless::SimpleTable
  • 38. AWS SAM template Diz ao AWS CloudFormation que esse é um modelo do AWS SAM que ele precisa "transformar". Cria uma função Lambda com política de acesso definida no AWS IAM. Também cria um Amazon API Gateway e cuida de todos os mapeamentos / permissões necessários. Cria uma tabela do Amazon DynamoDB com cinco unidades de leitura e gravação. AWSTemplateFormatVersion: '2010-09-09’ Transform: AWS::Serverless-2016-10-31 Resources: GetHtmlFunction: Type: AWS::Serverless::Function Properties: CodeUri: s3://sam-demo-bucket/todo_list.zip Handler: index.gethtml Runtime: nodejs6.10 Policies: AmazonDynamoDBReadOnlyAccess Events: GetHtml: Type: Api Properties: Path: /{proxy+} Method: ANY ListTable: Type: AWS::Serverless::SimpleTable
  • 39. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T 11. Logs 12Factor.net: “Trate logs como fluxos de eventos” Aplicações serverless: O registro (assim como a coleta de métricas) é considerado um "direito universal" no Lambda. A saída do console é coletada automaticamente e enviada para os logs do Amazon CloudWatch
  • 40. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T 12. Processos administrativos 12Factor.net: “Rode tarefas de administração/gestão em processos pontuais” Serverless apps: As tarefas administrativas ocorrem por meio de suas próprias funções do Lambda ou por meio de comandos de execução do Amazon EC2. 👍
  • 41. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Príncipios de Microserviços Arquitetura ágil e escalável + =+ Serverless Modelo de 12 fatores Considerações Finais
  • 42. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Alex Coqueiro Head de Arquitetura de Soluções para o Setor Público AWS América Latina, Canadá e Caribe @alexbcbr #AWSSummit
  • 43. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. “Por favor, responda a pesquisa ao final da sessão no app. Ao finalizar a pesquisa, passe no Help Desk e retire seu brinde!”