KEMBAR78
Introduction to Serverless Computing - OOP Munich | PDF
© 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
© 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
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
“The Monolith”
© 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
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Monolith development lifecycle
releasetestbuild
delivery pipeline
App (aka the “monolith”)developers
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Too much software coupling
Shared libraries
Shared data
© 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/)
© 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
© 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
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
© 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
© 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
© 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
© 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
© 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
© 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?
© 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
© 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
© 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
© 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!
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Use cases
© 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
© 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
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
© 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
© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Demo
© 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
© 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
© 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
© 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
© 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
© 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
© 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

Introduction to Serverless Computing - OOP Munich

  • 1.
    © 2019, AmazonWeb 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, AmazonWeb 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, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. “The Monolith”
  • 4.
    © 2019, AmazonWeb 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, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Monolith development lifecycle releasetestbuild delivery pipeline App (aka the “monolith”)developers
  • 6.
    © 2019, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Too much software coupling Shared libraries Shared data
  • 7.
    © 2019, AmazonWeb 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, AmazonWeb 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, AmazonWeb 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, AmazonWeb Services, Inc. or its Affiliates. All rights reserved.
  • 11.
    © 2019, AmazonWeb 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, AmazonWeb 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, AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Deliver on demand, never pay for idle EVENT DRIVEN CONTINUOUS SCALING PAY BY USAGE
  • 14.
    © 2019, AmazonWeb 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, AmazonWeb 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, AmazonWeb Services, Inc. or its Affiliates. All rights reserved.© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. How it works?
  • 17.
    © 2019, AmazonWeb 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, AmazonWeb 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, AmazonWeb 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, AmazonWeb 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, AmazonWeb Services, Inc. or its Affiliates. All rights reserved.© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Use cases
  • 22.
    © 2019, AmazonWeb 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, AmazonWeb 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, AmazonWeb Services, Inc. or its Affiliates. All rights reserved.
  • 25.
    © 2019, AmazonWeb 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, AmazonWeb Services, Inc. or its Affiliates. All rights reserved.© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Demo
  • 27.
    © 2019, AmazonWeb 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, AmazonWeb 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, AmazonWeb Services, Inc. or its Affiliates. All rights reserved.© 2019, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Serverless beyond Lambda
  • 30.
    © 2019, AmazonWeb 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, AmazonWeb 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, AmazonWeb 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, AmazonWeb 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