2. What is
serverless?
”Serverless Computing is a cloud execution ,model in Which the cloud provider dynamically
manages the allocation of machine resources. Pricing is based on the actual amount of
resources consumed by an application.”
3. Advantages Of Serverless Computing
Physical
Servers
Datacenters
Virtual
Servers
Datacenters
Virtual Servers
in the cloud
∙ 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
8. What does Serverless mean?
No servers to
provision or manage
Scale with your usage
Built in availability
and fault-tolerance
Never pay for
idle/unused capacity
11. Using AWS Lambda
Bring your own code
• Node.js, Java, Python,
C#
• Bring your own libraries
(even native ones)
Flexible use
• Synchronous or
asynchronous
• Integrated with other
AWS services
Simple resource model
• Select accesability rating
from 128 MB to 1-.5 GB
• CPU and network
allocated proportionately
Flexible authorization
• Securely grant access to
resources and VPCs
• Fine-grained control for
invoking your functions
12. Using AWS Lambda
Authoring functions
• WYSIWYG editor or
upload packaged .zip
• Third-party plugins
(Eclipse, Visual Studio)
Programming model
• Use processes, threads,
/tmp, sockets normally
• AWS SDK built in (Python
and Node.js)
Monitoring and logging
• Metrics for requests,
errors, and throttles
• Built-in logs to Amazon
CloudWatch Logs
Stateless
• Persist data using
external storage
• No affinity or access to
underlying infrastructure
13. Example event
sources
Data stores Endpoints
Configuration repositories Event/message sources
Amazon S3 Amazon
DynamoDB
Amazon
Kinesis
Amazon
Cognito
Amazon IoT AWS Step
Functions
Amazon
Alexa
Amazon
API Gateway
AWS AWS AWS Amazon Amazon SES Amazon SNS Cron
events
Cloudformatio
n
CloudTrail CodeCommit CloudWatch
…and more!
17. “Apache OpenWhisk is a serverless, open source cloud platform
that executes functions in response to events without developer
concern for managing the lifecycle or operations of the containers that
execute the code.” (via Apache)
Supported runtimes: Node.js, Python, PHP, Swift and Docker
Deployment: On-premises or in the cloud
Apache OpenWhisk
18. Serverless
Supported runtimes: Node.js, Python, PHP, Swift and Docker
Development
Local development via standard tooling and IDEs
Web tooling provided by cloud providers
Orchestration via Composer
19. Summary
Use Serverless for ...
Variable and irregular loads (can lead to lower costs)
Developer productivity for first time experience
Inherent auto-scalability
Use AWS for ...
Mature deployment options, e.g. testing, monitoring
Minimal response latency
High performance computing without resource restrictions