The document discusses the state of serverless computing on AWS. It begins by explaining what serverless computing is and how it has evolved from physical servers to virtual servers in data centers to virtual servers in the cloud. It then discusses some of the key benefits of serverless computing such as no server management, automatic scaling, and pay per use. The document outlines some common use cases for serverless applications including web apps, backends, media processing, and big data workloads. It also provides examples of large customers using AWS Lambda at scale. Finally, it discusses some of the building blocks that enable serverless applications on AWS such as Lambda, API Gateway, DynamoDB, and others.
4. Let’s take a look at the evolution of computing
Physical servers
in data centers
Virtual servers
in data centers
Virtual servers
in the cloud
5. Each progressive step was better
Physical servers
data centers
Virtual servers
data centers
• Higher utilization
• Faster provisioning speed
• Improved uptime
• Disaster recovery
• Hardware independence
• Trade CAPEX for OPEX
• More scale
• Elastic resources
• Faster speed and agility
• Reduced maintenance
• Better availability and fault
tolerance
Virtual servers
in the cloud
6. But there are still limitations
Physical servers
data centers
Virtual servers
data centers
• Trade CAPEX for OPEX
• More scale
• Elastic resources
• Faster speed and agility
• Reduced maintenance
• Better availability and fault
tolerance
• Still need to administer
virtual servers
• Still need to manage
capacity and utilization
• Still need to size
workloads
• Still need to manage
availability, fault tolerance
• Still expensive to run
intermittent jobs
Virtual servers
in the cloud
8. No server is easier to manage than no server
All of these responsibilities
go away
Provisioning and utilization
Availability and fault tolerance
Scaling
Operations and management
9. Serverless is a form of event-driven computing
Event-driven computing
Function as a Service
Serverless
11. Building blocks for serverless
AWS Lambda Amazon DynamoDB
Amazon SNS
Amazon API Gateway
Amazon SQS
Amazon Kinesis
Amazon S3
Orchestration and State Management
API Proxy Messaging and Queues Analytics
Monitoring and Debugging
Compute Storage Database
AWS X-RayAWS Step Functions
Edge Compute
AWS Greengrass
Lambda@Edge
12. Serverless changes how you deliver
Speeds up
time to market
Dedicated time
to innovation
Increases developer
productivity
Eliminates operational
complexity
14. Chatbots
• Powering
chatbot logic
• Alexa Skills for
Amazon Echo
Common use cases
Web
applications
• Static
websites
• Dynamic
web apps
• Packages for
Flask and
Express
Backends
• Apps &
services
• Mobile
• IoT
</></>
Media & Log
Processing
• Real-time data
• Streaming
data
Big Data
• MapReduce
• Batch
17. PyWren: a massive data framework for Lambda
• Open source MapReduce
framework using Lambda
• 25 TFLOPS performance
• 60 GB/sec read and 50
GB/sec write to S3
https://github.com/pywren/pywren
http://pywren.io/
http://ericjonas.com/
21. Enterprises are achieving massive scale with Lambda
• Thomson Reuters processes 4,000 requests per second
• FINRA processes half a trillion validations of stock trades daily
• Hearst reduced the time to ingest and process data for its
analytics pipeline by 97%
• Vevo can handle spikes of 80x normal traffic
• Expedia triggers 1.2 billion Lambda requests each month
26. …we could provision accounts in minutes vs weeks?
…we could make global changes to all accounts with a
single API call?
…we could manage all accounts like a single account?
…we lost all care for whether we have 100 or 10000+
accounts?
37. ~$125 per month
$30 - Cloudwatch/DynamoDB/Config/RDS
$75 – Lambda
How much does it cost to run?
38. 5-10 accounts per week
100s of accounts under management
Serving ~100 project teams / ~500 engineers / 4 business units
10 minutes provisioning time
Peak 400 Lambda invocations per sec from Kinesis Streams
1 month engineering & development time
Stats
39. Increased time to value
Reduction in human errors
Increased security posture
Reduction in provisioning time
Scalable
Reusable
Benefits
51. NEW
Cloud logic layer
API request validation
• Amazon API Gateway supports request
validation
• Check for required request parameters in a
request’s URI, query string, and headers
• Verify adherence to the request model of
methods
• Detailed error logs stored in Amazon
CloudWatch Logs
52. NEW
Cloud logic layer
API Gateway + ACM
• API Gateway is now integrated with
AWS Certificate Manager
• Deploy and configure SSL/TLS certificates for
custom API Gateway domains in minutes
58. Reliability and performance
Dead Letter Queues
• Automatically capture events after
exhausting retries
• Build even more reliable event processing
applications
• Target Amazon SQS queues or Amazon
SNS topics
• Available in all regions
62. AWS Serverless Application Model (SAM)
Standard model for
representing serverless
applications on AWS
Functions, APIs, event
sources, and data stores
Simplifies deployment and
management for serverless
applications
63. AWS Serverless Application Model (SAM)
• Natively supported by AWS
CloudFormation
• Export any function as a SAM
template
• Package and deploy SAM
templates using AWS CLI
• Open spec under Apache 2.0
for community extensions
65. CI/CD for serverless applications
</>
AWS CodePipeline + SAM
GitHub
Amazon S3
AWS CodeCommit
AWS CodeBuild AWS CodeBuild
Third-party tools
AWS CloudFormation
Commit Build Test
Deploy
to Prod
66. Developer ecosystem — AWS
How do you debug distributed applications
made of multiple functions or services?
How do you gain insights into how your
functions are performing or behaving?
67. AWS X-Ray
• Analyze and debug distributed
apps in production
• Visualize service call graph of
your app
• Identify performance
bottlenecks and errors
• Pinpoint service-specific issues
• Identify impact of issues on
users of the app
• Trace function executions
(preview)
80. NEW
AWS Step Functions update
New features
Integration with API Gateway
Error-handling for Lambda functions
Send CloudWatch Events to Step Functions
81. AWS Greengrass (in preview)
• Extends Lambda functions to devices
• Low latency, near-real time
82. AWS Snowball Edge
• Petabyte-scale hybrid device with
onboard compute and storage
• Deploy AWS Lambda code to
Snowball Edge
83. NEW
Global scale
Lambda available in
most major regions in
the AWS global
infrastructure
Now available in
London and Mumbai
regions!
84. Lambda@Edge (in preview)
Lambda@Edge is available
in all Amazon CloudFront
edge locations
• Low-latency
request/response
customization
• Supports viewer and
origin events
85. Amazon CloudFront triggers for Lambda@Edge
functions
Origin
server
End user CloudFront
cache
Viewer response Origin response
Viewer request Origin request
88. Learn more about serverless
Tuesday, April 18
10:15 AM - 11:15 AM Building Serverless Web Applications (SMC302)
11:30 AM - 12:30 PM Real-time Data Processing Using AWS Lambda (SMC303)
12:45 PM - 1:45 PM Serverless Orchestration with AWS Step Functions (SMC304)
2:00 PM - 3:00 PM Building CI/CD Pipelines for Serverless Applications (SMC305)
2:00 PM - 3:00 PM Serverless big data architectures (BDA303)
Wednesday, April 19
12:00 PM - 2:00 PM Wild Rydes Takes Off – The Dawn of a New Unicorn (WKS407)
12:00 PM - 2:00 PM Build an Alexa Skill using AWS Lambda (WKS403A)
89. Conclusion
Lambda is a fundamental
component of modern
application architectures
It has a place in everything
from data processing to
simple web apps