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

Choosing the right architect for your Serverless API

Choosing the right architect for your Serverless API

This was presented at AWS Community Day Mumbai on April 6th, 2024. The session is about how to identify which AWS Service - Amazon API Gateway, AWS AppSync, or AWS Lambda function URL is best suited for your API workload and how to decide between them with the different factors to consider.

Jones Zachariah Noel N

April 06, 2024
Tweet

More Decks by Jones Zachariah Noel N

Other Decks in Technology

Transcript

  1. Choosing the right architecture for your Serverless API Jones Zachariah

    Noel N Senior Developer Advocate @ Freshworks | AWS Serverless Hero
  2. About Me https://zachjonesnoel.com 👋 I’m Jones Zachariah Noel N (zachjonesnoel)

    🥑 Senior Developer Advocate @ Freshworks ☁ AWS Serverless Hero ⚡ Serverless architect 🚀 AWS UG Bengaluru co-organizer 󰞵 Runs newsletter / blog on The Serverless Terminal ▶ Co-run The Zacs’ Show Talking AWS podcast
  3. COMMUNITY DAY Mumbai What we will look into Look into

    API workloads Factors to consider while choosing API service API Gateway, AppSync, Lambda Function URLs ⚡ ⚡ ⚡
  4. COMMUNITY DAY Mumbai What are the API workloads Web and

    mobile backend APIs Integration systems Real-time systems Icons from Flaticon
  5. COMMUNITY DAY Mumbai Serverless API Services on AWS Icons from

    AWS Service Icons Amazon API Gateway AWS AppSync AWS Lambda function URLs Application Load Balancers
  6. COMMUNITY DAY Mumbai API consideration - Cache support Supports cached

    responses Freshness validated request/response Icons from Flaticon
  7. COMMUNITY DAY Mumbai API consideration - Authorization Identity and Access

    Management (IAM) API Keys Icons from Flaticon Custom authorizers - Lambda, Cognito, Identity providers
  8. COMMUNITY DAY Mumbai API consideration - Supported content-types Standard -

    application/json, application/xml, text/html and more Custom content-types / binary data Icons from Flaticon
  9. COMMUNITY DAY Mumbai API consideration - API Interactions Unidirectional API

    interactions with request/response Bidirectional API interactions with request/response Icons from Flaticon
  10. COMMUNITY DAY Mumbai Choosing Amazon API Gateway Protocol HTTPs, WebSocket

    API Type RESTful, WebSocket Security API keys, IAM, Cognito, Custom authorizers Caching Various caching options available Offline capability N/A Integration type REST APIs, Lambda functions, selective AWS Services API operation CRUD with HTTP methods Direct integration with AWS services with transformation Mapping request and response templates Throttling and rate-limits Granular control with usage plans
  11. COMMUNITY DAY Mumbai Choosing AWS AppSync Protocol HTTPs, WebSocket API

    Type GraphQL Security API keys, IAM, Cognito Caching Simple caching option available Offline capability Supported with AppSync resolvers and SDK Integration type Data Sources - REST APIs, Lambda functions, AWS Services API operation GraphQL operations - Query, Mutation and Subscription Direct integration with AWS services with transformation AppSync resolvers with VTL and JS runtime - both unit resolvers and pipeline resolvers Throttling and rate-limits Limited throttling options for the APIs
  12. COMMUNITY DAY Mumbai Choosing AWS Lambda function URLs Protocol HTTPs

    API Type RESTful in nature Security IAM roles Caching N/A Offline capability N/A Integration type Lambda function based integrations API operation Defined by Lambda function Direct integration with AWS services with transformation N/A Throttling and rate-limits N/A
  13. COMMUNITY DAY Mumbai In a SaaS product, APIs to interact

    with different resources to perform different CRUD operations authenticated with an API key associated with user/customer Amazon API Gateway
  14. COMMUNITY DAY Mumbai In a Serverless quiz application, that is

    used for real-time scoring and leaderboard generation for max 1000 for users concurrently AWS AppSync
  15. COMMUNITY DAY Mumbai API for mobile application that has to

    interact with backend and get real-time updates of IoT devices if they are up and running or any alerts AWS AppSync
  16. COMMUNITY DAY Mumbai A Public API that is interacting with

    Lambda function to generate dynamic data and return them in different bits and chunks. AWS Lambda function URL
  17. AWS Service Amazon API Gateway AWS AppSync AWS Lambda Function

    URL Protocol HTTPs, WebSocket HTTPs, WebSocket HTTPs API Type RESTful, WebSocket GraphQL RESTful in nature Security API keys, IAM, Cognito, Custom authorizers API keys, IAM, Cognito IAM roles Caching Various caching options available Simple caching option available - Offline capability - Supported with AppSync resolvers and SDK - Integration type REST APIs, Lambda functions, selective AWS Services Data Sources - REST APIs, Lambda functions, AWS Services Lambda function based integrations API operation CRUD with HTTP methods GraphQL operations - Query, Mutation and Subscription Defined by Lambda function Direct integration with AWS services with transformation Mapping request and response templates AppSync resolvers with VTL and JS runtime - both unit resolvers and pipeline resolvers - Throttling and rate-limits Granular control with usage plans Limited throttling options for the APIs -
  18. Thank You Jones Zachariah Noel N Senior Developer Advocate @

    Freshworks AWS Serverless Hero https://zachjonesnoel.com