SlideShare a Scribd company logo
1 of 47
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Thiago Paulino, Arquiteto de Soluções
2016
Construindo APIs com Amazon API
Gateway e AWS Lambda
O que esperar dessa sessão?
Introdução AWS Lambda
• Benefícios
• Como funciona?
• Arquitetura de Referência
• Demo
Introdução AWS API-Gateway
• Benefícios
• Como funciona?
• Arquitetura de Referência
• Demo
Aplicação rodando na AWS
Aplicação rodando na AWS sem auto-scaling
AWS Lambda
Um serviço de processamento o qual você não tem que pensar em:
• Servidores
• Alta ou baixa capacidade de recursos
• Deploy de aplicações
• Escalabilidade e tolerancia a falhas
• Sistema operacional e atualizações
• Metricas e log
AWS Lambda
…Agora tudo pode ser mais fácil.
• Porte seu código para a AWS com bibliotecas nativas
• Execute código em pararelo
• Crie backends, execução baseada em eventos e processamento de dados
Nunca pague por algo parado!
Aplicação rodando na AWS com Lambda
AWS
Lambda
AWS Lambda
Serverless, event-driven compute service
microservice sem servidores
O que é serverless AWS?
• Serverless = Não pense em servidores
• Lambda: Recursos computacionais baseado em eventos
• API Gateway: Contrua API’s rest com lambda
• Serverless AWS = Lambda + API Gateway
• “Lambda tem pontencial para ser o ponto focal da nuvem
AWS” – Janakiram MSV (janakiram.com)
Benefícios
EVENT-DRIVEN SCALESERVERLESS SUBSECOND BILLING
Por que serverless AWS? Isso é barato…
Como Funciona
1. Upload do código
2. Configure evento e
permissões
3. Lambda executa em
resposta a eventos
4. Pague somente quando
a fução for executada
Integrações
Lambda
Backend
SNS
Cognito
Kinesis
Dynamo
S3
SDK
Mobile, Alexa
…
API Gateway
SES
CloudWatch
CloudFormation
AWS Config
Scheduled events
Pontos de Atenção
Controle de Permissão Stateless
Logging e Monitoramento
Casos de Uso - Tumbnail
Procesamento de arquivos em tempo real
The Seattle Times utiliza AWS Lambda para redimensionar
as imagens do seu site para diferentes dispositivos como:
Computadores(Desktop e notebooks), tablets e
smartphones
Casos de Uso - ETL
Encoding de arquivos
Os estudios de gravação enviam os arquivos para o
Amazon S3. Após o envio uma função Lambda é
executada para iniciar o processo de agregação desses
arquivos, validação, identificação e publicação.
Casos de Uso – Segurança
AWS
Lambda
Demo
Limites
 Resource Limits
 Duração máxima: 5 minutos
 Heap máxima: 1.5 GB
 Armazenamento temporário ("/tmp"): 512 MB
 Número máximo de processos/threads : 1.024
 Tamanho máximo do pacote da aplicação (zip/jar): 50 MB
Estendendo AWS Lambda
 Use o /tmp como cache
 Rode qualquer executável (independente de linguagem)
 Use plugins do Grunt e Jenkins para deploys
 Slack + Lambda
 JAWS: The Server-less Application Framework
Amazon API Gateway
Proliferação de APIs
O número de APIs publicadas está crescendo rapidamente
2418
10302
0
2000
4000
6000
8000
10000
12000
Jun-05
Nov-05
Apr-06
Sep-06
Feb-07
Jul-07
Dec-07
May-08
Oct-08
Mar-09
Aug-09
Jan-10
Jun-10
Nov-10
Apr-11
Sep-11
Feb-12
Jul-12
Dec-12
May-13
Oct-13
* Dados do ProgrammableWeb
Na AWS, nós rodamos muitas APIs
…Com o passar do tempo, nós aprendemos algumas lições
Seu feedback
Gerenciar múltiplas versões e estágios de uma API é difícil.
Seu feedback
Gerenciar múltiplas versões e estágios de uma API é difícil.
Monitorar acessos de desenvolvedores terceiros consome tempo.
Seu feedback
Gerenciar múltiplas versões e estágios de uma API é difícil.
Monitorar acessos de desenvolvedores terceiros consome tempo.
Autorizar acessos é desafiador.
Seu feedback
Gerenciar múltiplas versões e estágios de uma API é difícil.
Monitorar acessos de desenvolvedores terceiros consome tempo.
Autorizar acessos é desafiador.
Picos de tráfego geram um peso operacional.
Seu feedback
Gerenciar múltiplas versões e estágios de uma API é difícil.
Monitorar acessos de desenvolvedores terceiros consome tempo.
Autorizar acessos é desafiador.
Picos de tráfego geram um peso operacional.
E se eu não quiser nenhum servidor?
Amazon API Gateway
Hospede múltiplas versões e ambientes das suas APIs
Crie e distribua chaves de API para desenvolvedores
Beneficie-se da Sigv4/JTW/OAuth para autorizar acesso às APIs
Controle e monitore requisições para proteger o backend, Cache ..
Use AWS Lambda!
Fluxo de uma chamada API
Internet
Mobile
apps
Websites
Serviços
API
Gateway
Funções
AWS
Lambda
AWS
API
Gateway
cache
Endpoints
na Amazon
Qualquer outro
endpoint
acessível
Amazon
CloudWatc
h
Configuração da API
Você pode criar APIs
Definir recursos da API
Definir métodos para o recurso
• Métodos são recurso + HTTP verb
Pet Store
/pets
/pets/{petId}
• GET
• POST
• PUT
Deploy da API
Configuração da API pode ser implantado em
um ambiente (stage)
Stages são ambientes diferentes; por exemplo:
• Dev (e.g., example.com/dev)
• Beta (e.g., example.com/beta)
• Prod (e.g., example.com/prod)
Pet Store
dev
beta
gamma
prod
Gerencie múltiplos ambientes e versões de sua
API
API 1 (v1)
Stage (dev)
Stage (prod)
API 2 (v2)
Stage (dev)
Custom domain names
• Você pode configurar custom domain names
• Forneça API Gateway com um certificado HTTPS
• Custom domain names podem ser apontados para um estágio da API
• Aponte para uma API e ambiente (stage)
• Beta (e.g., yourapi.com/beta)
• Prod (e.g., yourapi.com/prod)
Segurança – Sigv4
Call login API, no
authentication
required
Cliente API Gateway Backend
/login
AWS
Lambda
fn_login
User
accounts
database
Credentials
verified
Amazon Cognito
developer
authenticated
identities
Access and
secret key
/login
Receives
credentials to
sign API calls
Segurança – Custom Authorizer
Caching API responses
Caching API responses
Você pode configurar a chave de cache e TTL da resposta
da API
Itens cacheados retornam sem chamar o backend
Um cache é dedicado para você, por estágio (stage)
0.5 GB a 237 GB de cache
API Gateway
Back end
GET - /sayHello
AWS
Lambda
fn_sayHello
/sayHello
{
“message” : “hello world”
}
<xml>
<message>
Hello world
</message>
</xml>
#set($root = $input.path('$'))
<xml>
<message>
$root.message
</message>
</xml>
Input/output transforms
Input/output transforms
Filtrar resultados de output
• Remover dados privados ou desnecessários
• Filtrar o tamanho do dataset para melhorar a performance da API
GET para POST
• Leia os query string parameters de sua requisição GET e crie um corpo para
fazer requisições POST para seu back end
JSON para XML
• Receba um input JSON e transforme-o em XML para seu back end
• Receba um JSON de uma função AWS Lambda e transforme-o para XML
Outras Funcionalidades
Mock Integration
Importador de Swagger
Gere SDKs a partir de suas APIs
Custom Domain / HTTPS
Client-Side SSL Authentication
Link lambda version
Amazon API Gateway
Demo
Amazon API Gateway
Recapitulando
AWS Lambda
• Não há servidores para serem
gerenciados
• Escalabilidade contínua
• Medidor de sub-segundo
• Econômico e eficiente
• Desempenho em qualquer escala
• Monitore facilmente as atividades
das APIs
• Agilize o desenvolvimento de APIs
• Controles de segurança flexíveis
• Crie endpoints RESTful para
serviços existentes
• Execute suas APIs sem servidores
Construindo APIs com Amazon API Gateway e AWS Lambda

More Related Content

What's hot

AWS for Games - 게임만을 위한 AWS 서비스 길라잡이 (레벨 200) - 진교선, 솔루션즈 아키텍트, AWS ::: Game...
AWS for Games - 게임만을 위한 AWS 서비스 길라잡이 (레벨 200) - 진교선, 솔루션즈 아키텍트, AWS :::  Game...AWS for Games - 게임만을 위한 AWS 서비스 길라잡이 (레벨 200) - 진교선, 솔루션즈 아키텍트, AWS :::  Game...
AWS for Games - 게임만을 위한 AWS 서비스 길라잡이 (레벨 200) - 진교선, 솔루션즈 아키텍트, AWS ::: Game...Amazon Web Services Korea
 
마이크로 서비스 아키텍쳐 소개 및 구현 방법
마이크로 서비스 아키텍쳐 소개 및 구현 방법마이크로 서비스 아키텍쳐 소개 및 구현 방법
마이크로 서비스 아키텍쳐 소개 및 구현 방법Young Soo Lee
 
[AWS Dev Day] 앱 현대화 | DevOps 개발자가 되기 위한 쿠버네티스 핵심 활용 예제 알아보기 - 정영준 AWS 솔루션즈 아키...
[AWS Dev Day] 앱 현대화 | DevOps 개발자가 되기 위한 쿠버네티스 핵심 활용 예제 알아보기 - 정영준 AWS 솔루션즈 아키...[AWS Dev Day] 앱 현대화 | DevOps 개발자가 되기 위한 쿠버네티스 핵심 활용 예제 알아보기 - 정영준 AWS 솔루션즈 아키...
[AWS Dev Day] 앱 현대화 | DevOps 개발자가 되기 위한 쿠버네티스 핵심 활용 예제 알아보기 - 정영준 AWS 솔루션즈 아키...Amazon Web Services Korea
 
복잡한 권한신청문제 ConsoleMe로 해결하기 - 손건 (AB180) :: AWS Community Day Online 2021
복잡한 권한신청문제 ConsoleMe로 해결하기 - 손건 (AB180) :: AWS Community Day Online 2021복잡한 권한신청문제 ConsoleMe로 해결하기 - 손건 (AB180) :: AWS Community Day Online 2021
복잡한 권한신청문제 ConsoleMe로 해결하기 - 손건 (AB180) :: AWS Community Day Online 2021AWSKRUG - AWS한국사용자모임
 
가상 데이터 센터 만들기 VPC 기본 및 연결 옵션- AWS Summit Seoul 2017
가상 데이터 센터 만들기 VPC 기본 및 연결 옵션- AWS Summit Seoul 2017가상 데이터 센터 만들기 VPC 기본 및 연결 옵션- AWS Summit Seoul 2017
가상 데이터 센터 만들기 VPC 기본 및 연결 옵션- AWS Summit Seoul 2017Amazon Web Services Korea
 
쿠알못이 Amazon EKS로 안정적인 서비스 운영하기 - 최용호(넥슨코리아) :: AWS Community Day 2020
쿠알못이 Amazon EKS로 안정적인 서비스 운영하기 - 최용호(넥슨코리아) :: AWS Community Day 2020쿠알못이 Amazon EKS로 안정적인 서비스 운영하기 - 최용호(넥슨코리아) :: AWS Community Day 2020
쿠알못이 Amazon EKS로 안정적인 서비스 운영하기 - 최용호(넥슨코리아) :: AWS Community Day 2020AWSKRUG - AWS한국사용자모임
 
고객의 플랫폼/서비스를 개선한 국내 사례 살펴보기 – 장준성 AWS 솔루션즈 아키텍트, 강산아 NDREAM 팀장, 송영호 야놀자 매니저, ...
고객의 플랫폼/서비스를 개선한 국내 사례 살펴보기 – 장준성 AWS 솔루션즈 아키텍트, 강산아 NDREAM 팀장, 송영호 야놀자 매니저, ...고객의 플랫폼/서비스를 개선한 국내 사례 살펴보기 – 장준성 AWS 솔루션즈 아키텍트, 강산아 NDREAM 팀장, 송영호 야놀자 매니저, ...
고객의 플랫폼/서비스를 개선한 국내 사례 살펴보기 – 장준성 AWS 솔루션즈 아키텍트, 강산아 NDREAM 팀장, 송영호 야놀자 매니저, ...Amazon Web Services Korea
 
AWS 상의 컨테이너 서비스 소개 ECS, EKS - 이종립 / Principle Enterprise Evangelist @베스핀글로벌
AWS 상의 컨테이너 서비스 소개 ECS, EKS - 이종립 / Principle Enterprise Evangelist @베스핀글로벌AWS 상의 컨테이너 서비스 소개 ECS, EKS - 이종립 / Principle Enterprise Evangelist @베스핀글로벌
AWS 상의 컨테이너 서비스 소개 ECS, EKS - 이종립 / Principle Enterprise Evangelist @베스핀글로벌BESPIN GLOBAL
 
쿠키런: 킹덤 대규모 인프라 및 서버 운영 사례 공유 [데브시스터즈 - 레벨 200] - 발표자: 용찬호, R&D 엔지니어, 데브시스터즈 ...
쿠키런: 킹덤 대규모 인프라 및 서버 운영 사례 공유 [데브시스터즈 - 레벨 200] - 발표자: 용찬호, R&D 엔지니어, 데브시스터즈 ...쿠키런: 킹덤 대규모 인프라 및 서버 운영 사례 공유 [데브시스터즈 - 레벨 200] - 발표자: 용찬호, R&D 엔지니어, 데브시스터즈 ...
쿠키런: 킹덤 대규모 인프라 및 서버 운영 사례 공유 [데브시스터즈 - 레벨 200] - 발표자: 용찬호, R&D 엔지니어, 데브시스터즈 ...Amazon Web Services Korea
 
Amazon API Gateway
Amazon API GatewayAmazon API Gateway
Amazon API GatewayMark Bate
 
[IMQA] performance consulting
[IMQA] performance consulting[IMQA] performance consulting
[IMQA] performance consultingIMQA
 
Building API-Driven Microservices with Amazon API Gateway - AWS Online Tech T...
Building API-Driven Microservices with Amazon API Gateway - AWS Online Tech T...Building API-Driven Microservices with Amazon API Gateway - AWS Online Tech T...
Building API-Driven Microservices with Amazon API Gateway - AWS Online Tech T...Amazon Web Services
 
Best Practices for CI/CD with AWS Lambda and Amazon API Gateway (SRV355-R1) -...
Best Practices for CI/CD with AWS Lambda and Amazon API Gateway (SRV355-R1) -...Best Practices for CI/CD with AWS Lambda and Amazon API Gateway (SRV355-R1) -...
Best Practices for CI/CD with AWS Lambda and Amazon API Gateway (SRV355-R1) -...Amazon Web Services
 
천만 사용자를 위한 AWS 클라우드 아키텍처 진화하기 - 김준형 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
천만 사용자를 위한 AWS 클라우드 아키텍처 진화하기 - 김준형 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019천만 사용자를 위한 AWS 클라우드 아키텍처 진화하기 - 김준형 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
천만 사용자를 위한 AWS 클라우드 아키텍처 진화하기 - 김준형 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019Amazon Web Services Korea
 
Amazon EKS를 위한 AWS CDK와 CDK8s 활용법 - 염지원, 김광영 AWS 솔루션즈 아키텍트 :: AWS Summit Seou...
Amazon EKS를 위한 AWS CDK와 CDK8s 활용법 - 염지원, 김광영 AWS 솔루션즈 아키텍트 :: AWS Summit Seou...Amazon EKS를 위한 AWS CDK와 CDK8s 활용법 - 염지원, 김광영 AWS 솔루션즈 아키텍트 :: AWS Summit Seou...
Amazon EKS를 위한 AWS CDK와 CDK8s 활용법 - 염지원, 김광영 AWS 솔루션즈 아키텍트 :: AWS Summit Seou...Amazon Web Services Korea
 
AWS 클라우드 기반 게임 아키텍처 사례 - AWS Summit Seoul 2017
AWS 클라우드 기반 게임 아키텍처 사례 - AWS Summit Seoul 2017AWS 클라우드 기반 게임 아키텍처 사례 - AWS Summit Seoul 2017
AWS 클라우드 기반 게임 아키텍처 사례 - AWS Summit Seoul 2017Amazon Web Services Korea
 
Optimising Cost and Efficiency on AWS
Optimising Cost and Efficiency on AWSOptimising Cost and Efficiency on AWS
Optimising Cost and Efficiency on AWSAmazon Web Services
 
NoSQL 위에서 MMORPG 개발하기
NoSQL 위에서 MMORPG 개발하기NoSQL 위에서 MMORPG 개발하기
NoSQL 위에서 MMORPG 개발하기Hoyoung Choi
 

What's hot (20)

AWS for Games - 게임만을 위한 AWS 서비스 길라잡이 (레벨 200) - 진교선, 솔루션즈 아키텍트, AWS ::: Game...
AWS for Games - 게임만을 위한 AWS 서비스 길라잡이 (레벨 200) - 진교선, 솔루션즈 아키텍트, AWS :::  Game...AWS for Games - 게임만을 위한 AWS 서비스 길라잡이 (레벨 200) - 진교선, 솔루션즈 아키텍트, AWS :::  Game...
AWS for Games - 게임만을 위한 AWS 서비스 길라잡이 (레벨 200) - 진교선, 솔루션즈 아키텍트, AWS ::: Game...
 
마이크로 서비스 아키텍쳐 소개 및 구현 방법
마이크로 서비스 아키텍쳐 소개 및 구현 방법마이크로 서비스 아키텍쳐 소개 및 구현 방법
마이크로 서비스 아키텍쳐 소개 및 구현 방법
 
[AWS Dev Day] 앱 현대화 | DevOps 개발자가 되기 위한 쿠버네티스 핵심 활용 예제 알아보기 - 정영준 AWS 솔루션즈 아키...
[AWS Dev Day] 앱 현대화 | DevOps 개발자가 되기 위한 쿠버네티스 핵심 활용 예제 알아보기 - 정영준 AWS 솔루션즈 아키...[AWS Dev Day] 앱 현대화 | DevOps 개발자가 되기 위한 쿠버네티스 핵심 활용 예제 알아보기 - 정영준 AWS 솔루션즈 아키...
[AWS Dev Day] 앱 현대화 | DevOps 개발자가 되기 위한 쿠버네티스 핵심 활용 예제 알아보기 - 정영준 AWS 솔루션즈 아키...
 
복잡한 권한신청문제 ConsoleMe로 해결하기 - 손건 (AB180) :: AWS Community Day Online 2021
복잡한 권한신청문제 ConsoleMe로 해결하기 - 손건 (AB180) :: AWS Community Day Online 2021복잡한 권한신청문제 ConsoleMe로 해결하기 - 손건 (AB180) :: AWS Community Day Online 2021
복잡한 권한신청문제 ConsoleMe로 해결하기 - 손건 (AB180) :: AWS Community Day Online 2021
 
가상 데이터 센터 만들기 VPC 기본 및 연결 옵션- AWS Summit Seoul 2017
가상 데이터 센터 만들기 VPC 기본 및 연결 옵션- AWS Summit Seoul 2017가상 데이터 센터 만들기 VPC 기본 및 연결 옵션- AWS Summit Seoul 2017
가상 데이터 센터 만들기 VPC 기본 및 연결 옵션- AWS Summit Seoul 2017
 
쿠알못이 Amazon EKS로 안정적인 서비스 운영하기 - 최용호(넥슨코리아) :: AWS Community Day 2020
쿠알못이 Amazon EKS로 안정적인 서비스 운영하기 - 최용호(넥슨코리아) :: AWS Community Day 2020쿠알못이 Amazon EKS로 안정적인 서비스 운영하기 - 최용호(넥슨코리아) :: AWS Community Day 2020
쿠알못이 Amazon EKS로 안정적인 서비스 운영하기 - 최용호(넥슨코리아) :: AWS Community Day 2020
 
고객의 플랫폼/서비스를 개선한 국내 사례 살펴보기 – 장준성 AWS 솔루션즈 아키텍트, 강산아 NDREAM 팀장, 송영호 야놀자 매니저, ...
고객의 플랫폼/서비스를 개선한 국내 사례 살펴보기 – 장준성 AWS 솔루션즈 아키텍트, 강산아 NDREAM 팀장, 송영호 야놀자 매니저, ...고객의 플랫폼/서비스를 개선한 국내 사례 살펴보기 – 장준성 AWS 솔루션즈 아키텍트, 강산아 NDREAM 팀장, 송영호 야놀자 매니저, ...
고객의 플랫폼/서비스를 개선한 국내 사례 살펴보기 – 장준성 AWS 솔루션즈 아키텍트, 강산아 NDREAM 팀장, 송영호 야놀자 매니저, ...
 
AWS 상의 컨테이너 서비스 소개 ECS, EKS - 이종립 / Principle Enterprise Evangelist @베스핀글로벌
AWS 상의 컨테이너 서비스 소개 ECS, EKS - 이종립 / Principle Enterprise Evangelist @베스핀글로벌AWS 상의 컨테이너 서비스 소개 ECS, EKS - 이종립 / Principle Enterprise Evangelist @베스핀글로벌
AWS 상의 컨테이너 서비스 소개 ECS, EKS - 이종립 / Principle Enterprise Evangelist @베스핀글로벌
 
쿠키런: 킹덤 대규모 인프라 및 서버 운영 사례 공유 [데브시스터즈 - 레벨 200] - 발표자: 용찬호, R&D 엔지니어, 데브시스터즈 ...
쿠키런: 킹덤 대규모 인프라 및 서버 운영 사례 공유 [데브시스터즈 - 레벨 200] - 발표자: 용찬호, R&D 엔지니어, 데브시스터즈 ...쿠키런: 킹덤 대규모 인프라 및 서버 운영 사례 공유 [데브시스터즈 - 레벨 200] - 발표자: 용찬호, R&D 엔지니어, 데브시스터즈 ...
쿠키런: 킹덤 대규모 인프라 및 서버 운영 사례 공유 [데브시스터즈 - 레벨 200] - 발표자: 용찬호, R&D 엔지니어, 데브시스터즈 ...
 
Amazon API Gateway
Amazon API GatewayAmazon API Gateway
Amazon API Gateway
 
[IMQA] performance consulting
[IMQA] performance consulting[IMQA] performance consulting
[IMQA] performance consulting
 
Building API-Driven Microservices with Amazon API Gateway - AWS Online Tech T...
Building API-Driven Microservices with Amazon API Gateway - AWS Online Tech T...Building API-Driven Microservices with Amazon API Gateway - AWS Online Tech T...
Building API-Driven Microservices with Amazon API Gateway - AWS Online Tech T...
 
Best Practices for CI/CD with AWS Lambda and Amazon API Gateway (SRV355-R1) -...
Best Practices for CI/CD with AWS Lambda and Amazon API Gateway (SRV355-R1) -...Best Practices for CI/CD with AWS Lambda and Amazon API Gateway (SRV355-R1) -...
Best Practices for CI/CD with AWS Lambda and Amazon API Gateway (SRV355-R1) -...
 
천만 사용자를 위한 AWS 클라우드 아키텍처 진화하기 - 김준형 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
천만 사용자를 위한 AWS 클라우드 아키텍처 진화하기 - 김준형 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019천만 사용자를 위한 AWS 클라우드 아키텍처 진화하기 - 김준형 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
천만 사용자를 위한 AWS 클라우드 아키텍처 진화하기 - 김준형 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
 
Cómo empezar con Amazon EKS
Cómo empezar con Amazon EKSCómo empezar con Amazon EKS
Cómo empezar con Amazon EKS
 
Amazon EKS를 위한 AWS CDK와 CDK8s 활용법 - 염지원, 김광영 AWS 솔루션즈 아키텍트 :: AWS Summit Seou...
Amazon EKS를 위한 AWS CDK와 CDK8s 활용법 - 염지원, 김광영 AWS 솔루션즈 아키텍트 :: AWS Summit Seou...Amazon EKS를 위한 AWS CDK와 CDK8s 활용법 - 염지원, 김광영 AWS 솔루션즈 아키텍트 :: AWS Summit Seou...
Amazon EKS를 위한 AWS CDK와 CDK8s 활용법 - 염지원, 김광영 AWS 솔루션즈 아키텍트 :: AWS Summit Seou...
 
AWS 클라우드 기반 게임 아키텍처 사례 - AWS Summit Seoul 2017
AWS 클라우드 기반 게임 아키텍처 사례 - AWS Summit Seoul 2017AWS 클라우드 기반 게임 아키텍처 사례 - AWS Summit Seoul 2017
AWS 클라우드 기반 게임 아키텍처 사례 - AWS Summit Seoul 2017
 
모두싸인의 AWS 성장기
모두싸인의 AWS 성장기모두싸인의 AWS 성장기
모두싸인의 AWS 성장기
 
Optimising Cost and Efficiency on AWS
Optimising Cost and Efficiency on AWSOptimising Cost and Efficiency on AWS
Optimising Cost and Efficiency on AWS
 
NoSQL 위에서 MMORPG 개발하기
NoSQL 위에서 MMORPG 개발하기NoSQL 위에서 MMORPG 개발하기
NoSQL 위에서 MMORPG 개발하기
 

Viewers also liked

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
 
AWS Marketplace: Busque, obtenga y despliegue software empresarial en minutos!
AWS Marketplace: Busque, obtenga y despliegue software empresarial en minutos!AWS Marketplace: Busque, obtenga y despliegue software empresarial en minutos!
AWS Marketplace: Busque, obtenga y despliegue software empresarial en minutos!Amazon Web Services LATAM
 
Introdução ao Data Warehouse Amazon Redshift
Introdução ao Data Warehouse Amazon RedshiftIntrodução ao Data Warehouse Amazon Redshift
Introdução ao Data Warehouse Amazon RedshiftAmazon Web Services LATAM
 
Começando com aplicações serverless na AWS
 Começando com aplicações serverless na AWS Começando com aplicações serverless na AWS
Começando com aplicações serverless na AWSAmazon Web Services LATAM
 
Escalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuariosEscalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuariosAmazon Web Services LATAM
 
Benefícios e melhores práticas no uso do Amazon Redshift
Benefícios e melhores práticas no uso do Amazon RedshiftBenefícios e melhores práticas no uso do Amazon Redshift
Benefícios e melhores práticas no uso do Amazon RedshiftAmazon Web Services LATAM
 
Comenzando con los servicios móviles en AWS
Comenzando con los servicios móviles en AWSComenzando con los servicios móviles en AWS
Comenzando con los servicios móviles en AWSAmazon Web Services LATAM
 

Viewers also liked (20)

Criando e conectando seu datacenter virtual
Criando e conectando seu datacenter virtualCriando e conectando seu datacenter virtual
Criando e conectando seu datacenter virtual
 
Escalando sua aplicação Web com Beanstalk
Escalando sua aplicação Web com BeanstalkEscalando sua aplicação Web com Beanstalk
Escalando sua aplicação Web com Beanstalk
 
¿Quien es Amazon Web Services?
¿Quien es Amazon Web Services?¿Quien es Amazon Web Services?
¿Quien es Amazon Web Services?
 
Productos de redes con AWS
Productos de redes con AWSProductos de redes con AWS
Productos de redes con AWS
 
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
 
Tendências de Big Data
Tendências de Big DataTendências de Big Data
Tendências de Big Data
 
AWS Marketplace: Busque, obtenga y despliegue software empresarial en minutos!
AWS Marketplace: Busque, obtenga y despliegue software empresarial en minutos!AWS Marketplace: Busque, obtenga y despliegue software empresarial en minutos!
AWS Marketplace: Busque, obtenga y despliegue software empresarial en minutos!
 
Introdução ao Data Warehouse Amazon Redshift
Introdução ao Data Warehouse Amazon RedshiftIntrodução ao Data Warehouse Amazon Redshift
Introdução ao Data Warehouse Amazon Redshift
 
Começando com aplicações serverless na AWS
 Começando com aplicações serverless na AWS Começando com aplicações serverless na AWS
Começando com aplicações serverless na AWS
 
Almacenamiento en la nube con AWS
Almacenamiento en la nube con AWSAlmacenamiento en la nube con AWS
Almacenamiento en la nube con AWS
 
Bases de datos en la nube con AWS
Bases de datos en la nube con AWSBases de datos en la nube con AWS
Bases de datos en la nube con AWS
 
Comenzando con AWS Mobile Services
Comenzando con AWS Mobile ServicesComenzando con AWS Mobile Services
Comenzando con AWS Mobile Services
 
Contruyendo tu primera aplicación con AWS
Contruyendo tu primera aplicación con AWSContruyendo tu primera aplicación con AWS
Contruyendo tu primera aplicación con AWS
 
Contruyendo tu primera aplicación con AWS
Contruyendo tu primera aplicación con AWSContruyendo tu primera aplicación con AWS
Contruyendo tu primera aplicación con AWS
 
Escalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuariosEscalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuarios
 
Cloud Computing con Amazon Web Services
 Cloud Computing con Amazon Web Services Cloud Computing con Amazon Web Services
Cloud Computing con Amazon Web Services
 
Benefícios e melhores práticas no uso do Amazon Redshift
Benefícios e melhores práticas no uso do Amazon RedshiftBenefícios e melhores práticas no uso do Amazon Redshift
Benefícios e melhores práticas no uso do Amazon Redshift
 
Compute Services con AWS
Compute Services con AWSCompute Services con AWS
Compute Services con AWS
 
Comenzando con los servicios móviles en AWS
Comenzando con los servicios móviles en AWSComenzando con los servicios móviles en AWS
Comenzando con los servicios móviles en AWS
 
EC2 Computo en la Nube
EC2 Computo en la NubeEC2 Computo en la Nube
EC2 Computo en la Nube
 

Similar to Construindo APIs com Amazon API Gateway e AWS Lambda

Deep dive em aceleração de entrega de conteúdo, APIs e Aplicações utilizando ...
Deep dive em aceleração de entrega de conteúdo, APIs e Aplicações utilizando ...Deep dive em aceleração de entrega de conteúdo, APIs e Aplicações utilizando ...
Deep dive em aceleração de entrega de conteúdo, APIs e Aplicações utilizando ...Amazon Web Services LATAM
 
Mergulhando em desenvolvimento de aplicações serverless
Mergulhando em desenvolvimento de aplicações serverlessMergulhando em desenvolvimento de aplicações serverless
Mergulhando em desenvolvimento de aplicações serverlessAmazon Web Services LATAM
 
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
 
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
 
Serverless Framework - Creating serverless applications
Serverless Framework - Creating serverless applicationsServerless Framework - Creating serverless applications
Serverless Framework - Creating serverless applicationsWallison Marra
 
Automatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWSAutomatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWSAmazon Web Services LATAM
 
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
 
Twelve-Factor serverless applications - MAD302 - São Paulo AWS Summit
Twelve-Factor serverless applications - MAD302 - São Paulo AWS SummitTwelve-Factor serverless applications - MAD302 - São Paulo AWS Summit
Twelve-Factor serverless applications - MAD302 - São Paulo AWS SummitAmazon Web Services
 
Arquitetura Serverless e AWS Lambda - Demo Session
Arquitetura Serverless e AWS Lambda - Demo SessionArquitetura Serverless e AWS Lambda - Demo Session
Arquitetura Serverless e AWS Lambda - Demo SessionAmazon Web Services LATAM
 
Segurança e automação na Amazon: Lições das trincheiras
Segurança e automação na Amazon: Lições das trincheirasSegurança e automação na Amazon: Lições das trincheiras
Segurança e automação na Amazon: Lições das trincheirasBruno Luiz Pereira da Silva
 
Desvendando a Plataforma de Serviços Windows Azure
Desvendando a Plataforma de Serviços Windows AzureDesvendando a Plataforma de Serviços Windows Azure
Desvendando a Plataforma de Serviços Windows AzureLucasRomao
 
Amazon web services
Amazon web servicesAmazon web services
Amazon web servicesMagno Frey
 
DevOps na AWS: Construindo Sistemas para Entregas Rápidas - DEV301 - Sao Pau...
DevOps na AWS: Construindo Sistemas para Entregas Rápidas -  DEV301 - Sao Pau...DevOps na AWS: Construindo Sistemas para Entregas Rápidas -  DEV301 - Sao Pau...
DevOps na AWS: Construindo Sistemas para Entregas Rápidas - DEV301 - Sao Pau...Amazon Web Services
 
Chalice - Grupy-ABC 12/2018
Chalice - Grupy-ABC 12/2018Chalice - Grupy-ABC 12/2018
Chalice - Grupy-ABC 12/2018Erick Muller
 
Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...
Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...
Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...Amazon Web Services LATAM
 

Similar to Construindo APIs com Amazon API Gateway e AWS Lambda (20)

AWS
AWS AWS
AWS
 
Deep dive em aceleração de entrega de conteúdo, APIs e Aplicações utilizando ...
Deep dive em aceleração de entrega de conteúdo, APIs e Aplicações utilizando ...Deep dive em aceleração de entrega de conteúdo, APIs e Aplicações utilizando ...
Deep dive em aceleração de entrega de conteúdo, APIs e Aplicações utilizando ...
 
Mergulhando em desenvolvimento de aplicações serverless
Mergulhando em desenvolvimento de aplicações serverlessMergulhando em desenvolvimento de aplicações serverless
Mergulhando em desenvolvimento de aplicações serverless
 
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
 
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
 
Serverless Framework - Creating serverless applications
Serverless Framework - Creating serverless applicationsServerless Framework - Creating serverless applications
Serverless Framework - Creating serverless applications
 
Criando Aplicações Serverless
Criando Aplicações ServerlessCriando Aplicações Serverless
Criando Aplicações Serverless
 
Automatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWSAutomatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWS
 
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
 
Primeiros Passos na AWS
Primeiros Passos na AWSPrimeiros Passos na AWS
Primeiros Passos na AWS
 
Primeiros Passos na AWS
Primeiros Passos na AWSPrimeiros Passos na AWS
Primeiros Passos na AWS
 
Twelve-Factor serverless applications - MAD302 - São Paulo AWS Summit
Twelve-Factor serverless applications - MAD302 - São Paulo AWS SummitTwelve-Factor serverless applications - MAD302 - São Paulo AWS Summit
Twelve-Factor serverless applications - MAD302 - São Paulo AWS Summit
 
Arquitetura Serverless e AWS Lambda - Demo Session
Arquitetura Serverless e AWS Lambda - Demo SessionArquitetura Serverless e AWS Lambda - Demo Session
Arquitetura Serverless e AWS Lambda - Demo Session
 
Integrando infraestruturas híbridas
Integrando infraestruturas híbridas Integrando infraestruturas híbridas
Integrando infraestruturas híbridas
 
Segurança e automação na Amazon: Lições das trincheiras
Segurança e automação na Amazon: Lições das trincheirasSegurança e automação na Amazon: Lições das trincheiras
Segurança e automação na Amazon: Lições das trincheiras
 
Desvendando a Plataforma de Serviços Windows Azure
Desvendando a Plataforma de Serviços Windows AzureDesvendando a Plataforma de Serviços Windows Azure
Desvendando a Plataforma de Serviços Windows Azure
 
Amazon web services
Amazon web servicesAmazon web services
Amazon web services
 
DevOps na AWS: Construindo Sistemas para Entregas Rápidas - DEV301 - Sao Pau...
DevOps na AWS: Construindo Sistemas para Entregas Rápidas -  DEV301 - Sao Pau...DevOps na AWS: Construindo Sistemas para Entregas Rápidas -  DEV301 - Sao Pau...
DevOps na AWS: Construindo Sistemas para Entregas Rápidas - DEV301 - Sao Pau...
 
Chalice - Grupy-ABC 12/2018
Chalice - Grupy-ABC 12/2018Chalice - Grupy-ABC 12/2018
Chalice - Grupy-ABC 12/2018
 
Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...
Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...
Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...
 

More from Amazon 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
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAmazon Web Services LATAM
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.Amazon 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
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAmazon Web Services LATAM
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.Amazon Web Services LATAM
 
Automatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAutomatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAmazon Web Services LATAM
 
Ransomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWSRansomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWSAmazon Web Services LATAM
 
Ransomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWSRansomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWSAmazon Web Services LATAM
 
Aprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWSAprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWSAmazon Web Services LATAM
 
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWSAprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWSAmazon Web Services LATAM
 
Cómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administradosCómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administradosAmazon Web Services LATAM
 
Os benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWSOs benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWSAmazon Web Services LATAM
 
Los beneficios de migrar sus cargas de trabajo de big data a AWS
Los beneficios de migrar sus cargas de trabajo de big data a AWSLos beneficios de migrar sus cargas de trabajo de big data a AWS
Los beneficios de migrar sus cargas de trabajo de big data a AWSAmazon Web Services LATAM
 

More from Amazon Web Services LATAM (20)

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 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
 
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 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
 
Automatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAutomatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWS
 
Como começar com Amazon EKS
Como começar com Amazon EKSComo começar com Amazon EKS
Como começar com Amazon EKS
 
Ransomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWSRansomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWS
 
Ransomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWSRansomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWS
 
Ransomware: Estratégias de Mitigação
Ransomware: Estratégias de MitigaçãoRansomware: Estratégias de Mitigação
Ransomware: Estratégias de Mitigação
 
Ransomware: Estratégias de Mitigación
Ransomware: Estratégias de MitigaciónRansomware: Estratégias de Mitigación
Ransomware: Estratégias de Mitigación
 
Aprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWSAprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWS
 
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWSAprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
 
Cómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administradosCómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administrados
 
Simplifique su BI con AWS
Simplifique su BI con AWSSimplifique su BI con AWS
Simplifique su BI con AWS
 
Simplifique o seu BI com a AWS
Simplifique o seu BI com a AWSSimplifique o seu BI com a AWS
Simplifique o seu BI com a AWS
 
Os benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWSOs benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWS
 
Los beneficios de migrar sus cargas de trabajo de big data a AWS
Los beneficios de migrar sus cargas de trabajo de big data a AWSLos beneficios de migrar sus cargas de trabajo de big data a AWS
Los beneficios de migrar sus cargas de trabajo de big data a AWS
 
Bases de datos NoSQL en AWS
Bases de datos NoSQL en AWSBases de datos NoSQL en AWS
Bases de datos NoSQL en AWS
 

Construindo APIs com Amazon API Gateway e AWS Lambda

  • 1. © 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Thiago Paulino, Arquiteto de Soluções 2016 Construindo APIs com Amazon API Gateway e AWS Lambda
  • 2. O que esperar dessa sessão? Introdução AWS Lambda • Benefícios • Como funciona? • Arquitetura de Referência • Demo Introdução AWS API-Gateway • Benefícios • Como funciona? • Arquitetura de Referência • Demo
  • 4. Aplicação rodando na AWS sem auto-scaling
  • 5. AWS Lambda Um serviço de processamento o qual você não tem que pensar em: • Servidores • Alta ou baixa capacidade de recursos • Deploy de aplicações • Escalabilidade e tolerancia a falhas • Sistema operacional e atualizações • Metricas e log
  • 6. AWS Lambda …Agora tudo pode ser mais fácil. • Porte seu código para a AWS com bibliotecas nativas • Execute código em pararelo • Crie backends, execução baseada em eventos e processamento de dados Nunca pague por algo parado!
  • 7. Aplicação rodando na AWS com Lambda
  • 9. AWS Lambda Serverless, event-driven compute service microservice sem servidores
  • 10. O que é serverless AWS? • Serverless = Não pense em servidores • Lambda: Recursos computacionais baseado em eventos • API Gateway: Contrua API’s rest com lambda • Serverless AWS = Lambda + API Gateway • “Lambda tem pontencial para ser o ponto focal da nuvem AWS” – Janakiram MSV (janakiram.com)
  • 12. Por que serverless AWS? Isso é barato…
  • 13. Como Funciona 1. Upload do código 2. Configure evento e permissões 3. Lambda executa em resposta a eventos 4. Pague somente quando a fução for executada
  • 15. Pontos de Atenção Controle de Permissão Stateless Logging e Monitoramento
  • 16. Casos de Uso - Tumbnail
  • 17. Procesamento de arquivos em tempo real The Seattle Times utiliza AWS Lambda para redimensionar as imagens do seu site para diferentes dispositivos como: Computadores(Desktop e notebooks), tablets e smartphones
  • 18. Casos de Uso - ETL
  • 19. Encoding de arquivos Os estudios de gravação enviam os arquivos para o Amazon S3. Após o envio uma função Lambda é executada para iniciar o processo de agregação desses arquivos, validação, identificação e publicação.
  • 20. Casos de Uso – Segurança
  • 22. Limites  Resource Limits  Duração máxima: 5 minutos  Heap máxima: 1.5 GB  Armazenamento temporário ("/tmp"): 512 MB  Número máximo de processos/threads : 1.024  Tamanho máximo do pacote da aplicação (zip/jar): 50 MB
  • 23. Estendendo AWS Lambda  Use o /tmp como cache  Rode qualquer executável (independente de linguagem)  Use plugins do Grunt e Jenkins para deploys  Slack + Lambda  JAWS: The Server-less Application Framework
  • 25. Proliferação de APIs O número de APIs publicadas está crescendo rapidamente 2418 10302 0 2000 4000 6000 8000 10000 12000 Jun-05 Nov-05 Apr-06 Sep-06 Feb-07 Jul-07 Dec-07 May-08 Oct-08 Mar-09 Aug-09 Jan-10 Jun-10 Nov-10 Apr-11 Sep-11 Feb-12 Jul-12 Dec-12 May-13 Oct-13 * Dados do ProgrammableWeb
  • 26. Na AWS, nós rodamos muitas APIs …Com o passar do tempo, nós aprendemos algumas lições
  • 27. Seu feedback Gerenciar múltiplas versões e estágios de uma API é difícil.
  • 28. Seu feedback Gerenciar múltiplas versões e estágios de uma API é difícil. Monitorar acessos de desenvolvedores terceiros consome tempo.
  • 29. Seu feedback Gerenciar múltiplas versões e estágios de uma API é difícil. Monitorar acessos de desenvolvedores terceiros consome tempo. Autorizar acessos é desafiador.
  • 30. Seu feedback Gerenciar múltiplas versões e estágios de uma API é difícil. Monitorar acessos de desenvolvedores terceiros consome tempo. Autorizar acessos é desafiador. Picos de tráfego geram um peso operacional.
  • 31. Seu feedback Gerenciar múltiplas versões e estágios de uma API é difícil. Monitorar acessos de desenvolvedores terceiros consome tempo. Autorizar acessos é desafiador. Picos de tráfego geram um peso operacional. E se eu não quiser nenhum servidor?
  • 32. Amazon API Gateway Hospede múltiplas versões e ambientes das suas APIs Crie e distribua chaves de API para desenvolvedores Beneficie-se da Sigv4/JTW/OAuth para autorizar acesso às APIs Controle e monitore requisições para proteger o backend, Cache .. Use AWS Lambda!
  • 33. Fluxo de uma chamada API Internet Mobile apps Websites Serviços API Gateway Funções AWS Lambda AWS API Gateway cache Endpoints na Amazon Qualquer outro endpoint acessível Amazon CloudWatc h
  • 34. Configuração da API Você pode criar APIs Definir recursos da API Definir métodos para o recurso • Métodos são recurso + HTTP verb Pet Store /pets /pets/{petId} • GET • POST • PUT
  • 35. Deploy da API Configuração da API pode ser implantado em um ambiente (stage) Stages são ambientes diferentes; por exemplo: • Dev (e.g., example.com/dev) • Beta (e.g., example.com/beta) • Prod (e.g., example.com/prod) Pet Store dev beta gamma prod
  • 36. Gerencie múltiplos ambientes e versões de sua API API 1 (v1) Stage (dev) Stage (prod) API 2 (v2) Stage (dev)
  • 37. Custom domain names • Você pode configurar custom domain names • Forneça API Gateway com um certificado HTTPS • Custom domain names podem ser apontados para um estágio da API • Aponte para uma API e ambiente (stage) • Beta (e.g., yourapi.com/beta) • Prod (e.g., yourapi.com/prod)
  • 38. Segurança – Sigv4 Call login API, no authentication required Cliente API Gateway Backend /login AWS Lambda fn_login User accounts database Credentials verified Amazon Cognito developer authenticated identities Access and secret key /login Receives credentials to sign API calls
  • 39. Segurança – Custom Authorizer
  • 41. Caching API responses Você pode configurar a chave de cache e TTL da resposta da API Itens cacheados retornam sem chamar o backend Um cache é dedicado para você, por estágio (stage) 0.5 GB a 237 GB de cache
  • 42. API Gateway Back end GET - /sayHello AWS Lambda fn_sayHello /sayHello { “message” : “hello world” } <xml> <message> Hello world </message> </xml> #set($root = $input.path('$')) <xml> <message> $root.message </message> </xml> Input/output transforms
  • 43. Input/output transforms Filtrar resultados de output • Remover dados privados ou desnecessários • Filtrar o tamanho do dataset para melhorar a performance da API GET para POST • Leia os query string parameters de sua requisição GET e crie um corpo para fazer requisições POST para seu back end JSON para XML • Receba um input JSON e transforme-o em XML para seu back end • Receba um JSON de uma função AWS Lambda e transforme-o para XML
  • 44. Outras Funcionalidades Mock Integration Importador de Swagger Gere SDKs a partir de suas APIs Custom Domain / HTTPS Client-Side SSL Authentication Link lambda version
  • 46. Amazon API Gateway Recapitulando AWS Lambda • Não há servidores para serem gerenciados • Escalabilidade contínua • Medidor de sub-segundo • Econômico e eficiente • Desempenho em qualquer escala • Monitore facilmente as atividades das APIs • Agilize o desenvolvimento de APIs • Controles de segurança flexíveis • Crie endpoints RESTful para serviços existentes • Execute suas APIs sem servidores

Editor's Notes

  1. 1 - AWS Lambda automatically runs your code without requiring you to provision or manage servers. Just write the code and upload it to Lambda. 2 - AWS Lambda automatically scales your application by running code in response to each trigger. Your code runs in parallel and processes each trigger individually, scaling precisely with the size of the workload. 3 - With AWS Lambda, you are charged for every 100ms your code executes and the number of times your code is triggered. You don't pay anything when your code isn't running.
  2. verify data formats, audit out-of-range values, filter and copy data to other tables - Add in API Gateway here as that is a huge use case. You may want to ensure you have the complete list of integrated services. - You may want to talk a bit about the push versus pull model of invocation, as well as the request response
  3. verify data formats, audit out-of-range values, filter and copy data to other tables - Add in API Gateway here as that is a huge use case. You may want to ensure you have the complete list of integrated services. - You may want to talk a bit about the push versus pull model of invocation, as well as the request response
  4. verify data formats, audit out-of-range values, filter and copy data to other tables - Add in API Gateway here as that is a huge use case. You may want to ensure you have the complete list of integrated services. - You may want to talk a bit about the push versus pull model of invocation, as well as the request response
  5. verify data formats, audit out-of-range values, filter and copy data to other tables - Add in API Gateway here as that is a huge use case. You may want to ensure you have the complete list of integrated services. - You may want to talk a bit about the push versus pull model of invocation, as well as the request response
  6. Let’s look in details at the hierarchical structure of an API The top level element is the API itself, we call it a REST API. A rest API can contain many resources, resources are typed objects that are part of your API’s domain. They also represent the path through which the objects will be accessible You can nest resources, in our example the /pet/{petId} represents an individual pet and is a nested resource of the /pets/ resource. Each resource can declare methods. Methods are the combination of a resource + an HTTP Verb. We support 7 standard HTTP Verbs, For example, a method is the POST to the /pets/{petId} resources – this would be used to create a new pet
  7. Now that we have declared an API with its resources and methods, we can deploy it to make it accessible to 3rd party developers APIs are deployed to a Stage Stages represent environments, for example development of production In API Gateway Stages are like tags, and developers can create as many stages as they want. A stage is just an alphanumeric string Stages are part of the path that will be used to reach sources and methods, for example the prod stage will be available at execute-api.apigateway.com/stage/resource
  8. This is a visual representation of how versions and stages are managed by the API Gateway, and how customers can leverage these features for their APIs The first thing we’ll do is declared a V1 API and start configuring its resources and methods The next step is to deploy the API to a development stage, we’ll keep deploying to development as we evolve our API At a certain point, when we are ready for 3rd party developers to access this API, we will publish it to a production stage and distribute API Keys and generated SDKs All along we will keep deploying APIs to both dev and prod including new features and bug fixed Eventually we’ll want to make some breaking changes, and work on a much improved v2 API. However, we cannot make breaking changes to the API in production because we have thousands of developers using it. To manage this situation we’ll simply clone the current state of the v1 API into a new API called v2, and begin development of the new version By cloning we can keep publishing bug fixes to the first release and supporting users that are calling it with a gentle, gradual deprecation “… developers feel like they can deliver what they want, when they want to – and that makes for an extremely valuable tool …”
  9. Customers can configure the API Gateway to use a custom domain name they provide instead of the standard AWS domain. We expect customers to bring their own signed certificate for the HTTPS endpoints Domain names can be configured to point to an API, our top level item, or directly to a specific stage within an API. Pointing a custom domain name to an API requires the stage to be included in the path If the domain name is pointed directly at a stage there is no need for the path variable, resources can be accessed directly form the API root “/”
  10. API Gateway uses throttling to help protect customer backends and send only request that they can handle To implement throttling we use the token bucket algorithm Customers can set the number of RPS calls they know their backend can handle, and a rate at which the bucket is refilled
  11. API Gateway uses throttling to help protect customer backends and send only request that they can handle To implement throttling we use the token bucket algorithm Customers can set the number of RPS calls they know their backend can handle, and a rate at which the bucket is refilled
  12. Let’s put the two together and look at the execution path of an API call First, when we receive a request, we will check the dedicated cache (if it’s been configured) If we have an item in the cache then we can handle the request regardless of the throttling configuration, it will have no effect on our customer’s backend Next, if we don’t have a cache, we check the throttling configuration and the current throttling state (our bucket) If we are above the limit we will return a 429 response Otherwise we will execute the backend call and return the result As we mentioned our generated SDKs automatically know how to handle throttling responses, and they will perform an exponential backoff while retrying the call
  13. To limit the number of requests their backend can receive, and further bring down latency customers can configure a dedicated cache for each stage of their API For each method in their APIs customers can configure which parameters between path, query string and headers form the item key in the cache, and assign each item a time to live API Gateway automatically caches responses where configured and avoids calling the customer’s backend if the cached item is available and valid Customers have access to APIs to manage their cache in the API Gateway When a stage is configured with a dedicated cache, and an item is found to be in cache and valid for a request that would otherwise be throttled, the API Gateway will handle the request and return the cached response Customers can pick for a range of possible cache sizes to provision a dedicated cache from their stage, from 0.5GB all the way up to 237GB
  14. Example of a simple transformation flow API Gateway + Lambda = Server-less backend Use AWS Lambda to run business logic Use API Gateway to expose the AWS Lambda functions as endpoints Transforms Lambda’s JSON output to XML for their APIs
  15. Let’s look at how request and response data can be transformed in-flight. We use Apache Velocity as the standard to create, save and execute templates We have been working with our customers on this and during development we have seen the following use-cases from them Filter API responses. In many cases legacy APIs tended to return verbose responses with too many objects. Large payloads are a struggle for mobile applications, so customers are using the templates to traverse the response schema and filter the output to return only the necessary fields RPC to REST. Customers have RPC-style APIs that they wanted to expose to the world in the form of RESTful APIs. RPC often only accept POST calls. Customers used the transform templates to accept a GET call in the API Gateway, then generate the POST body for their backend call reading parameters from the path, query string and headers Customers who want to leverage Lambda but only run XML APIs have been using the transform templates to receive the JSON output from Lambda, and turn it into an XML before sending it back to the end user. This has allowed them to completely switch their backend technology while causing no disruption for 3rd party developers utilizing their APIs, very neat tablecloth trick. Example: Twilio
  16. API Gateway can generate client SDKs based on a customer’s API definition. Simply select the deployment the SDK should target, the platform, and setup a couple of parameters and the API Gateway generates an SDK and makes it available to download through an API or the management console SDK are model-aware and also come with the built-in AWS core that allows them to handle throttling responses and sign requests using AWS Credentials
  17. 30 segundos para apresentar a empresa, rapidamente
  18. Os 4 (máximo) maiores desafios do projeto, que foram resolvidos pela utilização da nuvem da AWS
  19. Diagrama de solução, e explicar a solução, vantagens, etc