AWS Lambda is a compute service that runs your code without provisioning or managing servers. Amazon API Gateway is a fully managed service that makes it easy for developers to publish, maintain, monitor, and secure APIs at any scale.
This session will familiarize you with the basics of AWS Lambda and Amazon API Gateway and demonstrate how to build web, mobile, and IoT backends using these services. You will learn how to setup API endpoints that trigger AWS Lambda functions to handle mobile, web, IoT, and 3rd party API requests. You will also learn how to use Lambda to read and write to Amazon DynamoDB. We will run through a demo of setting up a simple serverless blogging web application that allows user authentication and the ability to create posts and comments.
The 7 Things I Know About Cyber Security After 25 Years | April 2024
Running Microservices with Lambda and API Gateway
1. AWS Cloud Kata for Start-Ups and Developers
Hong Kong
Aug 3
2. AWS Cloud Kata for Start-Ups and Developers
Hong Kong
Building Serverless Backends
Using AWS Lambda and Amazon API Gateway
Alex Smith
Head of Media & Entertainment Architecture, Asia Pacific
Amazon Web Services
3. AWS Cloud Kata for Start-Ups and Developers
The Familiar 3 Tier Architecture
https://d0.awsstatic.com/whitepapers/AWS_Serverless_Multi-Tier_Architectures.pdf
4. AWS Cloud Kata for Start-Ups and Developers
Here is what that translates to in real life
http://media.amazonwebservices.com/architecturecenter/AWS_ac_ra_web_01.pdf
6. AWS Cloud Kata for Start-Ups and Developers
Dr Werner Vogels
CTO - Amazon
7. AWS Cloud Kata for Start-Ups and Developers
No server is easier to manage…
8. AWS Cloud Kata for Start-Ups and Developers
No server is easier to manage…
…than no server.
9. AWS Cloud Kata for Start-Ups and Developers
No server is easier to manage…
…than no server.
AWS Lambda
10. AWS Cloud Kata for Start-Ups and Developers
AWS Lambda: Run code in response to events
Lambda functions: Stateless, trigger-based code execution
Triggered by events:
• Direct Sync and async API calls
• AWS Service integrations
• 3rd party triggers
Makes it easy to:
• Perform data-driven auditing, analysis, and notification
• Build back-end services that perform at scale
11. AWS Cloud Kata for Start-Ups and Developers
Cost-effective and
efficient
No Infrastructure
to manage
Pay only for what you use
Bring Your
Own Code
Productivity focused compute platform to build powerful, dynamic, modular
applications in the cloud
Run code in standard
languages
Focus on business logic
Benefits of AWS Lambda
1 2 3
12. AWS Cloud Kata for Start-Ups and Developers
Utilisation Window
13. AWS Cloud Kata for Start-Ups and Developers
AWS Compute offerings
VM App Function
Service EC2 ECS Lambda
H/W OS Runtime
Unit of scale
Level of
abstraction
14. AWS Cloud Kata for Start-Ups and Developers
Multiple Application Types using AWS
LambdaAnalytics
• Operational management
• Live Dashboards
Data workflows
• Content management
• ETL workflows
Interactive Backends
• Bots
• Webhooks
Autonomous IT
• Policy engines
• Infrastructure management
15. AWS Cloud Kata for Start-Ups and Developers
Applications Components for Serverless
appsEVENT SOURCE FUNCTION SERVICES (ANYTHING)
Changes in
data state
Requests to
endpoints
Changes in
resource state
Node
Python
Java
… more coming
16. AWS Cloud Kata for Start-Ups and Developers
Amazon
S3
Amazon
DynamoDB
Amazon
Kinesis
AWS
CloudFormation
AWS
CloudTrail
Amazon
CloudWatch
Amazon
SNS
Amazon
SES
Amazon
API Gateway
Amazon
Cognito
AWS
IoT
Amazon
Alexa
Cron events
DATA STORES ENDPOINTS
REPOSITORIES EVENT/MESSAGE SERVICES
Event Sources that integrate with AWS
Lambda
… and the list continues to grow.
17. AWS Cloud Kata for Start-Ups and Developers
That’s Great!
I wish I had that, but for my…
18. AWS Cloud Kata for Start-Ups and Developers
That’s Great!
I wish I had that, but for my…
APIs
19. AWS Cloud Kata for Start-Ups and Developers
That’s Great!
I wish I had that, but for my…
APIs
WebApps
20. AWS Cloud Kata for Start-Ups and Developers
That’s Great!
I wish I had that, but for my…
APIs
WebApps
…
21. AWS Cloud Kata for Start-Ups and Developers
The Other Challenge..
22. AWS Cloud Kata for Start-Ups and Developers
APIs are Hard
Managing multiple versions and stages of an API is difficult
Monitoring 3rd party developers’ access is time consuming
Access authorization is a challenge
Traffic spikes create operational burden
What if I don’t want servers at all?
23. AWS Cloud Kata for Start-Ups and Developers
API Gateway to manage your REST endpoints
Build, Deploy, and Manage APIs
Throttling rules per HTTP method
Cache with customizable keys
Multiple API versions and stages
Generate client SDKs
Dashboard for visual monitoring
Flexible authorization model
API Keys for 3rd party developers
24. AWS Cloud Kata for Start-Ups and Developers
Benefits of API Gateway for web/mobile
apps
Low cost and efficient
Performance at any
scale
DDoS protection and
throttling
Streamline API
development
Authenticate and
authorize requests
Create RESTful
Endpoints
25. AWS Cloud Kata for Start-Ups and Developers
API Gateway + Lambda = Frontend + Backend
Internet
Mobile Apps
Websites
Services
API
Gateway
AWS
Endpoints on
Amazon EC2
Any other publicly
accessible endpoint
Amazon
CloudWatch
Monitoring
Amazon
CloudFront
AWS Lambda
functions
API Gateway
Cache
26. AWS Cloud Kata for Start-Ups and Developers
Real World Architecture
http://media.amazonwebservices.com/architecturecenter/AWS_ac_ra_web_01.pdf
27. AWS Cloud Kata for Start-Ups and Developers
Real World “Serverless” Architecture
https://s3.amazonaws.com/awslambda-reference-architectures/web-app/lambda-refarch-webapp.pdf
28. AWS Cloud Kata for Start-Ups and Developers
Live Demo: Building a Serverless
web application
https://vote.alexjs.im
http://vote.alex.中文网
29. AWS Cloud Kata for Start-Ups and Developers
Demo site: A simple Serverless CRUD backend
http://squirrelbin.com/
30. AWS Cloud Kata for Start-Ups and Developers
Best practices for Lambda functions
• Memory:
• CPU proportional memory
• Increasing memory makes your code
execute faster (if CPU bound)
• Timeout
• Increasing timeout allows for longer
functions, but more wait in case of errors
• Retries:
• For API Gateway, Lambda doesn’t retry
the function execution if failed
• Gateway generated SDKs retry throttled
requests
• Permission model:
• API Gateway synchronously triggers
Lambda, so assign API Gateway a
resource policy to invoke Lambda.
31. AWS Cloud Kata for Start-Ups and Developers
Monitoring and Debugging Lambda functions
• Console Dashboard
• Lists all Lambda functions
• Easy editing of resources,
event sources and other
settings
• At-a-glance metrics
• Metrics in CloudWatch
• Requests
• Errors
• Latency
• Throttles
• Logging in CloudWatch Logs
32. AWS Cloud Kata for Start-Ups and Developers
Using API Gateway Input/Output
Transforms
Filter output results
• Remove private/unnecessary data
• Filter dataset size to improve API
performance
Translate between client-
backend
• Convert GET query string
parameters to body for POST
• Talk XML to API user-interface but
JSON to Lambda
33. AWS Cloud Kata for Start-Ups and Developers
Managing different versions of your API
stack• Operate multiple API versions and
multiple stages for each version
simultaneously
• Clone an existing API to start working
on the next major version
• Set up custom domain names to point
directly to a stage
• Version Lambda functions, and
associate API stage with Lambda
function version alias
34. AWS Cloud Kata for Start-Ups and Developers
Three Next Steps
1. Check out http://squirrelbin.com/
2. Try out the “Serverless Web-App Reference Architecture” at
https://github.com/awslabs/lambda-refarch-webapp/
3. Build your own custom web-app using the AWS Lambda
blueprints at https://console.aws.amazon.com/lambda
35. AWS Cloud Kata for Start-Ups and Developers
Questions?
E: alexjs@amazon.com
T: @alexjs
36. AWS Cloud Kata for Start-Ups and Developers
THANK YOU!
Please remember to fill out evaluations
37. AWS Cloud Kata for Start-Ups and Developers
Hong Kong
Aug 3