SlideShare une entreprise Scribd logo
1  sur  40
Télécharger pour lire hors ligne
Advanced Serverless
Concepts
Dhaval Nagar
Webinar 2
● 12x AWS, 2x GCP, Docker, Kubernetes Developer Certified
● AWS Community Leader, Surat
● CEO - AppGambit (AWS Consulting Partner)
● AWS Serverless Hero - 2020
Session Level 100-200
Imagine Serverless!
Using a serverless approach for A Cloud Guru, we were
able to get a fully interactive online social learning
platform to market in a fraction of the time that it would
have taken us in the past. We can now innovate quickly,
and add new features to the user interface continuously —
without having to touch so many layers of code for each
new feature.
Sam Kroonenburg, Co-Founder
IMAGINE TIMELINE!
https://read.acloud.guru/serverless-the-future-of-software-architecture-d4473ffed864
Using a serverless approach for A Cloud Guru, we were
able to get a fully interactive online social learning
platform to market in a fraction of the time that it would
have taken us in the past. We can now innovate quickly,
and add new features to the user interface continuously —
without having to touch so many layers of code for each
new feature.
Sam Kroonenburg, Co-Founder
HE WROTE THIS IN OCT 2015
Why Serverless!
● FOCUS on business logic
● Cloud provider MANAGES the infrastructure, availability, scalability, and
security
● Pay for what you CONSUME
One of the most important papers published for
Serverless Computing
Cloud Programming Simplified:
A Berkeley View on Serverless Computing (Feb, 2019)
https://www2.eecs.berkeley.edu/Pubs/TechRpts/2019/EECS-2019-3.pdf
AWS Lambda is NOT THE ONLY
Serverless services.
IT IS RATHER A VERY MOST IMPORTANT ONE.
AWS Serverless Services
● Compute
○ Lambda, Lambda@Edge
○ Fargate
● Storage
○ S3
○ EFS
● Databases
○ DynamoDB
○ Aurora, RDS Proxy
● Proxy
○ API Gateway
● Integration
○ SQS, SNS
○ EventBridge
○ AppSync
● Orchastration
○ Step Functions
● Analytics
○ Kinesis
○ Athena
● Developer Tools
○ SAM
○ X-Ray, CloudWatch
○ CodeBuild, CodeDeploy, CodePipeline
○ Cloud9 IDE
AWS Serverless Services
● Enable X-ray, you need insights from very early stage
● Keep the function size as small as possible, for faster startup time
● Import only the required libraries (especially when working with NodeJS)
● Use minimum timeout or execute as fast as possible
● Use Lambda Layers if you have a lot of static dependencies
● Use Lambda Destinations for success/failure based orchestration
General practices while working with Lambda functions
● If your function is calling multiple lambdas or some sort of wait/decision
tree, use Step Functions instead.
● Define IAM policies/role per function, least privilege principle
● Power-tune your functions and allocate proper resources
● Check the cold start time in your selected region
● Test and validate your requirement before going for Provisioned
Concurrency, it is very costly and you may not need it.
● Use a framework, Doesn't matter if it's Serverless, SAM or any other.
● Set proper concurrency limit for your functions to avoid any downward
impact.
General practices while working with Lambda functions
Keep the Lambda limits
in mind
- Some can be changed
- Others can not be changed
● Concurrency
● Storage and Database Options
● Step Functions
● Observability
● Performance Optimization
● Cost
Let’s look at a few in detail...
Common observation as the application scale
increases
Timeouts
- API Gateway
- Lambda
- DB Connections
Throughput / Throttle
- Dependencies
- Lambda
- Other AWS services
Cost
- Higher execution
time, higher cost
Concurrency in Distributed Environment
● Autoscaling is core at the Serverless Infrastructure
● Different services scale differently
● Scaling directly impacts the performance and cost
● Service with lowest throughput becomes benchmark for entire pipeline
● Lambda can support Reserved and Provisioned Concurrency
● Reserved does not cost anything
● Provisioned costs huge
Spike/y (viral) access pattern is the new normal.
Take Skillenza as one of the examples. Their one program may receive more hits
compared to others. There might be a period where the overall load is consistent.
Concurrency example
Lambda Concurrency Pool
https://d1.awsstatic.com/events/reinvent/2019/REPEAT_1_Serverless_at_scale_Design_patterns_and_optimizations_SVS335-R1.pdf
Database and Storage Service
● Huge number of options for storage and database
● Serverless compute, Serverless data storage
● NoSQL DynamoDB can scale to billions of transactions
● Aurora Serverless can manage many use cases. Use Data PAI instead of
connections.
● EFS can help process large files with low latency and overhead
● S3 can work as a highly durable centralize storage, also considered backbone
of AWS Cloud
● Athena can help extract the desired data without performing at ETL
operations
● RDS Proxy provides effective mechanism to use Relational Database with
Serverless application without managing the connection overhead.
(Lot of) Database options
Storage options
Service Storage Capacity
Lambda Storage /tmp directory 512 MB
S3 Object Storage
S3 Triggers to Invoke Lambda functions
Lifecycle rules for different storage tier
Can be access from Internet
Unlimited / Serverless
EFS File Storage
Low-latency storage
Lifecycle rules for Infrequent Access
storage tier
VPC-bound can not be accessed from
outside
Unlimited / Serverless
Orchestrate better with Step Functions
● One Lambda function will not be enough
● May need to run several functions in coordination to perform a task
● Loose coupling, loose integration
● Loose coupling, tight integration
● Ensure sure the desired workflow runs consistently
Without Step Function
Flow is relying on CloudWatch logs and manual invocations of different functions
With Step Functions
Flow is orchestrated using Step Functions does same things.
(using Serverless Framework)
Observability (logging, debugging and tracing)
● Log complexity is proportional to the number of functions
● Different services add their own complexities
● Many services can not be tested in local environment
● Debugging and Tracing is not easy in the Cloud
● Use AWS CloudWatch, Lumigo.io for Logging
● Use AWS X-Ray, Lumigo.io, Dashbird.io for Tracing
● Use Thundra.io for Debugging, Security
AWS X-Ray - Service Map
AWS X-Ray - Traces
Lumigo.io Dashboard
https://docs.lumigo.io/docs/functions
Optimize your functions
● Start Fast, Finish Fast
● Functions run in micro-containers (Firecracker based)
● If functions are heavy in size or initialization, that would delay the
EXECUTION START time
● Lambda Layers can be pretty useful to move static dependencies
● Import only required libraries
● Different services has different latencies
● Adjust function timeouts accordingly
Powertune Lambda Example
https://github.com/alexcasalboni/aws-lambda-power-tuning
https://github.com/alexcasalboni/aws-lambda-power-tuning
Analyse and Optimise
Re-use variables, decrease API calls to fetch configurations or other static detail, etc
Cost of running Serverless
● Every service is metered differently
● Pay close attention to what is important to your application
● Change in application usage pattern can skew the cost
● Something that work at the scale of 100s may not work at the scale of 1000s,
and will required re-architecture.
● Due to asynchronous nature, re-architecture may be a less disruptive
process.
Service Cost Meter
Service Type Count Cost
API Gateway REST Requests 1 Million $3.50
HTTP Request 1 Million $1
Lambda Request 1 Million $0.20
Duration every GB-second $0.0000166667
SQS Standard Queue 1 Million Request
Every SQS action = 1 Request
Data Transfer In/Out separate
$0.40
DynamoDB On-Demand Read 1 Million $0.285
On-Demand Write 1 Million
Data Storage separate
Data Transfer In/Out separate
$1.4231
The cost after the AWS Free Tier Limits https://aws.amazon.com/free
Cost overview with Lumigo.io
There is always a room for more...
● API Gateway - HTTP vs REST
● AppSync and GraphQL
● SQS Batch Size
● Kinesis Data Stream
● AWS IoT vs API Gateway
● API Gateway vs AppSync
● SQS, SNS, and EventBridge
Keep Experimenting
● In Serverless environment, everything is distributed and asynchronous
● Serverless landscape is evolving rapidly, lot of opportunity to refactor and
optimize
https://sls.dashbird.io/en/serverless-best-practices
Where to go from here
● AWS Well-Architected Framework for Serverless Applications
○ https://aws.amazon.com/blogs/aws/new-serverless-lens-in-aws-well-architected-tool/
● AWS Heroes
○ Yan Cui - https://theburningmonk.com/
○ Jeremy Daly - https://jeremydaly.com/
○ James Beswick (Serverless Developer Advocate, AWS)
■ https://aws.amazon.com/blogs/compute/author/jbeswick/
● AWS Blogs for Serverless
○ https://aws.amazon.com/blogs/compute/tag/serverless/
● Serverless Framework
○ https://serverless.com/
● Serverless Application Model
○ https://aws.amazon.com/serverless/sam/
Thank You! #GOSERVERLESS
Spare a few minutes and read this paper.
Cloud Programming Simplified:
A Berkeley View on Serverless Computing (Feb, 2019)
https://www2.eecs.berkeley.edu/Pubs/TechRpts/2019/EECS-2019-3.pdf
Above the Clouds: A Berkeley View of Cloud Computing (Feb, 2009)
https://www2.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-28.pdf

Contenu connexe

Tendances

State of serverless
State of serverlessState of serverless
State of serverlessAnurag Saran
 
Building serverless apps with MongoDB Atlas and AWS Lambda
Building serverless apps with MongoDB Atlas and AWS LambdaBuilding serverless apps with MongoDB Atlas and AWS Lambda
Building serverless apps with MongoDB Atlas and AWS LambdaRaphael Londner
 
BUILDING Serverless apps with MongoDB AtLAS, AWS Lambda and Step Functions
BUILDING Serverless apps with MongoDB AtLAS, AWS Lambda and Step FunctionsBUILDING Serverless apps with MongoDB AtLAS, AWS Lambda and Step Functions
BUILDING Serverless apps with MongoDB AtLAS, AWS Lambda and Step FunctionsRaphael Londner
 
AWS re:Invent 2016: Content and Data Platforms at Vevo: Rebuilding and Scalin...
AWS re:Invent 2016: Content and Data Platforms at Vevo: Rebuilding and Scalin...AWS re:Invent 2016: Content and Data Platforms at Vevo: Rebuilding and Scalin...
AWS re:Invent 2016: Content and Data Platforms at Vevo: Rebuilding and Scalin...AwsReinventSlides
 
AWS Lambda Presentation (Tech Talk DC)
AWS Lambda Presentation (Tech Talk DC)AWS Lambda Presentation (Tech Talk DC)
AWS Lambda Presentation (Tech Talk DC)Doguhan Uluca
 
AWS Serverless concepts and solutions
AWS Serverless concepts and solutionsAWS Serverless concepts and solutions
AWS Serverless concepts and solutionsElenaIvannikova3
 
Feedback on AWS re:invent 2016
Feedback on AWS re:invent 2016Feedback on AWS re:invent 2016
Feedback on AWS re:invent 2016Laurent Bernaille
 
Building Serverless Web Applications - DevDay Austin 2017
Building Serverless Web Applications - DevDay Austin 2017Building Serverless Web Applications - DevDay Austin 2017
Building Serverless Web Applications - DevDay Austin 2017Amazon Web Services
 
A Walk in the Cloud with AWS Lambda
A Walk in the Cloud with AWS LambdaA Walk in the Cloud with AWS Lambda
A Walk in the Cloud with AWS LambdaAmazon Web Services
 
AWS Lambda: Event-driven Code in the Cloud
AWS Lambda: Event-driven Code in the CloudAWS Lambda: Event-driven Code in the Cloud
AWS Lambda: Event-driven Code in the CloudAmazon Web Services
 
AWS for Java Developers workshop
AWS for Java Developers workshopAWS for Java Developers workshop
AWS for Java Developers workshopRory Preddy
 
Building CICD Pipelines for Serverless Applications - DevDay Austin 2017
Building CICD Pipelines for Serverless Applications - DevDay Austin 2017Building CICD Pipelines for Serverless Applications - DevDay Austin 2017
Building CICD Pipelines for Serverless Applications - DevDay Austin 2017Amazon Web Services
 
Technology | Serverless
Technology | ServerlessTechnology | Serverless
Technology | ServerlessAni Sinanaj
 
Using AWS Lambda for Infrastructure Automation and Beyond
Using AWS Lambda for Infrastructure Automation and BeyondUsing AWS Lambda for Infrastructure Automation and Beyond
Using AWS Lambda for Infrastructure Automation and BeyondNick Tursky
 
Let's Talk About Serverless - Focusing on AWS Lambda
Let's Talk About Serverless - Focusing on AWS LambdaLet's Talk About Serverless - Focusing on AWS Lambda
Let's Talk About Serverless - Focusing on AWS LambdaOkis Chuang
 
GCPLA Meetup Workshop - Migration from a Legacy Infrastructure to the Cloud
GCPLA Meetup Workshop - Migration from a Legacy Infrastructure to the CloudGCPLA Meetup Workshop - Migration from a Legacy Infrastructure to the Cloud
GCPLA Meetup Workshop - Migration from a Legacy Infrastructure to the CloudSamuel Chow
 

Tendances (20)

State of serverless
State of serverlessState of serverless
State of serverless
 
AWS Jungle - Lambda
AWS Jungle - LambdaAWS Jungle - Lambda
AWS Jungle - Lambda
 
Building serverless apps with MongoDB Atlas and AWS Lambda
Building serverless apps with MongoDB Atlas and AWS LambdaBuilding serverless apps with MongoDB Atlas and AWS Lambda
Building serverless apps with MongoDB Atlas and AWS Lambda
 
BUILDING Serverless apps with MongoDB AtLAS, AWS Lambda and Step Functions
BUILDING Serverless apps with MongoDB AtLAS, AWS Lambda and Step FunctionsBUILDING Serverless apps with MongoDB AtLAS, AWS Lambda and Step Functions
BUILDING Serverless apps with MongoDB AtLAS, AWS Lambda and Step Functions
 
AWS re:Invent 2016: Content and Data Platforms at Vevo: Rebuilding and Scalin...
AWS re:Invent 2016: Content and Data Platforms at Vevo: Rebuilding and Scalin...AWS re:Invent 2016: Content and Data Platforms at Vevo: Rebuilding and Scalin...
AWS re:Invent 2016: Content and Data Platforms at Vevo: Rebuilding and Scalin...
 
AWS Lambda Presentation (Tech Talk DC)
AWS Lambda Presentation (Tech Talk DC)AWS Lambda Presentation (Tech Talk DC)
AWS Lambda Presentation (Tech Talk DC)
 
AWS Serverless concepts and solutions
AWS Serverless concepts and solutionsAWS Serverless concepts and solutions
AWS Serverless concepts and solutions
 
Feedback on AWS re:invent 2016
Feedback on AWS re:invent 2016Feedback on AWS re:invent 2016
Feedback on AWS re:invent 2016
 
Serverless computing
Serverless computingServerless computing
Serverless computing
 
Building Serverless Web Applications - DevDay Austin 2017
Building Serverless Web Applications - DevDay Austin 2017Building Serverless Web Applications - DevDay Austin 2017
Building Serverless Web Applications - DevDay Austin 2017
 
Introduction to Serverless
Introduction to ServerlessIntroduction to Serverless
Introduction to Serverless
 
A Walk in the Cloud with AWS Lambda
A Walk in the Cloud with AWS LambdaA Walk in the Cloud with AWS Lambda
A Walk in the Cloud with AWS Lambda
 
AWS Lambda: Event-driven Code in the Cloud
AWS Lambda: Event-driven Code in the CloudAWS Lambda: Event-driven Code in the Cloud
AWS Lambda: Event-driven Code in the Cloud
 
AWS for Java Developers workshop
AWS for Java Developers workshopAWS for Java Developers workshop
AWS for Java Developers workshop
 
Serverless Architecture
Serverless ArchitectureServerless Architecture
Serverless Architecture
 
Building CICD Pipelines for Serverless Applications - DevDay Austin 2017
Building CICD Pipelines for Serverless Applications - DevDay Austin 2017Building CICD Pipelines for Serverless Applications - DevDay Austin 2017
Building CICD Pipelines for Serverless Applications - DevDay Austin 2017
 
Technology | Serverless
Technology | ServerlessTechnology | Serverless
Technology | Serverless
 
Using AWS Lambda for Infrastructure Automation and Beyond
Using AWS Lambda for Infrastructure Automation and BeyondUsing AWS Lambda for Infrastructure Automation and Beyond
Using AWS Lambda for Infrastructure Automation and Beyond
 
Let's Talk About Serverless - Focusing on AWS Lambda
Let's Talk About Serverless - Focusing on AWS LambdaLet's Talk About Serverless - Focusing on AWS Lambda
Let's Talk About Serverless - Focusing on AWS Lambda
 
GCPLA Meetup Workshop - Migration from a Legacy Infrastructure to the Cloud
GCPLA Meetup Workshop - Migration from a Legacy Infrastructure to the CloudGCPLA Meetup Workshop - Migration from a Legacy Infrastructure to the Cloud
GCPLA Meetup Workshop - Migration from a Legacy Infrastructure to the Cloud
 

Similaire à Skillenza Build with Serverless Challenge - Advanced Serverless Concepts

Write less (code) and build more with serverless
Write less (code) and build more with serverlessWrite less (code) and build more with serverless
Write less (code) and build more with serverlessDhaval Nagar
 
Exposing Lambda Functions as Managed APIs
Exposing Lambda Functions as Managed APIsExposing Lambda Functions as Managed APIs
Exposing Lambda Functions as Managed APIsWSO2
 
Crio.do - Deployment on AWS Masterclass
Crio.do - Deployment on AWS MasterclassCrio.do - Deployment on AWS Masterclass
Crio.do - Deployment on AWS MasterclassDhaval Nagar
 
Building self service framework
Building self service frameworkBuilding self service framework
Building self service frameworkRovshan Musayev
 
Serverless Days Ahmedabad - Dhaval Nagar.pptx.pdf
Serverless Days Ahmedabad - Dhaval Nagar.pptx.pdfServerless Days Ahmedabad - Dhaval Nagar.pptx.pdf
Serverless Days Ahmedabad - Dhaval Nagar.pptx.pdfDhaval Nagar
 
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)Amazon Web Services
 
Writing and deploying serverless python applications
Writing and deploying serverless python applicationsWriting and deploying serverless python applications
Writing and deploying serverless python applicationsCesar Cardenas Desales
 
PyConIT 2018 Writing and deploying serverless python applications
PyConIT 2018 Writing and deploying serverless python applicationsPyConIT 2018 Writing and deploying serverless python applications
PyConIT 2018 Writing and deploying serverless python applicationsCesar Cardenas Desales
 
Low Cost AWS Services For Application Development in the Cloud
Low Cost AWS Services For Application Development in the CloudLow Cost AWS Services For Application Development in the Cloud
Low Cost AWS Services For Application Development in the CloudDhaval Nagar
 
Deploying Serverless Cloud Optical Character Recognition in Support of NASA A...
Deploying Serverless Cloud Optical Character Recognition in Support of NASA A...Deploying Serverless Cloud Optical Character Recognition in Support of NASA A...
Deploying Serverless Cloud Optical Character Recognition in Support of NASA A...Chris Shenton
 
Going Serverless with AWS Lambda at ReportGarden
Going Serverless with AWS Lambda at ReportGardenGoing Serverless with AWS Lambda at ReportGarden
Going Serverless with AWS Lambda at ReportGardenJay Gandhi
 
PyConIE 2017 Writing and deploying serverless python applications
PyConIE 2017 Writing and deploying serverless python applicationsPyConIE 2017 Writing and deploying serverless python applications
PyConIE 2017 Writing and deploying serverless python applicationsCesar Cardenas Desales
 
AppRunner DeepDive
AppRunner DeepDiveAppRunner DeepDive
AppRunner DeepDiveDhaval Nagar
 
AWS Serverless with Lambda, ApiGateway
AWS Serverless with Lambda, ApiGatewayAWS Serverless with Lambda, ApiGateway
AWS Serverless with Lambda, ApiGatewayRavi Soni
 
Serverlessusecase workshop feb3_v2
Serverlessusecase workshop feb3_v2Serverlessusecase workshop feb3_v2
Serverlessusecase workshop feb3_v2kartraj
 
Serverless OCR for NASA EVA: AWS Meetup DC 2017-12-12
Serverless OCR for NASA EVA: AWS Meetup DC 2017-12-12Serverless OCR for NASA EVA: AWS Meetup DC 2017-12-12
Serverless OCR for NASA EVA: AWS Meetup DC 2017-12-12Chris Shenton
 
Serverless Optical Character Recognition in support of Astronaut Safety AWS M...
Serverless Optical Character Recognition in support of Astronaut Safety AWS M...Serverless Optical Character Recognition in support of Astronaut Safety AWS M...
Serverless Optical Character Recognition in support of Astronaut Safety AWS M...Chris Shenton
 
Serverless Comparison: AWS vs Azure vs Google vs IBM
Serverless Comparison: AWS vs Azure vs Google vs IBMServerless Comparison: AWS vs Azure vs Google vs IBM
Serverless Comparison: AWS vs Azure vs Google vs IBMRightScale
 
Serverless Computing
Serverless ComputingServerless Computing
Serverless ComputingAnand Gupta
 
使用 AWS 無伺服器運算服務打造您的第一個語音助理
使用 AWS 無伺服器運算服務打造您的第一個語音助理使用 AWS 無伺服器運算服務打造您的第一個語音助理
使用 AWS 無伺服器運算服務打造您的第一個語音助理Amazon Web Services
 

Similaire à Skillenza Build with Serverless Challenge - Advanced Serverless Concepts (20)

Write less (code) and build more with serverless
Write less (code) and build more with serverlessWrite less (code) and build more with serverless
Write less (code) and build more with serverless
 
Exposing Lambda Functions as Managed APIs
Exposing Lambda Functions as Managed APIsExposing Lambda Functions as Managed APIs
Exposing Lambda Functions as Managed APIs
 
Crio.do - Deployment on AWS Masterclass
Crio.do - Deployment on AWS MasterclassCrio.do - Deployment on AWS Masterclass
Crio.do - Deployment on AWS Masterclass
 
Building self service framework
Building self service frameworkBuilding self service framework
Building self service framework
 
Serverless Days Ahmedabad - Dhaval Nagar.pptx.pdf
Serverless Days Ahmedabad - Dhaval Nagar.pptx.pdfServerless Days Ahmedabad - Dhaval Nagar.pptx.pdf
Serverless Days Ahmedabad - Dhaval Nagar.pptx.pdf
 
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
 
Writing and deploying serverless python applications
Writing and deploying serverless python applicationsWriting and deploying serverless python applications
Writing and deploying serverless python applications
 
PyConIT 2018 Writing and deploying serverless python applications
PyConIT 2018 Writing and deploying serverless python applicationsPyConIT 2018 Writing and deploying serverless python applications
PyConIT 2018 Writing and deploying serverless python applications
 
Low Cost AWS Services For Application Development in the Cloud
Low Cost AWS Services For Application Development in the CloudLow Cost AWS Services For Application Development in the Cloud
Low Cost AWS Services For Application Development in the Cloud
 
Deploying Serverless Cloud Optical Character Recognition in Support of NASA A...
Deploying Serverless Cloud Optical Character Recognition in Support of NASA A...Deploying Serverless Cloud Optical Character Recognition in Support of NASA A...
Deploying Serverless Cloud Optical Character Recognition in Support of NASA A...
 
Going Serverless with AWS Lambda at ReportGarden
Going Serverless with AWS Lambda at ReportGardenGoing Serverless with AWS Lambda at ReportGarden
Going Serverless with AWS Lambda at ReportGarden
 
PyConIE 2017 Writing and deploying serverless python applications
PyConIE 2017 Writing and deploying serverless python applicationsPyConIE 2017 Writing and deploying serverless python applications
PyConIE 2017 Writing and deploying serverless python applications
 
AppRunner DeepDive
AppRunner DeepDiveAppRunner DeepDive
AppRunner DeepDive
 
AWS Serverless with Lambda, ApiGateway
AWS Serverless with Lambda, ApiGatewayAWS Serverless with Lambda, ApiGateway
AWS Serverless with Lambda, ApiGateway
 
Serverlessusecase workshop feb3_v2
Serverlessusecase workshop feb3_v2Serverlessusecase workshop feb3_v2
Serverlessusecase workshop feb3_v2
 
Serverless OCR for NASA EVA: AWS Meetup DC 2017-12-12
Serverless OCR for NASA EVA: AWS Meetup DC 2017-12-12Serverless OCR for NASA EVA: AWS Meetup DC 2017-12-12
Serverless OCR for NASA EVA: AWS Meetup DC 2017-12-12
 
Serverless Optical Character Recognition in support of Astronaut Safety AWS M...
Serverless Optical Character Recognition in support of Astronaut Safety AWS M...Serverless Optical Character Recognition in support of Astronaut Safety AWS M...
Serverless Optical Character Recognition in support of Astronaut Safety AWS M...
 
Serverless Comparison: AWS vs Azure vs Google vs IBM
Serverless Comparison: AWS vs Azure vs Google vs IBMServerless Comparison: AWS vs Azure vs Google vs IBM
Serverless Comparison: AWS vs Azure vs Google vs IBM
 
Serverless Computing
Serverless ComputingServerless Computing
Serverless Computing
 
使用 AWS 無伺服器運算服務打造您的第一個語音助理
使用 AWS 無伺服器運算服務打造您的第一個語音助理使用 AWS 無伺服器運算服務打造您的第一個語音助理
使用 AWS 無伺服器運算服務打造您的第一個語音助理
 

Plus de Dhaval Nagar

Dhaval Nagar - AWS Community Day - Security Edition.pdf
Dhaval Nagar - AWS Community Day - Security Edition.pdfDhaval Nagar - AWS Community Day - Security Edition.pdf
Dhaval Nagar - AWS Community Day - Security Edition.pdfDhaval Nagar
 
AWS Developer Ecosystem.pdf
AWS Developer Ecosystem.pdfAWS Developer Ecosystem.pdf
AWS Developer Ecosystem.pdfDhaval Nagar
 
Mainstream Serverless
Mainstream ServerlessMainstream Serverless
Mainstream ServerlessDhaval Nagar
 
Building your own calendly using amazon app sync
Building your own calendly using amazon app syncBuilding your own calendly using amazon app sync
Building your own calendly using amazon app syncDhaval Nagar
 
Whizlabs webinar - Deploying Portfolio Site with AWS Serverless
Whizlabs webinar - Deploying Portfolio Site with AWS ServerlessWhizlabs webinar - Deploying Portfolio Site with AWS Serverless
Whizlabs webinar - Deploying Portfolio Site with AWS ServerlessDhaval Nagar
 
Amazon EventBridge
Amazon EventBridgeAmazon EventBridge
Amazon EventBridgeDhaval Nagar
 
Software Engineering in the (AWS) Cloud
Software Engineering in the (AWS) CloudSoftware Engineering in the (AWS) Cloud
Software Engineering in the (AWS) CloudDhaval Nagar
 
GO For A Cloud Certification (AWS)
GO For A Cloud Certification (AWS)GO For A Cloud Certification (AWS)
GO For A Cloud Certification (AWS)Dhaval Nagar
 

Plus de Dhaval Nagar (8)

Dhaval Nagar - AWS Community Day - Security Edition.pdf
Dhaval Nagar - AWS Community Day - Security Edition.pdfDhaval Nagar - AWS Community Day - Security Edition.pdf
Dhaval Nagar - AWS Community Day - Security Edition.pdf
 
AWS Developer Ecosystem.pdf
AWS Developer Ecosystem.pdfAWS Developer Ecosystem.pdf
AWS Developer Ecosystem.pdf
 
Mainstream Serverless
Mainstream ServerlessMainstream Serverless
Mainstream Serverless
 
Building your own calendly using amazon app sync
Building your own calendly using amazon app syncBuilding your own calendly using amazon app sync
Building your own calendly using amazon app sync
 
Whizlabs webinar - Deploying Portfolio Site with AWS Serverless
Whizlabs webinar - Deploying Portfolio Site with AWS ServerlessWhizlabs webinar - Deploying Portfolio Site with AWS Serverless
Whizlabs webinar - Deploying Portfolio Site with AWS Serverless
 
Amazon EventBridge
Amazon EventBridgeAmazon EventBridge
Amazon EventBridge
 
Software Engineering in the (AWS) Cloud
Software Engineering in the (AWS) CloudSoftware Engineering in the (AWS) Cloud
Software Engineering in the (AWS) Cloud
 
GO For A Cloud Certification (AWS)
GO For A Cloud Certification (AWS)GO For A Cloud Certification (AWS)
GO For A Cloud Certification (AWS)
 

Dernier

The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 

Dernier (20)

The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 

Skillenza Build with Serverless Challenge - Advanced Serverless Concepts

  • 2. ● 12x AWS, 2x GCP, Docker, Kubernetes Developer Certified ● AWS Community Leader, Surat ● CEO - AppGambit (AWS Consulting Partner) ● AWS Serverless Hero - 2020
  • 5. Using a serverless approach for A Cloud Guru, we were able to get a fully interactive online social learning platform to market in a fraction of the time that it would have taken us in the past. We can now innovate quickly, and add new features to the user interface continuously — without having to touch so many layers of code for each new feature. Sam Kroonenburg, Co-Founder IMAGINE TIMELINE!
  • 6. https://read.acloud.guru/serverless-the-future-of-software-architecture-d4473ffed864 Using a serverless approach for A Cloud Guru, we were able to get a fully interactive online social learning platform to market in a fraction of the time that it would have taken us in the past. We can now innovate quickly, and add new features to the user interface continuously — without having to touch so many layers of code for each new feature. Sam Kroonenburg, Co-Founder HE WROTE THIS IN OCT 2015
  • 7. Why Serverless! ● FOCUS on business logic ● Cloud provider MANAGES the infrastructure, availability, scalability, and security ● Pay for what you CONSUME
  • 8. One of the most important papers published for Serverless Computing Cloud Programming Simplified: A Berkeley View on Serverless Computing (Feb, 2019) https://www2.eecs.berkeley.edu/Pubs/TechRpts/2019/EECS-2019-3.pdf
  • 9. AWS Lambda is NOT THE ONLY Serverless services. IT IS RATHER A VERY MOST IMPORTANT ONE.
  • 10. AWS Serverless Services ● Compute ○ Lambda, Lambda@Edge ○ Fargate ● Storage ○ S3 ○ EFS ● Databases ○ DynamoDB ○ Aurora, RDS Proxy ● Proxy ○ API Gateway ● Integration ○ SQS, SNS ○ EventBridge ○ AppSync ● Orchastration ○ Step Functions ● Analytics ○ Kinesis ○ Athena ● Developer Tools ○ SAM ○ X-Ray, CloudWatch ○ CodeBuild, CodeDeploy, CodePipeline ○ Cloud9 IDE
  • 12. ● Enable X-ray, you need insights from very early stage ● Keep the function size as small as possible, for faster startup time ● Import only the required libraries (especially when working with NodeJS) ● Use minimum timeout or execute as fast as possible ● Use Lambda Layers if you have a lot of static dependencies ● Use Lambda Destinations for success/failure based orchestration General practices while working with Lambda functions
  • 13. ● If your function is calling multiple lambdas or some sort of wait/decision tree, use Step Functions instead. ● Define IAM policies/role per function, least privilege principle ● Power-tune your functions and allocate proper resources ● Check the cold start time in your selected region ● Test and validate your requirement before going for Provisioned Concurrency, it is very costly and you may not need it. ● Use a framework, Doesn't matter if it's Serverless, SAM or any other. ● Set proper concurrency limit for your functions to avoid any downward impact. General practices while working with Lambda functions
  • 14. Keep the Lambda limits in mind - Some can be changed - Others can not be changed
  • 15. ● Concurrency ● Storage and Database Options ● Step Functions ● Observability ● Performance Optimization ● Cost Let’s look at a few in detail...
  • 16. Common observation as the application scale increases Timeouts - API Gateway - Lambda - DB Connections Throughput / Throttle - Dependencies - Lambda - Other AWS services Cost - Higher execution time, higher cost
  • 17. Concurrency in Distributed Environment ● Autoscaling is core at the Serverless Infrastructure ● Different services scale differently ● Scaling directly impacts the performance and cost ● Service with lowest throughput becomes benchmark for entire pipeline ● Lambda can support Reserved and Provisioned Concurrency ● Reserved does not cost anything ● Provisioned costs huge Spike/y (viral) access pattern is the new normal. Take Skillenza as one of the examples. Their one program may receive more hits compared to others. There might be a period where the overall load is consistent.
  • 20. Database and Storage Service ● Huge number of options for storage and database ● Serverless compute, Serverless data storage ● NoSQL DynamoDB can scale to billions of transactions ● Aurora Serverless can manage many use cases. Use Data PAI instead of connections. ● EFS can help process large files with low latency and overhead ● S3 can work as a highly durable centralize storage, also considered backbone of AWS Cloud ● Athena can help extract the desired data without performing at ETL operations ● RDS Proxy provides effective mechanism to use Relational Database with Serverless application without managing the connection overhead.
  • 21. (Lot of) Database options
  • 22. Storage options Service Storage Capacity Lambda Storage /tmp directory 512 MB S3 Object Storage S3 Triggers to Invoke Lambda functions Lifecycle rules for different storage tier Can be access from Internet Unlimited / Serverless EFS File Storage Low-latency storage Lifecycle rules for Infrequent Access storage tier VPC-bound can not be accessed from outside Unlimited / Serverless
  • 23. Orchestrate better with Step Functions ● One Lambda function will not be enough ● May need to run several functions in coordination to perform a task ● Loose coupling, loose integration ● Loose coupling, tight integration ● Ensure sure the desired workflow runs consistently
  • 24. Without Step Function Flow is relying on CloudWatch logs and manual invocations of different functions
  • 25. With Step Functions Flow is orchestrated using Step Functions does same things. (using Serverless Framework)
  • 26. Observability (logging, debugging and tracing) ● Log complexity is proportional to the number of functions ● Different services add their own complexities ● Many services can not be tested in local environment ● Debugging and Tracing is not easy in the Cloud ● Use AWS CloudWatch, Lumigo.io for Logging ● Use AWS X-Ray, Lumigo.io, Dashbird.io for Tracing ● Use Thundra.io for Debugging, Security
  • 27. AWS X-Ray - Service Map
  • 28. AWS X-Ray - Traces
  • 30. Optimize your functions ● Start Fast, Finish Fast ● Functions run in micro-containers (Firecracker based) ● If functions are heavy in size or initialization, that would delay the EXECUTION START time ● Lambda Layers can be pretty useful to move static dependencies ● Import only required libraries ● Different services has different latencies ● Adjust function timeouts accordingly
  • 33. Analyse and Optimise Re-use variables, decrease API calls to fetch configurations or other static detail, etc
  • 34. Cost of running Serverless ● Every service is metered differently ● Pay close attention to what is important to your application ● Change in application usage pattern can skew the cost ● Something that work at the scale of 100s may not work at the scale of 1000s, and will required re-architecture. ● Due to asynchronous nature, re-architecture may be a less disruptive process.
  • 35. Service Cost Meter Service Type Count Cost API Gateway REST Requests 1 Million $3.50 HTTP Request 1 Million $1 Lambda Request 1 Million $0.20 Duration every GB-second $0.0000166667 SQS Standard Queue 1 Million Request Every SQS action = 1 Request Data Transfer In/Out separate $0.40 DynamoDB On-Demand Read 1 Million $0.285 On-Demand Write 1 Million Data Storage separate Data Transfer In/Out separate $1.4231 The cost after the AWS Free Tier Limits https://aws.amazon.com/free
  • 36. Cost overview with Lumigo.io
  • 37. There is always a room for more... ● API Gateway - HTTP vs REST ● AppSync and GraphQL ● SQS Batch Size ● Kinesis Data Stream ● AWS IoT vs API Gateway ● API Gateway vs AppSync ● SQS, SNS, and EventBridge
  • 38. Keep Experimenting ● In Serverless environment, everything is distributed and asynchronous ● Serverless landscape is evolving rapidly, lot of opportunity to refactor and optimize https://sls.dashbird.io/en/serverless-best-practices
  • 39. Where to go from here ● AWS Well-Architected Framework for Serverless Applications ○ https://aws.amazon.com/blogs/aws/new-serverless-lens-in-aws-well-architected-tool/ ● AWS Heroes ○ Yan Cui - https://theburningmonk.com/ ○ Jeremy Daly - https://jeremydaly.com/ ○ James Beswick (Serverless Developer Advocate, AWS) ■ https://aws.amazon.com/blogs/compute/author/jbeswick/ ● AWS Blogs for Serverless ○ https://aws.amazon.com/blogs/compute/tag/serverless/ ● Serverless Framework ○ https://serverless.com/ ● Serverless Application Model ○ https://aws.amazon.com/serverless/sam/
  • 40. Thank You! #GOSERVERLESS Spare a few minutes and read this paper. Cloud Programming Simplified: A Berkeley View on Serverless Computing (Feb, 2019) https://www2.eecs.berkeley.edu/Pubs/TechRpts/2019/EECS-2019-3.pdf Above the Clouds: A Berkeley View of Cloud Computing (Feb, 2009) https://www2.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-28.pdf