SlideShare a Scribd company logo
1 of 38
Serverless
The Good, the Bad and the Ugly
Martin Raag
martin@testlio.com
Functions as a Service
Lambda
DynamoDB S3 Kinesis
Lambda
CloudFormation SWF CloudTrail SES Cognito API Gateway CloudWatchSNS
w
The serverless manifesto
• No machines, VMs, or containers visible in the programming model.
• Functions are the unit of deployment & scaling.
• Implicitly fault tolerant, as functions can run anywhere.
• Scales per request.
• Users can not over- or under-provision capacity.
• Permanent storage lives elsewhere.
• Never pay for idle, no cold servers or their costs.
• Bring your own code (BYOC).
• Metrics and logging are a universal right.
Latency
Latency
• Coldstarts add ~100ms latency
• Up to ~10s for JVM based functions
• Keep your functions warm
Latency
functions:
hello:
handler: handler.hello
events:
- http:
path: hello
method: get
- schedule: rate(10 minutes)
Latency
https://www.iopipe.com/2016/09/understanding-aws-lambda-coldstarts/
Latency
0
0.0375
0.075
0.1125
0.15
0.1875
time_tolal
APIGW/Lambda ELB/EC2
Latency (Cross Region)
0
0.325
0.65
0.975
1.3
time_total
APIGW/Lambda ELB/EC2
Latency (Cross Region)
0
0.05
0.1
0.15
0.2
time_connect
APIGW/Lambda ELB/EC2
API Gateway
– Top Gear
“Ambitious, but rubbish.”
What API Gateway does?
• Authentication
• Caching
• Input validation
• Request and response mapping
• Throttling
• Stages
• Environment variables
What API Gateway doesn’t?
• Integrate (well) with other AWS services
API Gateway
• No CloudFront edge cache
• Lambda timeout at 10s (maybe 30s)
• No Certificate Manager integration
https://forums.aws.amazon.com/thread.jspa?messageID=700646&#700646
https://forums.aws.amazon.com/thread.jspa?messageID=700646&#700646
https://forums.aws.amazon.com/thread.jspa?messageID=700646&#700646
Configuration
Configuration
https://12factor.net/build-release-run
– Adam Wiggins (12 Factor App)
“The twelve-factor app stores config in environment
variables.”
https://www.concurrencylabs.com/blog/configure-your-lambda-function-like-a-champ-sail-smoothly/
Local Environments
Debugging
Concurrent Execution
Limit
DoS yourself
That’s not all
• No persistent state
• 5 minute execution limit
• No atomic deployments of a service
• Immature tooling
• Vendor control / lock-in
• Service Discovery
Conclusion
Further reading
http://martinfowler.com/articles/serverless.html
https://www.iopipe.com/2016/09/understanding-aws-lambda-coldstarts/
https://www.concurrencylabs.com/blog/configure-your-lambda-function-like-a-champ-sail-smoothly/
https://github.com/serverless/serverless
https://charity.wtf/2016/05/31/operational-best-practices-serverless/
Release Your App With Confidence
Martin Raag
martin@testlio.com

More Related Content

What's hot

Greetings from AWS User Group Taiwan
Greetings from AWS User Group TaiwanGreetings from AWS User Group Taiwan
Greetings from AWS User Group TaiwanCliff Chao-kuan Lu
 
Serverless in azure
Serverless in azureServerless in azure
Serverless in azureVeresh Jain
 
Adopting serverless
Adopting serverlessAdopting serverless
Adopting serverlessGayan Hewa
 
How to Build High Performance : WordPress
How to Build High Performance : WordPressHow to Build High Performance : WordPress
How to Build High Performance : WordPressDylan Burris
 
DigitalOcean Microservices Talk Rocket Internet Conf '16
DigitalOcean Microservices Talk Rocket Internet Conf '16DigitalOcean Microservices Talk Rocket Internet Conf '16
DigitalOcean Microservices Talk Rocket Internet Conf '16Matthew Campbell
 
Meetup #3: Migrating an Oracle Application from on-premise to AWS
Meetup #3: Migrating an Oracle Application from on-premise to AWSMeetup #3: Migrating an Oracle Application from on-premise to AWS
Meetup #3: Migrating an Oracle Application from on-premise to AWSAWS Vietnam Community
 
SharePoint Saturday Barcelona 2016
SharePoint Saturday Barcelona 2016SharePoint Saturday Barcelona 2016
SharePoint Saturday Barcelona 2016Rick Van Rousselt
 
From Local to Global
From Local to Global From Local to Global
From Local to Global AWS Germany
 
Aws 12 Month Free Tier for Web Designers and Developers
Aws 12 Month Free Tier for Web Designers and DevelopersAws 12 Month Free Tier for Web Designers and Developers
Aws 12 Month Free Tier for Web Designers and DevelopersDylan Burris
 
Moving to microservices – a technology and organisation transformational journey
Moving to microservices – a technology and organisation transformational journeyMoving to microservices – a technology and organisation transformational journey
Moving to microservices – a technology and organisation transformational journeyBoyan Dimitrov
 
A Gentle Introduction to Functions-as-a-Service
A Gentle Introduction to Functions-as-a-ServiceA Gentle Introduction to Functions-as-a-Service
A Gentle Introduction to Functions-as-a-ServiceValeri Karpov
 
Clovaを支える技術 機械学習配信基盤のご紹介
Clovaを支える技術 機械学習配信基盤のご紹介Clovaを支える技術 機械学習配信基盤のご紹介
Clovaを支える技術 機械学習配信基盤のご紹介LINE Corporation
 
Patterns for building resilient and scalable microservices platform on AWS
Patterns for building resilient and scalable microservices platform on AWSPatterns for building resilient and scalable microservices platform on AWS
Patterns for building resilient and scalable microservices platform on AWSBoyan Dimitrov
 
Python in the Serverless Era (PyCon IL 2016)
Python in the Serverless Era (PyCon IL 2016)Python in the Serverless Era (PyCon IL 2016)
Python in the Serverless Era (PyCon IL 2016)Benny Bauer
 
Microservices: next-steps
Microservices: next-stepsMicroservices: next-steps
Microservices: next-stepsBoyan Dimitrov
 
Secret Techniques to Manage Apache Cloudstack with ActOnCloud
Secret Techniques to Manage Apache Cloudstack with ActOnCloudSecret Techniques to Manage Apache Cloudstack with ActOnCloud
Secret Techniques to Manage Apache Cloudstack with ActOnCloudMadan Ganesh Velayudham
 

What's hot (20)

Greetings from AWS User Group Taiwan
Greetings from AWS User Group TaiwanGreetings from AWS User Group Taiwan
Greetings from AWS User Group Taiwan
 
104 meets cloud
104 meets cloud104 meets cloud
104 meets cloud
 
Serverless in azure
Serverless in azureServerless in azure
Serverless in azure
 
Cloud in your Cloud
Cloud in your CloudCloud in your Cloud
Cloud in your Cloud
 
Raven db in a nutshell
Raven db in a nutshellRaven db in a nutshell
Raven db in a nutshell
 
Adopting serverless
Adopting serverlessAdopting serverless
Adopting serverless
 
Camunda and Apache Cassandra
Camunda and Apache CassandraCamunda and Apache Cassandra
Camunda and Apache Cassandra
 
How to Build High Performance : WordPress
How to Build High Performance : WordPressHow to Build High Performance : WordPress
How to Build High Performance : WordPress
 
DigitalOcean Microservices Talk Rocket Internet Conf '16
DigitalOcean Microservices Talk Rocket Internet Conf '16DigitalOcean Microservices Talk Rocket Internet Conf '16
DigitalOcean Microservices Talk Rocket Internet Conf '16
 
Meetup #3: Migrating an Oracle Application from on-premise to AWS
Meetup #3: Migrating an Oracle Application from on-premise to AWSMeetup #3: Migrating an Oracle Application from on-premise to AWS
Meetup #3: Migrating an Oracle Application from on-premise to AWS
 
SharePoint Saturday Barcelona 2016
SharePoint Saturday Barcelona 2016SharePoint Saturday Barcelona 2016
SharePoint Saturday Barcelona 2016
 
From Local to Global
From Local to Global From Local to Global
From Local to Global
 
Aws 12 Month Free Tier for Web Designers and Developers
Aws 12 Month Free Tier for Web Designers and DevelopersAws 12 Month Free Tier for Web Designers and Developers
Aws 12 Month Free Tier for Web Designers and Developers
 
Moving to microservices – a technology and organisation transformational journey
Moving to microservices – a technology and organisation transformational journeyMoving to microservices – a technology and organisation transformational journey
Moving to microservices – a technology and organisation transformational journey
 
A Gentle Introduction to Functions-as-a-Service
A Gentle Introduction to Functions-as-a-ServiceA Gentle Introduction to Functions-as-a-Service
A Gentle Introduction to Functions-as-a-Service
 
Clovaを支える技術 機械学習配信基盤のご紹介
Clovaを支える技術 機械学習配信基盤のご紹介Clovaを支える技術 機械学習配信基盤のご紹介
Clovaを支える技術 機械学習配信基盤のご紹介
 
Patterns for building resilient and scalable microservices platform on AWS
Patterns for building resilient and scalable microservices platform on AWSPatterns for building resilient and scalable microservices platform on AWS
Patterns for building resilient and scalable microservices platform on AWS
 
Python in the Serverless Era (PyCon IL 2016)
Python in the Serverless Era (PyCon IL 2016)Python in the Serverless Era (PyCon IL 2016)
Python in the Serverless Era (PyCon IL 2016)
 
Microservices: next-steps
Microservices: next-stepsMicroservices: next-steps
Microservices: next-steps
 
Secret Techniques to Manage Apache Cloudstack with ActOnCloud
Secret Techniques to Manage Apache Cloudstack with ActOnCloudSecret Techniques to Manage Apache Cloudstack with ActOnCloud
Secret Techniques to Manage Apache Cloudstack with ActOnCloud
 

Viewers also liked

Pipedrive DW on AWS
Pipedrive DW on AWSPipedrive DW on AWS
Pipedrive DW on AWSPipedrive
 
Pipedrive - NOAH16 Berlin
Pipedrive - NOAH16 BerlinPipedrive - NOAH16 Berlin
Pipedrive - NOAH16 BerlinNOAH Advisors
 
The Four Hows of Sales Pipeline Management
The Four Hows of Sales Pipeline ManagementThe Four Hows of Sales Pipeline Management
The Four Hows of Sales Pipeline ManagementGleb Maltsev
 
Mike Butcher – How To Deal With Tech Media 2016 (redesigned)
Mike Butcher – How To Deal With Tech Media 2016 (redesigned)Mike Butcher – How To Deal With Tech Media 2016 (redesigned)
Mike Butcher – How To Deal With Tech Media 2016 (redesigned)Gleb Maltsev
 
How Pipedrive helped capytech
How Pipedrive helped capytechHow Pipedrive helped capytech
How Pipedrive helped capytechGetApp
 
11 sales tools to improve your business
11 sales tools to improve your business11 sales tools to improve your business
11 sales tools to improve your businessAmure Pinho
 
Crowdpower _ crowfunding and crowdsourcing
Crowdpower _ crowfunding and crowdsourcingCrowdpower _ crowfunding and crowdsourcing
Crowdpower _ crowfunding and crowdsourcingGiovanni Vannini
 
Des maths et des recommandations - Devoxx 2014
Des maths et des recommandations - Devoxx 2014Des maths et des recommandations - Devoxx 2014
Des maths et des recommandations - Devoxx 2014Loïc Knuchel
 
The good the bad and the ugly - final
The good the bad and the ugly - finalThe good the bad and the ugly - final
The good the bad and the ugly - finalAndre Verschelling
 
Le temps réel au coeur de toutes les stratégies digitales
Le temps réel au coeur de toutes les stratégies digitales Le temps réel au coeur de toutes les stratégies digitales
Le temps réel au coeur de toutes les stratégies digitales Netwave
 
Example: movielens data with mahout
Example: movielens data with mahoutExample: movielens data with mahout
Example: movielens data with mahoutGregg Barrett
 
Living with microservices at Pipedrive
Living with microservices at PipedriveLiving with microservices at Pipedrive
Living with microservices at PipedriveRenno Reinurm
 
1 kofteros startup academy 2015 workshop intro
1 kofteros startup academy 2015 workshop intro1 kofteros startup academy 2015 workshop intro
1 kofteros startup academy 2015 workshop introStartup Academy Cyprus
 
Queues queues queues — How RabbitMQ enables reactive architectures
Queues queues queues — How RabbitMQ enables reactive architecturesQueues queues queues — How RabbitMQ enables reactive architectures
Queues queues queues — How RabbitMQ enables reactive architecturesMartin Tajur
 
‘The Valai’ – Our IT Solutions and Services
‘The Valai’ – Our IT Solutions and Services‘The Valai’ – Our IT Solutions and Services
‘The Valai’ – Our IT Solutions and ServicesMaan21
 
Top 7 reasons why yo should do internship
Top 7 reasons why yo should do internshipTop 7 reasons why yo should do internship
Top 7 reasons why yo should do internshipNizamudheen Valliyattu
 
Crm raynet how does it work
Crm raynet   how does it workCrm raynet   how does it work
Crm raynet how does it workPresenter2014
 
What is Xero cloud accounting software?
What is Xero cloud accounting software?What is Xero cloud accounting software?
What is Xero cloud accounting software?MarketInvoice
 
Opentaps purchasing process
Opentaps purchasing processOpentaps purchasing process
Opentaps purchasing processNguyen Duc
 
A comprehensive Online ERP for Your Retail Business
A comprehensive Online ERP for Your Retail BusinessA comprehensive Online ERP for Your Retail Business
A comprehensive Online ERP for Your Retail BusinessCoderobotics Studio
 

Viewers also liked (20)

Pipedrive DW on AWS
Pipedrive DW on AWSPipedrive DW on AWS
Pipedrive DW on AWS
 
Pipedrive - NOAH16 Berlin
Pipedrive - NOAH16 BerlinPipedrive - NOAH16 Berlin
Pipedrive - NOAH16 Berlin
 
The Four Hows of Sales Pipeline Management
The Four Hows of Sales Pipeline ManagementThe Four Hows of Sales Pipeline Management
The Four Hows of Sales Pipeline Management
 
Mike Butcher – How To Deal With Tech Media 2016 (redesigned)
Mike Butcher – How To Deal With Tech Media 2016 (redesigned)Mike Butcher – How To Deal With Tech Media 2016 (redesigned)
Mike Butcher – How To Deal With Tech Media 2016 (redesigned)
 
How Pipedrive helped capytech
How Pipedrive helped capytechHow Pipedrive helped capytech
How Pipedrive helped capytech
 
11 sales tools to improve your business
11 sales tools to improve your business11 sales tools to improve your business
11 sales tools to improve your business
 
Crowdpower _ crowfunding and crowdsourcing
Crowdpower _ crowfunding and crowdsourcingCrowdpower _ crowfunding and crowdsourcing
Crowdpower _ crowfunding and crowdsourcing
 
Des maths et des recommandations - Devoxx 2014
Des maths et des recommandations - Devoxx 2014Des maths et des recommandations - Devoxx 2014
Des maths et des recommandations - Devoxx 2014
 
The good the bad and the ugly - final
The good the bad and the ugly - finalThe good the bad and the ugly - final
The good the bad and the ugly - final
 
Le temps réel au coeur de toutes les stratégies digitales
Le temps réel au coeur de toutes les stratégies digitales Le temps réel au coeur de toutes les stratégies digitales
Le temps réel au coeur de toutes les stratégies digitales
 
Example: movielens data with mahout
Example: movielens data with mahoutExample: movielens data with mahout
Example: movielens data with mahout
 
Living with microservices at Pipedrive
Living with microservices at PipedriveLiving with microservices at Pipedrive
Living with microservices at Pipedrive
 
1 kofteros startup academy 2015 workshop intro
1 kofteros startup academy 2015 workshop intro1 kofteros startup academy 2015 workshop intro
1 kofteros startup academy 2015 workshop intro
 
Queues queues queues — How RabbitMQ enables reactive architectures
Queues queues queues — How RabbitMQ enables reactive architecturesQueues queues queues — How RabbitMQ enables reactive architectures
Queues queues queues — How RabbitMQ enables reactive architectures
 
‘The Valai’ – Our IT Solutions and Services
‘The Valai’ – Our IT Solutions and Services‘The Valai’ – Our IT Solutions and Services
‘The Valai’ – Our IT Solutions and Services
 
Top 7 reasons why yo should do internship
Top 7 reasons why yo should do internshipTop 7 reasons why yo should do internship
Top 7 reasons why yo should do internship
 
Crm raynet how does it work
Crm raynet   how does it workCrm raynet   how does it work
Crm raynet how does it work
 
What is Xero cloud accounting software?
What is Xero cloud accounting software?What is Xero cloud accounting software?
What is Xero cloud accounting software?
 
Opentaps purchasing process
Opentaps purchasing processOpentaps purchasing process
Opentaps purchasing process
 
A comprehensive Online ERP for Your Retail Business
A comprehensive Online ERP for Your Retail BusinessA comprehensive Online ERP for Your Retail Business
A comprehensive Online ERP for Your Retail Business
 

Similar to The Good, the Bad and the Ugly of Serverless Computing

Serverless design considerations for Cloud Native workloads
Serverless design considerations for Cloud Native workloadsServerless design considerations for Cloud Native workloads
Serverless design considerations for Cloud Native workloadsTensult
 
Get the EDGE to scale: Using Cloudfront along with edge compute to scale your...
Get the EDGE to scale: Using Cloudfront along with edge compute to scale your...Get the EDGE to scale: Using Cloudfront along with edge compute to scale your...
Get the EDGE to scale: Using Cloudfront along with edge compute to scale your...Amazon Web Services
 
Serverless at Lifestage
Serverless at LifestageServerless at Lifestage
Serverless at LifestageBATbern
 
Serverless applications
Serverless applicationsServerless applications
Serverless applicationsmbaric
 
Skillenza Build with Serverless Challenge - Advanced Serverless Concepts
Skillenza Build with Serverless Challenge -  Advanced Serverless ConceptsSkillenza Build with Serverless Challenge -  Advanced Serverless Concepts
Skillenza Build with Serverless Challenge - Advanced Serverless ConceptsDhaval Nagar
 
Čtvrtkon #64 - AWS Serverless - Michal Haták
Čtvrtkon #64 - AWS Serverless - Michal HatákČtvrtkon #64 - AWS Serverless - Michal Haták
Čtvrtkon #64 - AWS Serverless - Michal HatákCtvrtkoncz
 
Building Serverless Web Applications - DevDay Los Angeles 2017
Building Serverless Web Applications - DevDay Los Angeles 2017Building Serverless Web Applications - DevDay Los Angeles 2017
Building Serverless Web Applications - DevDay Los Angeles 2017Amazon Web Services
 
AWS Serverless patterns & best-practices in AWS
AWS Serverless  patterns & best-practices in AWSAWS Serverless  patterns & best-practices in AWS
AWS Serverless patterns & best-practices in AWSDima Pasko
 
Getting Started with AWS Lambda & Serverless Cloud
Getting Started with AWS Lambda & Serverless CloudGetting Started with AWS Lambda & Serverless Cloud
Getting Started with AWS Lambda & Serverless CloudIan Massingham
 
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
 
Serverless solutions - AWS Summit SG 2017
Serverless solutions - AWS Summit SG 2017 Serverless solutions - AWS Summit SG 2017
Serverless solutions - AWS Summit SG 2017 Amazon Web Services
 
Getting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless CloudGetting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless CloudAmazon Web Services
 
NEW LAUNCH! Bringing AWS Lambda to the Edge
NEW LAUNCH! Bringing AWS Lambda to the EdgeNEW LAUNCH! Bringing AWS Lambda to the Edge
NEW LAUNCH! Bringing AWS Lambda to the EdgeAmazon Web Services
 
Serverlessusecase workshop feb3_v2
Serverlessusecase workshop feb3_v2Serverlessusecase workshop feb3_v2
Serverlessusecase workshop feb3_v2kartraj
 
Serverless Architectures on AWS Lambda
Serverless Architectures on AWS LambdaServerless Architectures on AWS Lambda
Serverless Architectures on AWS LambdaSerhat Can
 
DevOps, Microservices and Serverless Architecture
DevOps, Microservices and Serverless ArchitectureDevOps, Microservices and Serverless Architecture
DevOps, Microservices and Serverless ArchitectureMikhail Prudnikov
 
AWS re:Invent 2016: Building Complex Serverless Applications (GPST404)
AWS re:Invent 2016: Building Complex Serverless Applications (GPST404)AWS re:Invent 2016: Building Complex Serverless Applications (GPST404)
AWS re:Invent 2016: Building Complex Serverless Applications (GPST404)Amazon Web Services
 
Serverless Architecture Patterns
Serverless Architecture PatternsServerless Architecture Patterns
Serverless Architecture PatternsAmazon Web Services
 
Getting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless CloudGetting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless CloudAmazon Web Services
 

Similar to The Good, the Bad and the Ugly of Serverless Computing (20)

Serverless design considerations for Cloud Native workloads
Serverless design considerations for Cloud Native workloadsServerless design considerations for Cloud Native workloads
Serverless design considerations for Cloud Native workloads
 
Get the EDGE to scale: Using Cloudfront along with edge compute to scale your...
Get the EDGE to scale: Using Cloudfront along with edge compute to scale your...Get the EDGE to scale: Using Cloudfront along with edge compute to scale your...
Get the EDGE to scale: Using Cloudfront along with edge compute to scale your...
 
Serverless at Lifestage
Serverless at LifestageServerless at Lifestage
Serverless at Lifestage
 
Serverless applications
Serverless applicationsServerless applications
Serverless applications
 
Skillenza Build with Serverless Challenge - Advanced Serverless Concepts
Skillenza Build with Serverless Challenge -  Advanced Serverless ConceptsSkillenza Build with Serverless Challenge -  Advanced Serverless Concepts
Skillenza Build with Serverless Challenge - Advanced Serverless Concepts
 
Čtvrtkon #64 - AWS Serverless - Michal Haták
Čtvrtkon #64 - AWS Serverless - Michal HatákČtvrtkon #64 - AWS Serverless - Michal Haták
Čtvrtkon #64 - AWS Serverless - Michal Haták
 
Building Serverless Web Applications - DevDay Los Angeles 2017
Building Serverless Web Applications - DevDay Los Angeles 2017Building Serverless Web Applications - DevDay Los Angeles 2017
Building Serverless Web Applications - DevDay Los Angeles 2017
 
AWS Serverless patterns & best-practices in AWS
AWS Serverless  patterns & best-practices in AWSAWS Serverless  patterns & best-practices in AWS
AWS Serverless patterns & best-practices in AWS
 
Getting Started with AWS Lambda & Serverless Cloud
Getting Started with AWS Lambda & Serverless CloudGetting Started with AWS Lambda & Serverless Cloud
Getting Started with AWS Lambda & Serverless Cloud
 
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
 
Serverless solutions - AWS Summit SG 2017
Serverless solutions - AWS Summit SG 2017 Serverless solutions - AWS Summit SG 2017
Serverless solutions - AWS Summit SG 2017
 
Getting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless CloudGetting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless Cloud
 
NEW LAUNCH! Bringing AWS Lambda to the Edge
NEW LAUNCH! Bringing AWS Lambda to the EdgeNEW LAUNCH! Bringing AWS Lambda to the Edge
NEW LAUNCH! Bringing AWS Lambda to the Edge
 
Serverlessusecase workshop feb3_v2
Serverlessusecase workshop feb3_v2Serverlessusecase workshop feb3_v2
Serverlessusecase workshop feb3_v2
 
Serverless Architectures on AWS Lambda
Serverless Architectures on AWS LambdaServerless Architectures on AWS Lambda
Serverless Architectures on AWS Lambda
 
DevOps, Microservices and Serverless Architecture
DevOps, Microservices and Serverless ArchitectureDevOps, Microservices and Serverless Architecture
DevOps, Microservices and Serverless Architecture
 
AWS re:Invent 2016: Building Complex Serverless Applications (GPST404)
AWS re:Invent 2016: Building Complex Serverless Applications (GPST404)AWS re:Invent 2016: Building Complex Serverless Applications (GPST404)
AWS re:Invent 2016: Building Complex Serverless Applications (GPST404)
 
Serverless Architecture Patterns
Serverless Architecture PatternsServerless Architecture Patterns
Serverless Architecture Patterns
 
What's New with AWS Lambda
What's New with AWS LambdaWhat's New with AWS Lambda
What's New with AWS Lambda
 
Getting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless CloudGetting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless Cloud
 

Recently uploaded

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 

Recently uploaded (20)

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 

The Good, the Bad and the Ugly of Serverless Computing

Editor's Notes

  1. Testlio is a full-service app testing solution, that allows you to offload your QA with the most flexible requirements. All we need is your build and you will have a dedicated team of professional software testers.
  2. A serverless application is one where the server-side logic runs in stateless compute containers that are event-triggered, ephemeral (may last only a single execution) and fully managed by a 3rd party. Essentially you can think about it as Functions as a Service (FaaS). There are multiple service providers today - Googles Cloud Functions, Azures Service Fabric and Auth0’s webtasks, but the first and perhaps the most popular implementation today is AWS’ Lambda.
  3. First introduced in November of 2014, Lambda integrated with AWS’ DynamoDB (a managed key value store), S3 (cloud file storage) and Kinesis (data processing) as event sources. A year later AWS expanded support across their services (CloudFormation, SWF, CloudTrail, SES, Cognito, API Gateway, SNS, CloudWatch). Lets focus on some of these to see how they enable us to build serverless cloud services.
  4. API Gateway - Allows us to map individual Lambda functions to HTTP endpoints to create Restful services. DynamoDB - A fully managed database service to enable persistent data storage and lookup without the overhead of database maintenance. CloudWatch - Centralised logging for all Lambda functions and periodic triggers. CloudFormation - Enables to define and deploy a complete sandboxed stack.
  5. Updating servers (OS’), Deploying code to a cluster, Horizontal scaling is completely automatic, pay for what you use (subsecond billing w/ 100ms accuracy)
  6. You might be hyped. But before you jump into writing everything using the serverless paradigm, lets look at some of the bad problems and ugly workarounds.
  7. In general your serverless service will be slower.
  8. • Cold boots add about ~100ms depending on the size of your function and runtime (Node, Python) • JVM functions may take significantly longer (up to ~10s) • The ugly workaround is to ping your endpoint periodically or set a periodic event
  9. Actually pretty easy with serverless framework, which abstracts some of the complexity away - just one configuration line. A schedule does not completely solve the problem though.
  10. Even if your function is under constant load the VM seems to be recycled every ~4 hours. IOPipe data - AWS does not say. Coldstarts are not the only problem.
  11. Latency in the same region (us-east-1) is similar. The traditional approach comes in just under ~100ms, while the serverless is just over it. Both pretty consistent. When we look at cross region requests things get a little funky though.
  12. Lambda/APIGW approach is at times much slower and also a lot more inconsistent. APIGW is based on CloudFront, you reach the Amazon network quickly, but the Amazon network seems at times more unreliable than the internet.
  13. time_connect - from the start until the TCP connect to the remote host APIGW/Lambda very fast - latency seems to happen in the Amazon network.
  14. API Gateway - I have a love - hate relationship with that Amazon Service. At times it seems to follow the old Top Gear moto - “Ambitious, but rubbish”.
  15. If you look at the service offering, it tries to do so much. Some of these things are better remained in application code, as they are hard to debug, version control and sometimes even define.
  16. Cache does not help with Amazon network problems, since it’s not implemented on the edge. API Gateway might timeout on coldstart. No certificate manager integration, works with ELB and CloudFront.
  17. What you do in this case is crawl the AWS forums for help…
  18. Where you will be assured it’s a high priority item in the backlog.
  19. Even though it probably isn’t.
  20. Apps sometimes store config as constants in the code. This is a violation of twelve-factor, which requires strict separation of config from code. Config varies substantially across deploys, code does not.
  21. The twelve-factor app stores config in environment variables. 1. Bake the configuration into the package (either as a file or in code) 2. Use S3 3. Use DynamoDB The first one is a bad idea for reasons which are out of the scope of this talk (see 12 Factor App), to mention a few: • you will not be able to use your build artifacts across deployments to different stages, if the configuration between them varies at all • redeploy to update configuration
  22. S3 and Dynamo increase latency even more. You can load configuration only once on cold start, but then you don’t know when your config change propagates.
  23. No general FaaS abstraction Local environment lots of manual work Containers exist for AWS services All event sources are possible to emulate, but impractical Resort to development in the cloud
  24. Rely on what your service provider gives you. Meaning there is no SSH access to containers or remote debugging. Debugging happens by investigating metrics and lots and lots of logging.
  25. By default, AWS Lambda limits the total concurrent executions across all functions within a given region to 100. The default limit is a safety limit that protects you from costs due to potential runaway or recursive functions during initial development and testing.
  26. This means otherwise self contained services can impact each other. If different environments (dev, test, prod) run under the same account, then those can also affect each other. Load testing dev/test env Processing big data Results in unresponsive API
  27. database connection pools / persistent HTTP connections to external services are also persistent state recursive or spawn multiple lambdas to avoid execution time limit (can lead to fun stuff with the concurrent execution limit) might have to disable event triggers to deploy a service due to no atomic deploys of a service
  28. Still immature Be aware of the limits Sweet spot is currently along with servers Very powerful and will become more prominent