Join us to learn about the state of serverless computing from Dr. Tim Wagner, General Manager of AWS Lambda. Dr. Wagner discusses the latest developments from AWS Lambda and the serverless computing ecosystem. He talks about how serverless computing is becoming a core component in how companies build and run their applications and services, and he also discusses how serverless computing will continue to evolve.
4. Let’s take a look at the evolution of computing
Physical servers
in datacenters
Virtual servers
in datacenters
Virtual servers
in the cloud
5. Each progressive step was better
Physical Servers
Datacenters
Virtual Servers
Datacenters
• 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
Datacenters
Virtual Servers
Datacenters
• 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
10. Building blocks for serverless applications
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
11. Serverless changes how you deliver
Speeds up
time to market
Dedicated time
to innovation
Increases developer
productivity
Eliminates operational
complexity
13. Chatbots
• Powering
chatbot logic
Amazon
Alexa
• Powering
voice-enabled
apps
• Alexa Skills Kit
Common use cases
Web
applications
• Static
websites
• Dynamic
web apps
• Packages for
Flask and
Express
Data
processing
• Real time
• MapReduce
• Batch
Back ends
• Apps &
services
• Mobile
• IoT
</></>
15. 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
16. Content services
• Re-architected the platform from
the ground up
• Uses microservices architecture
• Can handle spikes of up to 80x
normal traffic
Serverless powers Vevo’s critical applications
17. Data services
• Built its data platform starting
from zero
• Serverless architecture:
AWS Lambda, Amazon Kinesis,
Amazon Redshift, Amazon
DynamoDB, Amazon S3, etc.
• New platform went into
production in <12 months
Serverless powers Vevo’s critical applications
22. It’s more than just ½ Trillion validations…
Volume Varies
Daily & Hourly
• Driven by world events in financial, government, etc.
• Hourly volume varies; max of 75B elements per hour
• Daily volume can vary 2-3x due to market events
Validation
rules expand
over time
• Data must meet a defined specification
• SEC/FINRA adding/reviewing rules regularly
• >200 rules today; >100+ derivations
SLA
Expectations
Don’t Change
• Timely feedback so data can be corrected to meet SLA
• Invalid or late data = $$ fines
5
23. Traditional on premise solution
• Static Hadoop Cluster, processing files in batches
• Required to be available 24/5
• Map-only job scheduled every 10 minutes
On premise data center
NAS
DB
FTP
Incoming
Files
6
24. Challenges with our on premise solution
• Not easily scalable = sized for peak demand
• Idle 50% of time
• Higher costs
• Required ongoing costly server/software maintenance
• Originally designed for batch processing
7
25. Goals for our new solution
• Support volume spikes on-demand
• Get out of infrastructure management
• Don’t pay for peak all the time, pay for what we use
• Can we improve the time of availability of data
8
28. Lambda centered AWS Solution
• Validator implemented using
Lambda
• Queues provide input/output
notification from system
• Controller manages data
feeds into Lambda and
notifications out of Lambda
• Data on S3 in Herd
On premise data center
NAS
FTP
Incoming
Files
Validation
Lambda Account
Controller
Consumer
…
11
29. Our Results – Faster, Cheaper, More Scalable
• Reduced cost, only pay for what we use
• Reduce by over 50%
• Processing times have been reduced
• Goal is regardless of volume, any file avail in <1m
• Errors handled on a finer grained basis
• Horizontal scaling improved
• We have seen volume spikes >3x with no impact
• Less infrastructure to manage
12
30. FINRA’s Future Plans
• Eliminate the EC2 based controller
• Considering for other ETL processing within FINRA
• Rethink how we can use Lambda for other applications
• Continue push to provide near real-time throughput
17
36. NEW
Cloud logic layer
C#
C# language support
• Powered by .NET Core 1.0 release
• Supports functions packaged as DLLs
• Built in support for NuGet packages
• Author and deploy C# functions using Visual
Studio to AWS Lambda
37. NEW
Cloud logic layer
Amazon API Gateway
binary encoding
• Serve images, audio, video or other binary
data through APIs
• Encode to Base64 or decode to binary
• Automatic encoding to Base64 for AWS
Lambda functions
38. NEW
Cloud logic layer
Amazon API Gateway
documentation generation
• Document your APIs for better developer
experience
• Support for documentation per Swagger
specifications
• Support for separate workflows – tech writer vs API
developer
39. NEW
Cloud logic layer
Amazon Lex
• Chatbots for Facebook and AWS Mobile Hub
• Powered by the same technology as Alexa
• Efficient and intuitive tools to build
conversations
• Scales automatically
• Connects to enterprise systems
• Slack and Twilio integration coming soon
45. NEW
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
49. 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
50. 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
51. Developer ecosystem — AWS
</>
AWS CodePipeline + SAM
GitHub
Amazon S3
AWS CodeCommit
AWS CodeBuild AWS CodeBuild
third-party tools
AWS CloudFormation
Commit Build Test
Deploy
to Prod
52. 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?
53. Introducing AWS X-Ray (in preview)
• 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
• Lambda support coming soon
59. 1. A concept used by
CompSci profs for
torturing undergrads,
full of arcane math
2. A practical way to build
and manage modern
serverless apps
“State machine” (noun)
60. “I want to sequence functions”
“I want to call functions based on data”
“I want more control over retries”
“I want try/catch/finally”
“I have a workflow that runs for hours”
“I want to run functions in parallel”
Orchestration and state management
61. Introducing AWS Step Functions
Run cloud state machines
Coordinate components of multi-
step apps
Visualize application as a series of
steps
Handles thousands of workflows
and millions of simultaneous steps
63. Introducing Lambda@Edge (in preview)
Lambda is now available in
all Amazon CloudFront
edge locations
• Low-latency
request/response
customization
• Supporters viewer and
origin events
64. Introducing AWS Greengrass (in preview)
• Extends AWS processing on devices
• Low latency, near-real time
66. Conclusion
Lambda is a fundamental
component of modern
application architectures
It has a place in everything
from data processing to
simple web apps