More Related Content Similar to Introduction to Serverless Computing - OOP Munich (20) More from Boaz Ziniman (20) Introduction to Serverless Computing - OOP Munich1. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Introduction to Serverless Computing
Boaz Ziniman, Technical Evangelist – Amazon Web Service
@ziniman
boaz.ziniman.aws
ziniman
OOP 2019
2. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
From Monolith to Microservice
3. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
“The Monolith”
4. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Challenges with monolithic software
Long
Build/Test/Release
Cycles
(who broke the build?)
Operations
is a nightmare
(module X is failing,
who’s the owner?)
Difficult to
scale
New releases
take months
Long time to add
new features
Architecture is
hard to maintain
and evolve
Lack of innovation
Frustrated customers
Lack of agility
5. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Monolith development lifecycle
releasetestbuild
delivery pipeline
App (aka the “monolith”)developers
6. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Too much software coupling
Shared libraries
Shared data
7. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Evolving towards microservices
“IMG_1760” by Robert Couse-Baker. No alterations other than cropping. https://www.flickr.com/photos/29233640@N07/14859431605/
Image used with permissions under Creative Commons license 2.0, Attribution Generic License (https://creativecommons.org/licenses/by/2.0/)
8. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Development transformation at Amazon: 2001–2002
monolithic application +
teams
2001
Lesson learned: decompose for agility
2002
microservices
+ 2 pizza teams
9. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
When the impact of change is small,
release velocity can increase
Monolith
Does everything
Microservices
Does one thing
10. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
11. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Microservices on AWS
AWS Lambda
Serverless functions
AWS Fargate
Serverless containers
ECS/EKS
Container-management as a
service
EC2
Infrastructure-as-a-Service
More opinionated
Less opinionated
AWS manages Customer manages
• Data source integrations
• Physical hardware, software, networking,
and facilities
• Provisioning
• Application code
• Container orchestration, provisioning
• Cluster scaling
• Physical hardware, host OS/kernel,
networking, and facilities
• Application code
• Data source integrations
• Security config and updates, network config,
management tasks
• Container orchestration control
plane
• Physical hardware software,
networking, and facilities
• Application code
• Data source integrations
• Work clusters
• Security config and updates, network
config, firewall, management tasks
• Physical hardware software,
networking, and facilities
• Application code
• Data source integrations
• Scaling
• Security config and updates, network
config, management tasks
• Provisioning, managing scaling and
patching of servers
12. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Serverless with AWS Lambda
13. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Deliver on demand, never pay for idle
EVENT DRIVEN CONTINUOUS SCALING PAY BY USAGE
14. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Benefits of Lambda and Serverless compute
No infrastructure provisioning,
no management
Automatic scaling
Pay for value Highly available and secure
15. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Making development easier with AWS Lambda
Trillions of requests every month for hundreds of thousands of active customers
Accessible for
all developers
Enable new
application patterns
Greater
productivity
*New*: Support for all runtimes
with Lambda Layers and Runtime API
ISO, PCI, HIPAA, SOC, GDPR,
and FedRamp compliances
15 minute functions
SQS for Lambda
*New*: Automatic Load Balancing for Lambda
*New*: Support for Kinesis Data Streams
Enhanced Fan-Out and HTTP/2
*New*: Toolkits for popular IDEs:
VSCode, IntelliJ, and PyCharm
Simplified deployment
with nested apps
16. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
How it works?
17. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Using AWS Lambda
Bring your own code
• Node.js, Java, Python, C#,
.Net Core 2.0, GO, Ruby
• Bring your own libraries
(even native ones)
• Layers
Simple resource model
• Select power rating from
128 MB to 3 GB
• CPU and network
allocated proportionately
Flexible use
• Synchronous or
asynchronous
• Integrated with other
AWS services
Flexible authorization
• Securely grant access to
resources and VPCs
• Fine-grained control for
invoking your functions
18. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Using AWS Lambda
Authoring functions
• WYSIWYG editor or
upload packaged .zip
• Third-party plugins
(Eclipse, Visual Studio,
PyCharm)
Monitoring and logging
• Metrics for requests,
errors, and throttles
• Built-in logs to Amazon
CloudWatch Logs
Programming model
• Use processes, threads,
/tmp, sockets normally
• AWS SDK built in (Python
and Node.js)
Stateless
• Persist data using
external storage
• No affinity or access to
underlying infrastructure
19. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Serverless architectures
1. File put into bucket
2. Lambda invoked 2. Lambda invoked
1. Data published to a
topic
Data
1. Message inserted
into to a queue
3. Function
removes
message from
queue
2. Lambda polls
queue and
invokes function
Object
Lambda
Function
Lambda
Function
Message
Lambda
Function
20. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Cron events
DATA STORES ENDPOINTS
CONFIGURATION REPOSITORIES EVENT/MESSAGE SERVICES
Example event sources that trigger AWS Lambda
… and a few more with more on the way!
21. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Use cases
22. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Common use cases
Web
Applications
• Static
websites
• Complex web
apps
• Packages for
Flask and
Express
Data
Processing
• Real time
• MapReduce
• Batch
Chatbots
• Powering
chatbot logic
Backends
• Apps &
services
• Mobile
• IoT
</></>
Amazon Alexa
• Powering
voice-enabled
apps
• Alexa Skills Kit
IT Automation
• Policy engines
• Extending
AWS services
• Infrastructure
management
23. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Customers innovating with serverless
24. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
25. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Benefits of AWS Serverless
• Reduces new-account provisioning time from
2 weeks to 10 minutes
• Provides complete visibility into all accounts’
security profiles
• Ensures uniform configurations and controls
Faster Time to Market
Autodesk goes Serverless in the AWS Cloud, reduces account-
creation time by 99%
Going Serverless with AWS
Lambda relieves us from
managing servers and lets
us concentrate on building
features.
Alan Williams
Enterprise Architect
26. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Demo
27. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
IoT – Click to Website
MQTT
AWS
IoT
Static S3
Site
Read
SMS
Amazon
CloudFront
Read/
WriteLambda
API GAteway Lambda
DynamoDB
28. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
http://bit.ly/OneClickIoT
29. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Serverless beyond Lambda
30. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS operational responsibility models
On-Premises Cloud
Less More
Compute Virtual Machine
EC2 Elastic Beanstalk AWS LambdaFargate
Databases MySQL MySQL on EC2
RDS MySQL RDS Aurora Aurora Serverless DynamoDB
Storage Storage
S3
Messaging ESBs
Amazon MQ Kinesis SQS / SNS
Analytics
Hadoop Hadoop on EC2 EMR Elasticsearch Service Athena
31. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Serverless is an operational model that spans many different
categories of services
AWS
Lambda
AWS
Fargate
Amazon
API Gateway
Amazon
SNS
Amazon
SQS
AWS
Step Functions
COMPUTE
DATA STORES
INTEGRATION
Amazon Aurora
Serverless
Amazon
S3
Amazon
DynamoDB
AWS
AppSync
32. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS SERVERLESS PORTFOLIO
APPLICATION PRIMITIVES – COMPUTE AND DATASTORES
AWS
Lambda
AWS
Fargate
Amazon
API Gateway
Amazon
SNS
Amazon
MQ
Amazon
SQS
AWS
Step Functions
APPLICATION INTEGRATION
DEVELOPER TOOLS
SECURITY AND ADMINISTRATION
Amazon Aurora
Serverless
Amazon
S3
Amazon
DynamoDB
AWS
AppSync
AWS
IAM
Amazon
Cognito
Amazon
Inspector
Amazon
VPC
Amazon
GuardDuty
AWS
CloudFormation
AWS
Cloud9
AWS
CloudTrail
Amazon
CloudWatch
AWS
X-Ray
AWS
CodePipelin
e
AWS
Config
AWS
SSO
AWS
Shield
AWS
WAF
Amazon
Kinesis
AWS Serverless
Application
Repository
33. © 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Thank You!
Give me feedback
http://bit.ly/2W5JKjj
Boaz Ziniman, Technical Evangelist
Amazon Web Service
@ziniman
boaz.ziniman.aws
ziniman