Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Amazon API Gateway and AWS Lambda: Better Together

Amazon API Gateway and AWS Lambda: Better Together

Presentation from AWS User Group (2015.09.24) in Warsaw by Danilo Poccia from Amazon Web Services.

AWS User Group Poland

September 24, 2015
Tweet

More Decks by AWS User Group Poland

Other Decks in Technology

Transcript

  1. Amazon API Gateway and AWS Lambda: Better Together Danilo Poccia

    AWS Technical Evangelist @danilop danilop
  2. Application Files DB API Calls Websites (JavaScript Apps) Mobile
 Apps

    Wearable Services API Calls JavaScript API Calls
  3. Application Files DB API Calls Websites (JavaScript Apps) Mobile
 Apps

    Wearable Services API Calls JavaScript Authentication
 & Authorization Caching & Throttling Business
 Logic API Calls
  4. 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
 Gateway API Calls
  5. 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
 Cognito Check Token
  6. 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
  7. 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
  8. 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
  9. Business Logic AWS
 Lambda AWS Lambda
 Functions Amazon
 API Gateway

    Amazon S3 Amazon
 DynamoDB Amazon Cognito
 Sync Store K / V Amazon
 SNS Amazon
 Kinesis Alexa Skills Kit (ASK) Alexa Voice Service (AVS) HTTPS
 Invoke Custom Events HTTPS
 REST API Call
  10. console.log('Loading function'); exports.handler = function(event, context) { console.log('value1 =', event.key1);

    console.log('value2 =', event.key2); console.log('value3 =', event.key3); // Echo back the first key value context.succeed(event.key1); // context.fail('Something went wrong'); };
  11. Build Back-end Services that Perform at Scale Respond Quickly to

    New Information Run Your Code without Managing Infrastructure Cost-effective and Efficient
  12. Resource + HTTP Verb ➔ Method /books + GET ➔

    GetAllBooks /books + POST ➔ CreateNewBook
  13. Resource + HTTP Verb ➔ Method /books + GET ➔

    GetAllBooks /books + POST ➔ CreateNewBook /books/{id} + GET ➔ GetBookById /books/{id} + PUT ➔ CreateOrUpdateBookById /books/{id} + DELETE ➔ DeleteBookById
  14. λ λ λ 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 / Video Update Bucket Usage Check 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
  15. Amazon API Gateway and AWS Lambda: Better Together Danilo Poccia

    AWS Technical Evangelist @danilop danilop