SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
Processando alta demanda de
requisições com os serviços API
Gateway, Lambda e Kinesis
Flávio Pimenta
Problema: atender todo mundo !!
Arquitetura na época
Problemas
Custo04 min 5 e máx de 20 EC2
Perda de dados03 erros 50x (500, 502,504)
Banco de dados02 sobrecarga e lentidão
Autoscaling01 alguns picos durante o dia
Ideias para nova solução
Custo04
usar mais serviços sob
demanda em vez de EC2
Perda de dados03 "represar"
Banco de dados02 "gravar devagar"
Autoscaling01 serverless
Nova solução
API Gateway
Monitoramento
Performance
Rate limit (req/s)
Lambda
Escalabilidade
Performance
Python (cold start)
Custo por requisição
Queue vs Stream
Kinesis
Stream de dados
Escala com shards
Alta Performance
(~1000 rps/shard)
Baixo custo
Worker Java como task no ECS
Consome Kinesis
Grava em lote no DB
Migrado para docker
Deploy 1 task no ECS
Nova solução
Ferramenta para testes de performance:
● https://github.com/locustio/locust
● Utiliza Python !
● Escalável
Escrita do teste
Execução
locust -f locustfile.py --host=endpoint-aplicacao
http://localhost:8089
Monitoramento API Gateway
Uso em 1 dia, acumulado por hora
Fonte de exemplos!!
https://github.com/awslabs
Participe do AWS User Group Campinas!!
sensedia.com
flavio@pimenta.dev
github.com/flap
Flávio Pimenta

Mais conteúdo relacionado

Mais procurados

5º Meetup Datalab - Do nada a Produção usando Arquitetura Serverless
5º Meetup Datalab - Do nada a Produção usando Arquitetura Serverless5º Meetup Datalab - Do nada a Produção usando Arquitetura Serverless
5º Meetup Datalab - Do nada a Produção usando Arquitetura ServerlessAndré Ricardo da S. Souza
 
TDC2018SP | Trilha UX - Live Coding na Arquitetura Mais Produtiva Que Encontr...
TDC2018SP | Trilha UX - Live Coding na Arquitetura Mais Produtiva Que Encontr...TDC2018SP | Trilha UX - Live Coding na Arquitetura Mais Produtiva Que Encontr...
TDC2018SP | Trilha UX - Live Coding na Arquitetura Mais Produtiva Que Encontr...tdc-globalcode
 
Apresentacao Blue Solutions - Armazenamento Simplificado de Alta Performance
Apresentacao Blue Solutions - Armazenamento Simplificado de Alta PerformanceApresentacao Blue Solutions - Armazenamento Simplificado de Alta Performance
Apresentacao Blue Solutions - Armazenamento Simplificado de Alta PerformanceBlue Solutions
 
Como construir sua primeira aplicação de Big Data na AWS
Como construir sua primeira aplicação de Big Data na AWSComo construir sua primeira aplicação de Big Data na AWS
Como construir sua primeira aplicação de Big Data na AWSAmazon Web Services LATAM
 
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o AzureQCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o AzureFabrício Lopes Sanchez
 
Chalice - Grupy-ABC 12/2018
Chalice - Grupy-ABC 12/2018Chalice - Grupy-ABC 12/2018
Chalice - Grupy-ABC 12/2018Erick Muller
 
Desenvolvendo PHP nas nuvens
Desenvolvendo PHP nas nuvensDesenvolvendo PHP nas nuvens
Desenvolvendo PHP nas nuvensHussani Oliveira
 

Mais procurados (14)

Webinar: Data warehouse na nuvem da AWS
Webinar: Data warehouse na nuvem da AWSWebinar: Data warehouse na nuvem da AWS
Webinar: Data warehouse na nuvem da AWS
 
Workshop kubernetes+kops
Workshop kubernetes+kopsWorkshop kubernetes+kops
Workshop kubernetes+kops
 
5º Meetup Datalab - Do nada a Produção usando Arquitetura Serverless
5º Meetup Datalab - Do nada a Produção usando Arquitetura Serverless5º Meetup Datalab - Do nada a Produção usando Arquitetura Serverless
5º Meetup Datalab - Do nada a Produção usando Arquitetura Serverless
 
TDC2018SP | Trilha UX - Live Coding na Arquitetura Mais Produtiva Que Encontr...
TDC2018SP | Trilha UX - Live Coding na Arquitetura Mais Produtiva Que Encontr...TDC2018SP | Trilha UX - Live Coding na Arquitetura Mais Produtiva Que Encontr...
TDC2018SP | Trilha UX - Live Coding na Arquitetura Mais Produtiva Que Encontr...
 
Apresentacao Blue Solutions - Armazenamento Simplificado de Alta Performance
Apresentacao Blue Solutions - Armazenamento Simplificado de Alta PerformanceApresentacao Blue Solutions - Armazenamento Simplificado de Alta Performance
Apresentacao Blue Solutions - Armazenamento Simplificado de Alta Performance
 
Webinar: Introdução a Big data
Webinar: Introdução a Big dataWebinar: Introdução a Big data
Webinar: Introdução a Big data
 
Como construir sua primeira aplicação de Big Data na AWS
Como construir sua primeira aplicação de Big Data na AWSComo construir sua primeira aplicação de Big Data na AWS
Como construir sua primeira aplicação de Big Data na AWS
 
CWI Workshop 2016 - Cloud
CWI Workshop 2016 - CloudCWI Workshop 2016 - Cloud
CWI Workshop 2016 - Cloud
 
Performance Web com ASP.NET MVC
Performance Web com ASP.NET MVCPerformance Web com ASP.NET MVC
Performance Web com ASP.NET MVC
 
ASP .NET Core MVC
ASP .NET Core MVCASP .NET Core MVC
ASP .NET Core MVC
 
Netflix oss
Netflix ossNetflix oss
Netflix oss
 
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o AzureQCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
 
Chalice - Grupy-ABC 12/2018
Chalice - Grupy-ABC 12/2018Chalice - Grupy-ABC 12/2018
Chalice - Grupy-ABC 12/2018
 
Desenvolvendo PHP nas nuvens
Desenvolvendo PHP nas nuvensDesenvolvendo PHP nas nuvens
Desenvolvendo PHP nas nuvens
 

Semelhante a Developer Lounge - AWS Summit SP 2019 - Processando alta demanda de Requisições

Rio Cloud Computing Meetup 25/01/2017 - Lançamentos do AWS re:Invent 2016
Rio Cloud Computing Meetup 25/01/2017 - Lançamentos do AWS re:Invent 2016Rio Cloud Computing Meetup 25/01/2017 - Lançamentos do AWS re:Invent 2016
Rio Cloud Computing Meetup 25/01/2017 - Lançamentos do AWS re:Invent 2016Filipe Barretto
 
Webinar Melhores práticas e lições aprendidas com aplicações sem servidor
Webinar Melhores práticas e lições aprendidas com aplicações sem servidorWebinar Melhores práticas e lições aprendidas com aplicações sem servidor
Webinar Melhores práticas e lições aprendidas com aplicações sem servidorAmazon Web Services LATAM
 
Entregando conteúdo em ambientes extremos na JVM
Entregando conteúdo em ambientes extremos na JVMEntregando conteúdo em ambientes extremos na JVM
Entregando conteúdo em ambientes extremos na JVMRodrigo Zaccara
 
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
 
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
 
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
 
Qcon 2013 - Walmart Frontend Solution using Node.js
Qcon 2013 - Walmart Frontend Solution using Node.jsQcon 2013 - Walmart Frontend Solution using Node.js
Qcon 2013 - Walmart Frontend Solution using Node.jsJorge Walendowsky
 
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
 
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
 
Introdução ao Windows Azure
Introdução ao Windows AzureIntrodução ao Windows Azure
Introdução ao Windows AzureFernando Correia
 
Migrando seu banco de dados para a AWS - Deep Dive em Amazon RDS e AWS Databa...
Migrando seu banco de dados para a AWS - Deep Dive em Amazon RDS e AWS Databa...Migrando seu banco de dados para a AWS - Deep Dive em Amazon RDS e AWS Databa...
Migrando seu banco de dados para a AWS - Deep Dive em Amazon RDS e AWS Databa...Amazon Web Services LATAM
 
Amazon web services
Amazon web servicesAmazon web services
Amazon web servicesMagno Frey
 
Conhecendo as Opcoes de Bancos de Dados na Nuvem da AWS
Conhecendo as Opcoes de Bancos de Dados na Nuvem da AWSConhecendo as Opcoes de Bancos de Dados na Nuvem da AWS
Conhecendo as Opcoes de Bancos de Dados na Nuvem da AWSAmazon Web Services LATAM
 
Uma Arquitetura de Stream Processing e ETL Serverless na AWS
Uma Arquitetura de Stream Processing e ETL Serverless na AWSUma Arquitetura de Stream Processing e ETL Serverless na AWS
Uma Arquitetura de Stream Processing e ETL Serverless na AWSMaycon Viana Bordin
 
Qconsp 2016 escalando uma plataforma de e-mail transacional- aprendizado da...
Qconsp 2016   escalando uma plataforma de e-mail transacional- aprendizado da...Qconsp 2016   escalando uma plataforma de e-mail transacional- aprendizado da...
Qconsp 2016 escalando uma plataforma de e-mail transacional- aprendizado da...fabio perrella
 
Escalando uma plataforma de e-mail transacional- aprendizado das trincheiras
Escalando uma plataforma de e-mail transacional- aprendizado das trincheirasEscalando uma plataforma de e-mail transacional- aprendizado das trincheiras
Escalando uma plataforma de e-mail transacional- aprendizado das trincheirasCelso Crivelaro
 
Por que Cloud Services é o melhor dos mundos?
Por que Cloud Services é o melhor dos mundos? Por que Cloud Services é o melhor dos mundos?
Por que Cloud Services é o melhor dos mundos? Fabrício Lopes Sanchez
 

Semelhante a Developer Lounge - AWS Summit SP 2019 - Processando alta demanda de Requisições (20)

Rio Cloud Computing Meetup 25/01/2017 - Lançamentos do AWS re:Invent 2016
Rio Cloud Computing Meetup 25/01/2017 - Lançamentos do AWS re:Invent 2016Rio Cloud Computing Meetup 25/01/2017 - Lançamentos do AWS re:Invent 2016
Rio Cloud Computing Meetup 25/01/2017 - Lançamentos do AWS re:Invent 2016
 
Arquiteturas de Software para o Século XXI
Arquiteturas de Software para o Século XXIArquiteturas de Software para o Século XXI
Arquiteturas de Software para o Século XXI
 
Webinar Melhores práticas e lições aprendidas com aplicações sem servidor
Webinar Melhores práticas e lições aprendidas com aplicações sem servidorWebinar Melhores práticas e lições aprendidas com aplicações sem servidor
Webinar Melhores práticas e lições aprendidas com aplicações sem servidor
 
Entregando conteúdo em ambientes extremos na JVM
Entregando conteúdo em ambientes extremos na JVMEntregando conteúdo em ambientes extremos na JVM
Entregando conteúdo em ambientes extremos na JVM
 
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
 
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
 
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
 
Qcon 2013 - Walmart Frontend Solution using Node.js
Qcon 2013 - Walmart Frontend Solution using Node.jsQcon 2013 - Walmart Frontend Solution using Node.js
Qcon 2013 - Walmart Frontend Solution using Node.js
 
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
 
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
 
Introdução ao Windows Azure
Introdução ao Windows AzureIntrodução ao Windows Azure
Introdução ao Windows Azure
 
Migrando seu banco de dados para a AWS - Deep Dive em Amazon RDS e AWS Databa...
Migrando seu banco de dados para a AWS - Deep Dive em Amazon RDS e AWS Databa...Migrando seu banco de dados para a AWS - Deep Dive em Amazon RDS e AWS Databa...
Migrando seu banco de dados para a AWS - Deep Dive em Amazon RDS e AWS Databa...
 
Amazon web services
Amazon web servicesAmazon web services
Amazon web services
 
Conhecendo as Opcoes de Bancos de Dados na Nuvem da AWS
Conhecendo as Opcoes de Bancos de Dados na Nuvem da AWSConhecendo as Opcoes de Bancos de Dados na Nuvem da AWS
Conhecendo as Opcoes de Bancos de Dados na Nuvem da AWS
 
Uma Arquitetura de Stream Processing e ETL Serverless na AWS
Uma Arquitetura de Stream Processing e ETL Serverless na AWSUma Arquitetura de Stream Processing e ETL Serverless na AWS
Uma Arquitetura de Stream Processing e ETL Serverless na AWS
 
Qconsp 2016 escalando uma plataforma de e-mail transacional- aprendizado da...
Qconsp 2016   escalando uma plataforma de e-mail transacional- aprendizado da...Qconsp 2016   escalando uma plataforma de e-mail transacional- aprendizado da...
Qconsp 2016 escalando uma plataforma de e-mail transacional- aprendizado da...
 
Escalando uma plataforma de e-mail transacional- aprendizado das trincheiras
Escalando uma plataforma de e-mail transacional- aprendizado das trincheirasEscalando uma plataforma de e-mail transacional- aprendizado das trincheiras
Escalando uma plataforma de e-mail transacional- aprendizado das trincheiras
 
AWS
AWS AWS
AWS
 
Por que Cloud Services é o melhor dos mundos?
Por que Cloud Services é o melhor dos mundos? Por que Cloud Services é o melhor dos mundos?
Por que Cloud Services é o melhor dos mundos?
 
5. rodando containers docker na aws
5. rodando containers docker na aws5. rodando containers docker na aws
5. rodando containers docker na aws
 

Mais de Flávio Pimenta

Construir microservices em python nunca foi tão simples como com o Nameko!
Construir microservices em python nunca foi tão simples como com o Nameko!Construir microservices em python nunca foi tão simples como com o Nameko!
Construir microservices em python nunca foi tão simples como com o Nameko!Flávio Pimenta
 
Quer pagar quanto? Usando instâncias Spot em produção!
Quer pagar quanto? Usando instâncias Spot em produção!Quer pagar quanto? Usando instâncias Spot em produção!
Quer pagar quanto? Usando instâncias Spot em produção!Flávio Pimenta
 
TDC BH 2019 - “Extreme Go Horse”, é técnico ou cultural?
TDC BH 2019 - “Extreme Go Horse”, é técnico ou cultural?TDC BH 2019 - “Extreme Go Horse”, é técnico ou cultural?
TDC BH 2019 - “Extreme Go Horse”, é técnico ou cultural?Flávio Pimenta
 
Flavio.pimenta aws-sp-02-2019-cloud-reducao-custo
Flavio.pimenta aws-sp-02-2019-cloud-reducao-custoFlavio.pimenta aws-sp-02-2019-cloud-reducao-custo
Flavio.pimenta aws-sp-02-2019-cloud-reducao-custoFlávio Pimenta
 
Extraindo métricas em testes de performance
 Extraindo métricas em testes de performance Extraindo métricas em testes de performance
Extraindo métricas em testes de performanceFlávio Pimenta
 
Metralhando o produto com tudo! TDC POA 2018
Metralhando o produto com tudo! TDC POA 2018Metralhando o produto com tudo! TDC POA 2018
Metralhando o produto com tudo! TDC POA 2018Flávio Pimenta
 
Gdg quality fest 2018 - Metralhando o próprio produto com tudo!
Gdg quality fest 2018 - Metralhando o próprio produto com tudo!Gdg quality fest 2018 - Metralhando o próprio produto com tudo!
Gdg quality fest 2018 - Metralhando o próprio produto com tudo!Flávio Pimenta
 
TDCSP2018 - Trilha Cloud - Redução de custo - Flávio Pimenta
TDCSP2018 - Trilha Cloud - Redução de custo - Flávio PimentaTDCSP2018 - Trilha Cloud - Redução de custo - Flávio Pimenta
TDCSP2018 - Trilha Cloud - Redução de custo - Flávio PimentaFlávio Pimenta
 

Mais de Flávio Pimenta (8)

Construir microservices em python nunca foi tão simples como com o Nameko!
Construir microservices em python nunca foi tão simples como com o Nameko!Construir microservices em python nunca foi tão simples como com o Nameko!
Construir microservices em python nunca foi tão simples como com o Nameko!
 
Quer pagar quanto? Usando instâncias Spot em produção!
Quer pagar quanto? Usando instâncias Spot em produção!Quer pagar quanto? Usando instâncias Spot em produção!
Quer pagar quanto? Usando instâncias Spot em produção!
 
TDC BH 2019 - “Extreme Go Horse”, é técnico ou cultural?
TDC BH 2019 - “Extreme Go Horse”, é técnico ou cultural?TDC BH 2019 - “Extreme Go Horse”, é técnico ou cultural?
TDC BH 2019 - “Extreme Go Horse”, é técnico ou cultural?
 
Flavio.pimenta aws-sp-02-2019-cloud-reducao-custo
Flavio.pimenta aws-sp-02-2019-cloud-reducao-custoFlavio.pimenta aws-sp-02-2019-cloud-reducao-custo
Flavio.pimenta aws-sp-02-2019-cloud-reducao-custo
 
Extraindo métricas em testes de performance
 Extraindo métricas em testes de performance Extraindo métricas em testes de performance
Extraindo métricas em testes de performance
 
Metralhando o produto com tudo! TDC POA 2018
Metralhando o produto com tudo! TDC POA 2018Metralhando o produto com tudo! TDC POA 2018
Metralhando o produto com tudo! TDC POA 2018
 
Gdg quality fest 2018 - Metralhando o próprio produto com tudo!
Gdg quality fest 2018 - Metralhando o próprio produto com tudo!Gdg quality fest 2018 - Metralhando o próprio produto com tudo!
Gdg quality fest 2018 - Metralhando o próprio produto com tudo!
 
TDCSP2018 - Trilha Cloud - Redução de custo - Flávio Pimenta
TDCSP2018 - Trilha Cloud - Redução de custo - Flávio PimentaTDCSP2018 - Trilha Cloud - Redução de custo - Flávio Pimenta
TDCSP2018 - Trilha Cloud - Redução de custo - Flávio Pimenta
 

Developer Lounge - AWS Summit SP 2019 - Processando alta demanda de Requisições