SlideShare a Scribd company logo
1 of 59
Building Microservices with
API Gateway and Lambda
@mattjbarlow
github.com/mattjbarlow
DevOps Days Austin 2016
Revenge of the Devs
What we will talk about
Swagger
API Gateway
Lambda
DynamoDB
What we will talk about
Swagger
API Gateway
Lambda
DynamoDB
API Spec File
Proxy / Router / URL
Backend Code
Data
With Swagger you can auto-generate...
Documentation Monitoring Tests
Integration Tests
Client Libraries
We Never Edit API Gateway Directly
We Edit Swagger
which is imported into...
API Gateway Monitoring Docs Tests
Example Microservice
Teammates want the ability to run a Lambda Function exactly one time in the
future.
Solution
At Job Microservice
A microservice that mimics the Unix at command for Lambda.
The At Command
First appears in 1979 as part of Unix Version 7.
Design
API Methods
Path Operation OperationID Description
/atq GET list_jobs List all jobs
/atq POST create_job Create an at job
/atq/{id} GET describe_job Describe an at job
/atq/{id} DELETE delete_job Delete an at job
A method is a combination of a resource path and an operation.
Objects
Name Type Format Required?
jobid string uuid yes
lambdaArn string arn no
time string dateTime no
atJob
The object will define the response that our API returns.
Code
OperationID Pseudocode
list_jobs DynamoDB BatchGetItem
describe_job DynamoDB Query on jobid
create_job Create CloudWatch Event and PutItem into
DynamoDB.
delete_job Delete CloudWatch Event and DeleteItem
out of DynamoDB.
These Operation IDs are defined in Swagger and passed through to Lambda code as
part of the event object.
Initialize Directory
git clone git@github.com:mattjbarlow/microservice-template.git
File Description
service/service.py * Python module that will run in Lambda.
circle.yml Circle CI instructions.
deploy.yml Ansible playbook for provisioning microservice.
destroy.yml Ansible playbook for deleting microservice.
swagger.yml * Spec file that describes your API.
template.json AWS resources required by the microservice.
version.yml Ansible playbook that versions your Lambda code.
* The bulk of your edits will be in these two files.
Update Swagger Paths
Remember these?
Path Operation OperationID Description
/atq GET list_jobs List all jobs
/atq POST create_job Create an at job
/atq/{id} GET describe_job Describe an at job
/atq/{id} DELETE delete_job Delete an at job
We Insert Them Directly Into Swagger
RESOURCE PATH
HTTP OPERATION
Object Definition
Then we define our objects
Deploy
ansible-playbook -e “prefix=devopsdays” deploy.yml
Ansible Deployment Playbook
1. Zips up Python module and uploads it to S3
2. Creates the API Gateway
3. Provisions AWS resources
a. Lambda
b. DynamoDB
c. IAM Roles and Policies
d. Lambda Permission
4. Adds mapping templates to API Gateway
Import Swagger Into Postman
Open Postman
Click Import
Select Swagger File
Start Sending Requests
Tail Lambda Logs
Logging in Lambda
API Gateway turned our HTTP request data into an Event Object. To start
with, we log the entire Event Object.
pip install awslogs
awslogs allows us to mimic tail -f behavior on our Lambda function’s Log Group.
Event Object Close-Up
Post Body
Headers
Path Params
Query Params
API Gateway Variables
Helpful for filtering logs.
Tracing Our Request
GET Request Lifecycle
Method Response
Integration Response
Lambda
Method Request
Integration Request
Client
Cloudwatch Logs
HTTP GET Request Is Sent
GET /dev/v1/atq HTTP/1.1
Host: cg4e6xg82i.execute-api.us-east-1.amazonaws.com
Connection: keep-alive
Cache-Control: no-cache
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36
Postman-Token: 265fcfe1-e196-0114-89bf-442a34c0180d
Accept: */*
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8
Mapped To Event Object
Event Object Received by Lambda
Logged to CloudWatch
Editing Code
Dev Workflow
Edit Eval
Push
Request
Parse
create_job function
Push Code To Lambda
ansible-playbook -e “prefix=dod” version.yml
Test create_job
Important!
create_job response
Persisted in DynamoDB
POST Request Lifecycle
Method Response
Integration Response
Lambda
Method Request
Integration Request
Client
Cloudwatch Logs
EventsDynamo
Removing Lambda
GET Request With Lambda
Step What Happens
Send GET request API Gateway Receives HTTP Request Data from client.
Transform API Gateway Transforms Request Data into Event Object
Proxy API Gateway POSTs Event Object to Lambda
Read Lambda Reads data from DynamoDB
Return API Gateway Receives return values from Lambda
Transform API Gateway Transforms backend data into HTTP Response
Respond API Gateway Responds back to the client.
GET Request without Lambda
Step What Happens
Send GET request API Gateway Receives HTTP Request Data from client.
Transform API Gateway Transforms Request Data into Event Object
Proxy API Gateway POSTs DynamoDB Query to Dynamo
Read Lambda Reads data from DynamoDB
Return API Gateway Receives return values from Dynamo
Transform API Gateway Transforms backend data into HTTP Response
Respond API Gateway Responds back to the client.
Mapping GET Request To DynamoDB
Mapping DynamoDB Response to Client Response
Automating Tests
CI Workflow
CI
Step 1 Deploy Microservice
Step 2 Validate API Calls
Step 3 Destroy Microservice
git push POST: /project/:tree/:branch
Validating API Calls With Flex
schema = load('swagger.awsexport.json')
validate_api_call(schema, raw_request=r.request, raw_response=r)
1. Receives Swagger spec file which is our source of truth.
2. Makes an HTTP Request to the API Gateway URL.
3. Ensures the response matches what we said it would in Swagger.
Loads Swagger spec into memory
Auth
It has been 1 days since we talked about auth.
Built In Auth Options
GET /dev/v1/atq HTTP/1.1
Host: cg4e6xg82i.execute-api.us-east-1.amazonaws.com
Connection: keep-alive
x-api-key: bkayZOMvuy8aZOhIgxq94K9Oe7Y70Hw55
Option 2: Signature Version 4 signing with IAM
(Powerful, but requires client having AWS API Key)
Option 1: API Keys managed by API Gateway API
(Not really useful for user auth in public APIs)
Custom Authorizers
Receive Token from Identity
Send Token to /auth endpoint Pass Through
Responds With JWT
Make request with JWT Custom Authorizer Intercept
Caches temporary policy
Allows Request
Generates JWT
Validates JWT
Returns temporary IAM policy
Client Library API Gateway Lambda$:
Validates Identity Token
Links
https://github.com/mattjbarlow/microservice-template
https://github.com/mattjbarlow/at
http://editor.swagger.io/#/
http://flex-swagger.readthedocs.io/en/latest/

More Related Content

What's hot

AWS July Webinar Series - Overview Build and Manage your APs with amazon api ...
AWS July Webinar Series - Overview Build and Manage your APs with amazon api ...AWS July Webinar Series - Overview Build and Manage your APs with amazon api ...
AWS July Webinar Series - Overview Build and Manage your APs with amazon api ...
Amazon Web Services
 

What's hot (20)

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...
 
AWS July Webinar Series - Overview Build and Manage your APs with amazon api ...
AWS July Webinar Series - Overview Build and Manage your APs with amazon api ...AWS July Webinar Series - Overview Build and Manage your APs with amazon api ...
AWS July Webinar Series - Overview Build and Manage your APs with amazon api ...
 
Aws Technical Day 2015 - Amazon API Gateway
Aws Technical Day 2015 - Amazon API GatewayAws Technical Day 2015 - Amazon API Gateway
Aws Technical Day 2015 - Amazon API Gateway
 
2016 - Easing Your Way Into Docker: Lessons From a Journey to Production
2016 - Easing Your Way Into Docker: Lessons From a Journey to Production2016 - Easing Your Way Into Docker: Lessons From a Journey to Production
2016 - Easing Your Way Into Docker: Lessons From a Journey to Production
 
Aws Lambda Cart Microservice Server Less
Aws Lambda Cart Microservice Server LessAws Lambda Cart Microservice Server Less
Aws Lambda Cart Microservice Server Less
 
Amazon API Gateway
Amazon API GatewayAmazon API Gateway
Amazon API Gateway
 
Building Serverless Backends with AWS Lambda and Amazon API Gateway
Building Serverless Backends with AWS Lambda and Amazon API GatewayBuilding Serverless Backends with AWS Lambda and Amazon API Gateway
Building Serverless Backends with AWS Lambda and Amazon API Gateway
 
Stephen Liedig: Building Serverless Backends with AWS Lambda and API Gateway
Stephen Liedig: Building Serverless Backends with AWS Lambda and API GatewayStephen Liedig: Building Serverless Backends with AWS Lambda and API Gateway
Stephen Liedig: Building Serverless Backends with AWS Lambda and API Gateway
 
Building Scalable Services with Amazon API Gateway - Technical 201
Building Scalable Services with Amazon API Gateway - Technical 201Building Scalable Services with Amazon API Gateway - Technical 201
Building Scalable Services with Amazon API Gateway - Technical 201
 
(DEV203) Amazon API Gateway & AWS Lambda to Build Secure APIs
(DEV203) Amazon API Gateway & AWS Lambda to Build Secure APIs(DEV203) Amazon API Gateway & AWS Lambda to Build Secure APIs
(DEV203) Amazon API Gateway & AWS Lambda to Build Secure APIs
 
aws lambda & api gateway
aws lambda & api gatewayaws lambda & api gateway
aws lambda & api gateway
 
AWS API Gateway - AJUG August 2018
AWS API Gateway - AJUG August 2018AWS API Gateway - AJUG August 2018
AWS API Gateway - AJUG August 2018
 
Serverless Web Apps using API Gateway, Lambda and DynamoDB
Serverless Web Apps using API Gateway, Lambda and DynamoDBServerless Web Apps using API Gateway, Lambda and DynamoDB
Serverless Web Apps using API Gateway, Lambda and DynamoDB
 
Microservice Architecture on AWS using AWS Lambda and Docker Containers
Microservice Architecture on AWS using AWS Lambda and Docker ContainersMicroservice Architecture on AWS using AWS Lambda and Docker Containers
Microservice Architecture on AWS using AWS Lambda and Docker Containers
 
AWS Lambda
AWS LambdaAWS Lambda
AWS Lambda
 
Using AWS Lambda to Build Control Systems for Your AWS Infrastructure
Using AWS Lambda to Build Control Systems for Your AWS InfrastructureUsing AWS Lambda to Build Control Systems for Your AWS Infrastructure
Using AWS Lambda to Build Control Systems for Your AWS Infrastructure
 
Build a Text Enabled Keg-orator Robot with Alexa, AWS IoT & AWS Lambda
Build a Text Enabled Keg-orator Robot with Alexa, AWS IoT & AWS LambdaBuild a Text Enabled Keg-orator Robot with Alexa, AWS IoT & AWS Lambda
Build a Text Enabled Keg-orator Robot with Alexa, AWS IoT & AWS Lambda
 
Building APIs with Amazon API Gateway
Building APIs with Amazon API GatewayBuilding APIs with Amazon API Gateway
Building APIs with Amazon API Gateway
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless Architectures
 
AWS Lambda
AWS LambdaAWS Lambda
AWS Lambda
 

Viewers also liked

AWS Innovate: Smaller IS Better – Exploiting Microservices on AWS, Craig Dickson
AWS Innovate: Smaller IS Better – Exploiting Microservices on AWS, Craig DicksonAWS Innovate: Smaller IS Better – Exploiting Microservices on AWS, Craig Dickson
AWS Innovate: Smaller IS Better – Exploiting Microservices on AWS, Craig Dickson
Amazon Web Services Korea
 
Rock-solid Magento Development and Deployment Workflows
Rock-solid Magento Development and Deployment WorkflowsRock-solid Magento Development and Deployment Workflows
Rock-solid Magento Development and Deployment Workflows
AOE
 

Viewers also liked (20)

Microservices on AWS using AWS Lambda and Docker Containers
Microservices on AWS using AWS Lambda and Docker ContainersMicroservices on AWS using AWS Lambda and Docker Containers
Microservices on AWS using AWS Lambda and Docker Containers
 
Convert Your Code into a Microservice using AWS Lambda
Convert Your Code into a Microservice using AWS LambdaConvert Your Code into a Microservice using AWS Lambda
Convert Your Code into a Microservice using AWS Lambda
 
Smaller is Better - Exploiting Microservice Architectures on AWS - Technical 201
Smaller is Better - Exploiting Microservice Architectures on AWS - Technical 201Smaller is Better - Exploiting Microservice Architectures on AWS - Technical 201
Smaller is Better - Exploiting Microservice Architectures on AWS - Technical 201
 
AWS re:Invent 2016: Building Complex Serverless Applications (GPST404)
AWS re:Invent 2016: Building Complex Serverless Applications (GPST404)AWS re:Invent 2016: Building Complex Serverless Applications (GPST404)
AWS re:Invent 2016: Building Complex Serverless Applications (GPST404)
 
Cynefin framework
Cynefin frameworkCynefin framework
Cynefin framework
 
2016 - IGNITE - A Developer's Progress: The mistaeks that have made me who I am
2016 - IGNITE - A Developer's Progress: The mistaeks that have made me who I am2016 - IGNITE - A Developer's Progress: The mistaeks that have made me who I am
2016 - IGNITE - A Developer's Progress: The mistaeks that have made me who I am
 
2016 - IGNITE - The Cynefin Model for Operational Transformation
2016 - IGNITE - The Cynefin Model for Operational Transformation2016 - IGNITE - The Cynefin Model for Operational Transformation
2016 - IGNITE - The Cynefin Model for Operational Transformation
 
Devops at 5,016 Feet
Devops at 5,016 FeetDevops at 5,016 Feet
Devops at 5,016 Feet
 
2016 - IGNITE - Blameless System Design
2016 - IGNITE - Blameless System Design2016 - IGNITE - Blameless System Design
2016 - IGNITE - Blameless System Design
 
Microservices Architecture: Labs
Microservices Architecture: LabsMicroservices Architecture: Labs
Microservices Architecture: Labs
 
Architecting for Scale using Microservices & Serverless Backends
Architecting for Scale using Microservices & Serverless BackendsArchitecting for Scale using Microservices & Serverless Backends
Architecting for Scale using Microservices & Serverless Backends
 
Build a mobile app serverless with AWS Lambda
Build a mobile app serverless with AWS LambdaBuild a mobile app serverless with AWS Lambda
Build a mobile app serverless with AWS Lambda
 
Microservices on AWS Spot instances
Microservices on AWS Spot instancesMicroservices on AWS Spot instances
Microservices on AWS Spot instances
 
Introduction to Fluid Infrastructure - Tom Wells
Introduction to Fluid Infrastructure - Tom WellsIntroduction to Fluid Infrastructure - Tom Wells
Introduction to Fluid Infrastructure - Tom Wells
 
AWS Innovate: Smaller IS Better – Exploiting Microservices on AWS, Craig Dickson
AWS Innovate: Smaller IS Better – Exploiting Microservices on AWS, Craig DicksonAWS Innovate: Smaller IS Better – Exploiting Microservices on AWS, Craig Dickson
AWS Innovate: Smaller IS Better – Exploiting Microservices on AWS, Craig Dickson
 
AWS Financial Services - Michael Needham
AWS Financial Services - Michael NeedhamAWS Financial Services - Michael Needham
AWS Financial Services - Michael Needham
 
Kinesis vs-kafka-and-kafka-deep-dive
Kinesis vs-kafka-and-kafka-deep-diveKinesis vs-kafka-and-kafka-deep-dive
Kinesis vs-kafka-and-kafka-deep-dive
 
Rock-solid Magento Development and Deployment Workflows
Rock-solid Magento Development and Deployment WorkflowsRock-solid Magento Development and Deployment Workflows
Rock-solid Magento Development and Deployment Workflows
 
DOES16 San Francisco - Gene Kim & John Willis - Beyond the Phoenix Project
DOES16 San Francisco - Gene Kim & John Willis - Beyond the Phoenix ProjectDOES16 San Francisco - Gene Kim & John Willis - Beyond the Phoenix Project
DOES16 San Francisco - Gene Kim & John Willis - Beyond the Phoenix Project
 
Top 15 Mobile Marketing Insights For Retailers In 2012
Top 15 Mobile Marketing Insights For Retailers In 2012Top 15 Mobile Marketing Insights For Retailers In 2012
Top 15 Mobile Marketing Insights For Retailers In 2012
 

Similar to 2016 - Serverless Microservices on AWS with API Gateway and Lambda

Track 4 Session 2_MAD03 容器技術和 AWS Lambda 讓您專注「應用優先」.pptx
Track 4 Session 2_MAD03 容器技術和 AWS Lambda 讓您專注「應用優先」.pptxTrack 4 Session 2_MAD03 容器技術和 AWS Lambda 讓您專注「應用優先」.pptx
Track 4 Session 2_MAD03 容器技術和 AWS Lambda 讓您專注「應用優先」.pptx
Amazon Web Services
 

Similar to 2016 - Serverless Microservices on AWS with API Gateway and Lambda (20)

Workshop: We love APIs
Workshop: We love APIsWorkshop: We love APIs
Workshop: We love APIs
 
Event-Driven Serverless Apps - Pop-up Loft Tel Aviv
Event-Driven Serverless Apps - Pop-up Loft Tel AvivEvent-Driven Serverless Apps - Pop-up Loft Tel Aviv
Event-Driven Serverless Apps - Pop-up Loft Tel Aviv
 
Track 4 Session 2_MAD03 容器技術和 AWS Lambda 讓您專注「應用優先」.pptx
Track 4 Session 2_MAD03 容器技術和 AWS Lambda 讓您專注「應用優先」.pptxTrack 4 Session 2_MAD03 容器技術和 AWS Lambda 讓您專注「應用優先」.pptx
Track 4 Session 2_MAD03 容器技術和 AWS Lambda 讓您專注「應用優先」.pptx
 
Serverless Design Patterns
Serverless Design PatternsServerless Design Patterns
Serverless Design Patterns
 
Serveless design patterns (VoxxedDays Luxembourg)
Serveless design patterns (VoxxedDays Luxembourg)Serveless design patterns (VoxxedDays Luxembourg)
Serveless design patterns (VoxxedDays Luxembourg)
 
Serveless Design Patterns (Serverless Computing London)
Serveless Design Patterns (Serverless Computing London)Serveless Design Patterns (Serverless Computing London)
Serveless Design Patterns (Serverless Computing London)
 
Serverless Architectural Patterns & Best Practices
Serverless Architectural Patterns & Best PracticesServerless Architectural Patterns & Best Practices
Serverless Architectural Patterns & Best Practices
 
Serverless Design Patterns
Serverless Design PatternsServerless Design Patterns
Serverless Design Patterns
 
Serverless Framework Workshop - Tyler Hendrickson, Chicago/burbs
 Serverless Framework Workshop - Tyler Hendrickson, Chicago/burbs Serverless Framework Workshop - Tyler Hendrickson, Chicago/burbs
Serverless Framework Workshop - Tyler Hendrickson, Chicago/burbs
 
Serveless design patterns
Serveless design patternsServeless design patterns
Serveless design patterns
 
Itb 2021 - Bulding Quick APIs by Gavin Pickin
Itb 2021 - Bulding Quick APIs by Gavin PickinItb 2021 - Bulding Quick APIs by Gavin Pickin
Itb 2021 - Bulding Quick APIs by Gavin Pickin
 
Serverless Architectural Patterns
Serverless Architectural PatternsServerless Architectural Patterns
Serverless Architectural Patterns
 
Ovations AWS pop-up loft 2019 Technical presentation
Ovations AWS pop-up loft 2019 Technical presentationOvations AWS pop-up loft 2019 Technical presentation
Ovations AWS pop-up loft 2019 Technical presentation
 
JakartaJS: Serverless in production
JakartaJS: Serverless in productionJakartaJS: Serverless in production
JakartaJS: Serverless in production
 
Serverless computing with AWS Lambda
Serverless computing with AWS Lambda Serverless computing with AWS Lambda
Serverless computing with AWS Lambda
 
Into The Box | Alexa and ColdBox Api's
Into The Box | Alexa and ColdBox Api'sInto The Box | Alexa and ColdBox Api's
Into The Box | Alexa and ColdBox Api's
 
Serverless architecture with AWS Lambda (June 2016)
Serverless architecture with AWS Lambda (June 2016)Serverless architecture with AWS Lambda (June 2016)
Serverless architecture with AWS Lambda (June 2016)
 
AWS Summit Singapore - Lambda, Step Functions and Datadog: A Symphony
AWS Summit Singapore - Lambda, Step Functions and Datadog: A SymphonyAWS Summit Singapore - Lambda, Step Functions and Datadog: A Symphony
AWS Summit Singapore - Lambda, Step Functions and Datadog: A Symphony
 
Aws Lambda in Swift - NSLondon - 3rd December 2020
Aws Lambda in Swift - NSLondon - 3rd December 2020Aws Lambda in Swift - NSLondon - 3rd December 2020
Aws Lambda in Swift - NSLondon - 3rd December 2020
 
End AWS Lambda Cold Starts with Provisioned Concurrency
End AWS Lambda Cold Starts with Provisioned ConcurrencyEnd AWS Lambda Cold Starts with Provisioned Concurrency
End AWS Lambda Cold Starts with Provisioned Concurrency
 

More from devopsdaysaustin

More from devopsdaysaustin (20)

2016 - Open Mic - IGNITE - Open Infrastructure = ANY Infrastructure
2016 - Open Mic - IGNITE - Open Infrastructure = ANY Infrastructure2016 - Open Mic - IGNITE - Open Infrastructure = ANY Infrastructure
2016 - Open Mic - IGNITE - Open Infrastructure = ANY Infrastructure
 
2016 - Open Mic - IGNITE - The Power of #DadOps for women in tech
2016 - Open Mic - IGNITE - The Power of #DadOps for women in tech2016 - Open Mic - IGNITE - The Power of #DadOps for women in tech
2016 - Open Mic - IGNITE - The Power of #DadOps for women in tech
 
2016 - Open Mic - IGNITE - This is a Tire Fire
2016 - Open Mic - IGNITE - This is a Tire Fire2016 - Open Mic - IGNITE - This is a Tire Fire
2016 - Open Mic - IGNITE - This is a Tire Fire
 
2016 - IGNITE - An ElasticSearch Cluster Named George Armstrong Custer
2016 - IGNITE - An ElasticSearch Cluster Named George Armstrong Custer2016 - IGNITE - An ElasticSearch Cluster Named George Armstrong Custer
2016 - IGNITE - An ElasticSearch Cluster Named George Armstrong Custer
 
2016 - IGNITE - Terraform to go from Zero to Prod in less than 1 month and TH...
2016 - IGNITE - Terraform to go from Zero to Prod in less than 1 month and TH...2016 - IGNITE - Terraform to go from Zero to Prod in less than 1 month and TH...
2016 - IGNITE - Terraform to go from Zero to Prod in less than 1 month and TH...
 
2016 - IGNITE - No Assholes
2016 - IGNITE - No Assholes2016 - IGNITE - No Assholes
2016 - IGNITE - No Assholes
 
2016 - IGNITE - Real Heroes Draw Pictures
2016 - IGNITE - Real Heroes Draw Pictures2016 - IGNITE - Real Heroes Draw Pictures
2016 - IGNITE - Real Heroes Draw Pictures
 
2016 - IGNITE - DevOps or NoOps
2016 - IGNITE - DevOps or NoOps2016 - IGNITE - DevOps or NoOps
2016 - IGNITE - DevOps or NoOps
 
2016 - Orchestrating multi-container apps: How I came to love the pod
2016 - Orchestrating multi-container apps: How I came to love the pod2016 - Orchestrating multi-container apps: How I came to love the pod
2016 - Orchestrating multi-container apps: How I came to love the pod
 
2016 - Fail Proof Ways to Run Beautiful Tests Regardless Of Browser Choice
2016 - Fail Proof Ways to Run Beautiful Tests Regardless Of Browser Choice2016 - Fail Proof Ways to Run Beautiful Tests Regardless Of Browser Choice
2016 - Fail Proof Ways to Run Beautiful Tests Regardless Of Browser Choice
 
2016 - You Don't Belong Here: Dealing with Impostor Syndrome
2016 - You Don't Belong Here: Dealing with Impostor Syndrome2016 - You Don't Belong Here: Dealing with Impostor Syndrome
2016 - You Don't Belong Here: Dealing with Impostor Syndrome
 
2016 - Compliance as Code - InSpec
2016 - Compliance as Code - InSpec2016 - Compliance as Code - InSpec
2016 - Compliance as Code - InSpec
 
2016 - Safely Removing the Last Roadblock to Continuous Delivery
2016 - Safely Removing the Last Roadblock to Continuous Delivery2016 - Safely Removing the Last Roadblock to Continuous Delivery
2016 - Safely Removing the Last Roadblock to Continuous Delivery
 
2016 - IGNITE - Rugged Enterprise DevSecNetQAGovOps
2016 - IGNITE - Rugged Enterprise DevSecNetQAGovOps2016 - IGNITE - Rugged Enterprise DevSecNetQAGovOps
2016 - IGNITE - Rugged Enterprise DevSecNetQAGovOps
 
2016 - IGNITE - How Do I Even Swarm
2016 - IGNITE - How Do I Even Swarm2016 - IGNITE - How Do I Even Swarm
2016 - IGNITE - How Do I Even Swarm
 
2016 - IGNITE - ChatOps for Developers and Everyone Else, Too
2016 - IGNITE - ChatOps for Developers and Everyone Else, Too2016 - IGNITE - ChatOps for Developers and Everyone Else, Too
2016 - IGNITE - ChatOps for Developers and Everyone Else, Too
 
2016 - IGNITE - 17th Century Shipbuild and Your Failed Software Project
2016 - IGNITE - 17th Century Shipbuild and Your Failed Software Project2016 - IGNITE - 17th Century Shipbuild and Your Failed Software Project
2016 - IGNITE - 17th Century Shipbuild and Your Failed Software Project
 
2016 - IGNITE - Being an introvert and at a conference, not as hellish as you...
2016 - IGNITE - Being an introvert and at a conference, not as hellish as you...2016 - IGNITE - Being an introvert and at a conference, not as hellish as you...
2016 - IGNITE - Being an introvert and at a conference, not as hellish as you...
 
2016 - The Ops Must Be Crazy - Hack Your Team's Ops Culture With One Weird Trick
2016 - The Ops Must Be Crazy - Hack Your Team's Ops Culture With One Weird Trick2016 - The Ops Must Be Crazy - Hack Your Team's Ops Culture With One Weird Trick
2016 - The Ops Must Be Crazy - Hack Your Team's Ops Culture With One Weird Trick
 
2016 - DevOps Meets APIs - Model once. Benefit everywhere.
2016 - DevOps Meets APIs - Model once. Benefit everywhere.2016 - DevOps Meets APIs - Model once. Benefit everywhere.
2016 - DevOps Meets APIs - Model once. Benefit everywhere.
 

Recently uploaded

Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 

Recently uploaded (20)

%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 

2016 - Serverless Microservices on AWS with API Gateway and Lambda

Editor's Notes

  1. BatchGetItem can only return 100 items / 16KB of data, so paging is required. There is a limit of 50 Event Sources per AWS account.
  2. Make sure you select the Swagger file exported by Ansible from AWS, not the swagger.yml that was downloaded from templates.
  3. You don’t HAVE to send all this information through to Lambda. You control what is sent to Lambda in the mapping template in Swagger.
  4. Only writes to Dynamo at this point. Later on we will create the CloudWatch event.
  5. You can use AWS credentials -- access and secret keys – to sign requests to your service and authorize access like other AWS services. The signing of an Amazon API Gateway API request is managed by the custom API Gateway SDK generated for your service. You can retrieve temporary credentials associated with a role in your AWS account using Amazon Cognito.