SlideShare a Scribd company logo
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

More Related Content

What's hot

State of serverless
State of serverlessState of serverless
State of serverless
Anurag Saran
 
AWS Jungle - Lambda
AWS Jungle - LambdaAWS Jungle - Lambda
AWS Jungle - Lambda
Squash Apps Pvt Ltd
 
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
Raphael 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 Functions
Raphael 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 solutions
ElenaIvannikova3
 
Feedback on AWS re:invent 2016
Feedback on AWS re:invent 2016Feedback on AWS re:invent 2016
Feedback on AWS re:invent 2016
Laurent Bernaille
 
Serverless computing
Serverless computingServerless computing
Serverless computing
Om Vikram Thapa
 
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
Amazon Web Services
 
Introduction to Serverless
Introduction to ServerlessIntroduction to Serverless
Introduction to Serverless
Amazon 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 Lambda
Amazon 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 Cloud
Amazon Web Services
 
AWS for Java Developers workshop
AWS for Java Developers workshopAWS for Java Developers workshop
AWS for Java Developers workshop
Rory Preddy
 
Serverless Architecture
Serverless ArchitectureServerless Architecture
Serverless Architecture
Michał Kurzeja
 
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
Amazon Web Services
 
Technology | Serverless
Technology | ServerlessTechnology | Serverless
Technology | Serverless
Ani 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 Beyond
Nick 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 Lambda
Okis 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 Cloud
Samuel Chow
 

What's hot (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
 

Similar to 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 serverless
Dhaval Nagar
 
Exposing Lambda Functions as Managed APIs
Exposing Lambda Functions as Managed APIsExposing Lambda Functions as Managed APIs
Exposing Lambda Functions as Managed APIs
WSO2
 
Crio.do - Deployment on AWS Masterclass
Crio.do - Deployment on AWS MasterclassCrio.do - Deployment on AWS Masterclass
Crio.do - Deployment on AWS Masterclass
Dhaval Nagar
 
Building self service framework
Building self service frameworkBuilding self service framework
Building self service framework
Rovshan 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.pdf
Dhaval 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 applications
Cesar 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 applications
Cesar 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 Cloud
Dhaval 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 ReportGarden
Jay 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 applications
Cesar Cardenas Desales
 
AppRunner DeepDive
AppRunner DeepDiveAppRunner DeepDive
AppRunner DeepDive
Dhaval Nagar
 
AWS Serverless with Lambda, ApiGateway
AWS Serverless with Lambda, ApiGatewayAWS Serverless with Lambda, ApiGateway
AWS Serverless with Lambda, ApiGateway
Ravi Soni
 
Serverlessusecase workshop feb3_v2
Serverlessusecase workshop feb3_v2Serverlessusecase workshop feb3_v2
Serverlessusecase workshop feb3_v2
kartraj
 
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
Chris 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 IBM
RightScale
 
Serverless Computing
Serverless ComputingServerless Computing
Serverless Computing
Anand Gupta
 
使用 AWS 無伺服器運算服務打造您的第一個語音助理
使用 AWS 無伺服器運算服務打造您的第一個語音助理使用 AWS 無伺服器運算服務打造您的第一個語音助理
使用 AWS 無伺服器運算服務打造您的第一個語音助理
Amazon Web Services
 

Similar to 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 無伺服器運算服務打造您的第一個語音助理
 

More from Dhaval Nagar

Amazon Q Developer - For Developer Productivity
Amazon Q Developer - For Developer ProductivityAmazon Q Developer - For Developer Productivity
Amazon Q Developer - For Developer Productivity
Dhaval Nagar
 
Leveraging AWS Serverless, Amazon Bedrock and Generative AI for Textile Patte...
Leveraging AWS Serverless, Amazon Bedrock and Generative AI for Textile Patte...Leveraging AWS Serverless, Amazon Bedrock and Generative AI for Textile Patte...
Leveraging AWS Serverless, Amazon Bedrock and Generative AI for Textile Patte...
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.pdf
Dhaval Nagar
 
AWS Developer Ecosystem.pdf
AWS Developer Ecosystem.pdfAWS Developer Ecosystem.pdf
AWS Developer Ecosystem.pdf
Dhaval Nagar
 
Mainstream Serverless
Mainstream ServerlessMainstream Serverless
Mainstream Serverless
Dhaval 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 sync
Dhaval 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 Serverless
Dhaval Nagar
 
Amazon EventBridge
Amazon EventBridgeAmazon EventBridge
Amazon EventBridge
Dhaval Nagar
 
Software Engineering in the (AWS) Cloud
Software Engineering in the (AWS) CloudSoftware Engineering in the (AWS) Cloud
Software Engineering in the (AWS) Cloud
Dhaval 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
 

More from Dhaval Nagar (10)

Amazon Q Developer - For Developer Productivity
Amazon Q Developer - For Developer ProductivityAmazon Q Developer - For Developer Productivity
Amazon Q Developer - For Developer Productivity
 
Leveraging AWS Serverless, Amazon Bedrock and Generative AI for Textile Patte...
Leveraging AWS Serverless, Amazon Bedrock and Generative AI for Textile Patte...Leveraging AWS Serverless, Amazon Bedrock and Generative AI for Textile Patte...
Leveraging AWS Serverless, Amazon Bedrock and Generative AI for Textile Patte...
 
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)
 

Recently uploaded

Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
Gerardo Pardo-Castellote
 
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
kalichargn70th171
 

Recently uploaded (20)

Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
 
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
 

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