Build a Server-less Event-driven Backend with AWS Lambda and Amazon API Gateway Danilo Poccia AWS Technical Evangelist @danilop danilop
You Want to Build Your Brand New Application
Application
 +
 Data
Application
 +
 Data Websites Mobile
 Apps Wearable
Application Data Websites Mobile
 Apps Wearable
Application Files DB Content +
 Some API Calls API Calls Websites Mobile
 Apps Wearable
Application Files DB API Calls Websites (JavaScript Apps) Mobile
 Apps Wearable JavaScript API Calls
Application Files DB API Calls Websites (JavaScript Apps) Mobile
 Apps Wearable Services API Calls JavaScript API Calls
Application Files DB API Calls Websites (JavaScript Apps) Mobile
 Apps Wearable Services API Calls JavaScript Authentication
 & Authorization Caching & Throttling Business
 Logic API Calls
Application DB API Calls Websites (JavaScript Apps) Mobile
 Apps Wearable Services API Calls JavaScript Files Amazon S3 Amazon DynamoDB Authentication & Authorization Amazon
 Cognito Business Logic AWS
 Lambda Caching & Throttling Amazon API
 GatewayAPI Calls
How Does It Works?
X Authentication Providers End Users User
 Credentials Authentication
 Token Amazon Cognito
 Identity Broker Identity Pool Id (Token) Identity Id
 AWS Temp Credentials (Depending on
 Auth / Unauth Role) Access to
 AWS Services (Including Amazon
 API Gateway) Identity Id AWS Temp Credentials Amazon S3 Amazon
 DynamoDB Amazon
 Mobile Analytics Amazon Cognito
 Sync Store K / V Authentication & Authorization Amazon
 CognitoCheck Token
X End Users User
 Credentials Authentication
 Token Amazon Cognito
 Identity Broker Identity Pool Id (Token) Identity Id
 AWS Temp Credentials (Depending on
 Auth / Unauth Role) Access to
 AWS Services (Including Amazon
 API Gateway) Identity Id AWS Temp Credentials Amazon S3 Amazon
 DynamoDB Amazon
 Mobile Analytics Amazon Cognito
 Sync Store K / V Custom
 Authentication Service Get Token Token Authentication & Authorization Amazon
 Cognito
Amazon
 CloudFront API Gateway
 Cache Amazon
 CloudWatch Monitoring & Logs Endpoints on
 Amazon EC2 or AWS Elastic Beanstalk Internet Any other publicly
 accessible endpoint AWS Lambda
 Functions Caching & Throttling Amazon API
 Gateway X Access to
 API Method
Managed Cache to Store API Responses
 Reduced Latency and DDoS Protection through Amazon CloudFront
 SDK Generation for iOS, Android and JavaScript HTTP 429 Response for API Throttling (Managed by the SDK)
 Swagger Support
 Request / Response Data Transformation and API Mocking
Business Logic AWS
 Lambda AWS Lambda
 Functions Amazon
 API Gateway Amazon S3 Amazon
 DynamoDB Amazon Cognito
 Sync Store K / VAmazon
 SNS Amazon
 Kinesis Alexa Skills Kit (ASK) Alexa Voice Service (AVS) HTTPS
 Invoke Custom Events HTTPS
 REST API Call
Build Back-end Services that Perform at Scale Respond Quickly to New Information Run Your Code without Managing Infrastructure Cost-effective and Efficient
Amazon API Gateway + AWS Lambda
Resource + HTTP Verb ➔ Method
Resource + HTTP Verb ➔ Method /books + GET ➔ GetAllBooks
Resource + HTTP Verb ➔ Method /books + GET ➔ GetAllBooks /books + POST ➔ CreateNewBook
Resource + HTTP Verb ➔ Method /books + GET ➔ GetAllBooks /books + POST ➔ CreateNewBook /books/{id} + GET ➔ GetBookById /books/{id} + PUT ➔ CreateOrUpdateBookById /books/{id} + DELETE ➔ DeleteBookById
Let’s Put Everything Together
Media Sharing Application
λ λ λ Amazon
 API Gateway λ λ λ λ Bucket Usage
 Table Media Metadata Table User Stat Table User
 Location Table K / V λ λ λ Amazon Cognito
 Identity Broker Amazon Cognito
 Sync Store Amazon
 SNS Amazon
 Kinesis Media
 Bucket Log Table Authentication & Authorization Upload Picture / VideoUpdate Bucket UsageCheck Bucket Usage Delete “Over Quota” Media Send Notification to User / Application Extract Metadata and Write on DB Update User Statistics Call REST API to Get Media Description Upload Location Info Update User Location Look for Users or Media Near Current Location Call REST API to Get User Info Sync Media and User Rating Write History of Changes Check and Update Ratings Invoke Read Write / Send
λ λ λ λ λ λ λ λ λ λ
Microservice Architecture λλ λλ λλ λλ λ λ
Focus on You Idea
aws.amazon.com/free
Build a Server-less Event-driven Backend with AWS Lambda and Amazon API Gateway Danilo Poccia AWS Technical Evangelist @danilop danilop

Build a Server-less Event-driven Backend with AWS Lambda and Amazon API Gateway