SlideShare a Scribd company logo
1 of 63
@MikhailShilkov
Performance Tales of Serverless
Mikhail Shilkov
AMSTERDAM | MAY 8-9, 2018
@MikhailShilkov
• “You Don’t Want to Build a Serverless Monolith”
• “Democratizing Serverless: the New Open Source, Cloud Agnostic
Functions Platform”
• “Performance Tales of Serverless”
• “Continuous delivering serverless applications in the pipeline:
indispensable advice from the trenches”
• “Serverless Swift APIs with Apache OpenWhisk”
• “The serverless full stack”
• “Thinking twice about migrating to Serverless”
@MikhailShilkov
@MikhailShilkov
@MikhailShilkov
@MikhailShilkov
@MikhailShilkov
No servers to manage
Implicit high availability
20k requests/day free
Python!
@MikhailShilkov
@MikhailShilkov
@MikhailShilkov
@MikhailShilkov
@MikhailShilkov
@MikhailShilkov
“
“
@MikhailShilkov
James Governor,
Analyst & Co-founder at
RedMonk
We’re going to see
the first billion-dollar startup
with a single employee,
the founder, and that engineer will
be using serverless technology
@MikhailShilkov
@MikhailShilkov
@MikhailShilkov
1 user 100 users 10k users 1 mln users
@MikhailShilkov
1 user 100 users 10k users 1 mln users
ResponseTime
@MikhailShilkov
@MikhailShilkov
0
1
0:00 1:00 2:00 3:00 4:00 5:00
@MikhailShilkov
0
20
40
60
80
100
120
140
@MikhailShilkov
0
50
100
150
200
250
We want to be this fast
@MikhailShilkov
0
100
200
300
400
500
600
Dependency Duration End-to-End Response Time
@MikhailShilkov
0
500
1000
1500
2000
2500
3000
3500
Dependency Duration End-to-End Response Time
@MikhailShilkov
0
500
1000
1500
2000
2500
3000
3500
4000
4500
Dependency Duration End-to-End Response Time
@MikhailShilkov
@MikhailShilkov
0
1
0:00 1:00 2:00 3:00 4:00 5:00
Cold starts
@MikhailShilkov
UNDERSTAND
THE RUNTIME
@MikhailShilkov
COLD STARTS
ARE SLOW(-ER)
…and depend on language
and package size
@MikhailShilkov
@MikhailShilkov
@MikhailShilkov
@MikhailShilkov
@MikhailShilkov
@MikhailShilkov
BE CREATIVE
IN USAGE SCENARIOS
@MikhailShilkov
@MikhailShilkov
0
5
10
15
20
25
30
35
40
0:00 1:00 2:00 3:00 4:00 5:00
@MikhailShilkov
0
500
1000
1500
2000
2500
3000
3500
End-to-End Response Time
@MikhailShilkov
0
500
1000
1500
2000
2500
3000
3500
Dependency Duration End-to-End Response Time
@MikhailShilkov
IS LIMITED BY
NON-SERVERLESS DEPENDENCIES
SERVERLESS SCALABILITY
@MikhailShilkov
can LOAD TEST or DDoS
any “mere mortal” service
SERVERLESS APPLICATION
@MikhailShilkov
@MikhailShilkov
@MikhailShilkov
@MikhailShilkov
0
100000
200000
300000
400000
500000
600000
700000
800000
900000
1000000
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
#messagespending
minutes
@MikhailShilkov
0
100000
200000
300000
400000
500000
600000
700000
800000
900000
1000000
0 1 2 3 4 5 6 7 8 9 10 11 12 13
#messagespending
minutes
@MikhailShilkov
0
100000
200000
300000
400000
500000
600000
700000
800000
900000
1000000
0 1 2 3 4 5 6 7 8 9 10 11 12
#messagespending
minutes
@MikhailShilkov
0
100000
200000
300000
400000
500000
600000
700000
800000
900000
1000000
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
1024 MB 512 MB 256 MB 128 MB
@MikhailShilkov
EVENT BASED
ASYNC FTW
SERVERLESS IS NOT JUST HTTP
@MikhailShilkov
LIMITS, SCALING MODE,
RAM & CPU ALLOCATION
LEARN RESOURCE MODEL:
@MikhailShilkov
@MikhailShilkov
0
100
200
300
400
500
600
700
800
0:00 0:10 0:20 0:30 0:40 0:50 1:00
@MikhailShilkov
0
50
100
150
200
250
300
350
400
0:00 0:10 0:20 0:30 0:40 0:50 1:00
Requests 50th 90th 95th
@MikhailShilkov
0
200
400
600
800
1000
1200
1400
1600
1800
2000
0:00 0:10 0:20 0:30 0:40 0:50 1:00
Requests 50th 99th
@MikhailShilkov
0
50
100
150
200
250
300
0:00 0:10 0:20 0:30 0:40 0:50 1:00
Requests 50th 90th 95th 99th
@MikhailShilkov
0
200
400
600
800
1000
0:00 0:10 0:20 0:30 0:40 0:50 1:00
Success Errors
@MikhailShilkov
const http = require('http');
const agent = new http.Agent({keepAlive: true});
exports.mycloudfunction = (req, res) => {
req = http.get({
host: '...',
port: 80,
path: '...',
agent: agent
}, // ...
@MikhailShilkov
0
2000
4000
6000
8000
10000
12000
0:00 0:10 0:20 0:30 0:40 0:50 1:00
Requests 50th 90th 95th 99th
@MikhailShilkov
SPIKY LOAD…
SERVERLESS
IS UNIQUELY SUITABLE FOR
BUT KNOW THE LIMITS
@MikhailShilkov
@MikhailShilkov
• Throughput is probably enough
• Your app should not be critical to latency
• There is no SLA
• Don’t forget tooling, architecture, pricing
@MikhailShilkov
• Prototypes
• Low traffic apps
• Cloud Glue
• Unusual load profiles
@MikhailShilkov
@MikhailShilkov
• http://blog.myroomabroad.com/story-room-abroad/
• https://www.nesta.org.uk/news/12-predictions-2012
• https://bestresellerhostingprovider.com/differences-between-dedicated-
and-shared-servers/
• https://thebohemianbreeze.com/wp-content/uploads/2017/12/design-
2711676.jpg

More Related Content

Similar to Performance Tales of Serverless

Similar to Performance Tales of Serverless (20)

Chaos Engineering Kubernetes
Chaos Engineering KubernetesChaos Engineering Kubernetes
Chaos Engineering Kubernetes
 
What if everything is awesome? Codemotion Madrid 2014
What if everything is awesome? Codemotion Madrid 2014What if everything is awesome? Codemotion Madrid 2014
What if everything is awesome? Codemotion Madrid 2014
 
Istio service mesh & pragmatic microservices architecture
Istio service mesh & pragmatic microservices architectureIstio service mesh & pragmatic microservices architecture
Istio service mesh & pragmatic microservices architecture
 
Istio Service Mesh & pragmatic microservices architecture
Istio Service Mesh & pragmatic microservices architectureIstio Service Mesh & pragmatic microservices architecture
Istio Service Mesh & pragmatic microservices architecture
 
2021 jan13 alex_4forklog_halving2
2021 jan13 alex_4forklog_halving2 2021 jan13 alex_4forklog_halving2
2021 jan13 alex_4forklog_halving2
 
2019.10.05 Bitcoin ROI Revealed - Frankfurt - Sean Walsh
2019.10.05   Bitcoin ROI Revealed - Frankfurt - Sean Walsh2019.10.05   Bitcoin ROI Revealed - Frankfurt - Sean Walsh
2019.10.05 Bitcoin ROI Revealed - Frankfurt - Sean Walsh
 
Sail in the Cloud - An intro to Istio
Sail in the Cloud  - An intro to IstioSail in the Cloud  - An intro to Istio
Sail in the Cloud - An intro to Istio
 
Purely Functional Web Apps (Extended Version, 16.02.2016)
Purely Functional Web Apps (Extended Version, 16.02.2016)Purely Functional Web Apps (Extended Version, 16.02.2016)
Purely Functional Web Apps (Extended Version, 16.02.2016)
 
Journey of Building Streaming Data Pipelines - BED-Con 2019
Journey of Building Streaming Data Pipelines -  BED-Con 2019Journey of Building Streaming Data Pipelines -  BED-Con 2019
Journey of Building Streaming Data Pipelines - BED-Con 2019
 
Oracle Code One San Francisco - Monolith to microservices
Oracle Code One San Francisco - Monolith to microservicesOracle Code One San Francisco - Monolith to microservices
Oracle Code One San Francisco - Monolith to microservices
 
Service Mesh Patterns
Service Mesh PatternsService Mesh Patterns
Service Mesh Patterns
 
Introduction to Progressive Web Apps / Meet Magento PL 2018
Introduction to Progressive Web Apps / Meet Magento PL 2018Introduction to Progressive Web Apps / Meet Magento PL 2018
Introduction to Progressive Web Apps / Meet Magento PL 2018
 
The Rise of the Experience Web - Peter Walsh - Acquia
The Rise of the Experience Web - Peter Walsh - AcquiaThe Rise of the Experience Web - Peter Walsh - Acquia
The Rise of the Experience Web - Peter Walsh - Acquia
 
Microservices testing and automation
Microservices testing and automationMicroservices testing and automation
Microservices testing and automation
 
2018 MONOLITICH TO MICROSERVICES - Conferencia Javeros colombia
2018 MONOLITICH TO MICROSERVICES  - Conferencia Javeros colombia 2018 MONOLITICH TO MICROSERVICES  - Conferencia Javeros colombia
2018 MONOLITICH TO MICROSERVICES - Conferencia Javeros colombia
 
"gRPC vs REST: let the battle begin!" DevoxxUK 2018 edition
"gRPC vs REST: let the battle begin!" DevoxxUK 2018 edition"gRPC vs REST: let the battle begin!" DevoxxUK 2018 edition
"gRPC vs REST: let the battle begin!" DevoxxUK 2018 edition
 
Web Components: The Future of Web Development is Here
Web Components: The Future of Web Development is HereWeb Components: The Future of Web Development is Here
Web Components: The Future of Web Development is Here
 
The AutoScout24 Technology Change - crazy or trendsetting?
The AutoScout24 Technology Change - crazy or trendsetting?The AutoScout24 Technology Change - crazy or trendsetting?
The AutoScout24 Technology Change - crazy or trendsetting?
 
"gRPC vs REST: let the battle begin!" GeeCON Krakow 2018 edition
"gRPC vs REST: let the battle begin!" GeeCON Krakow 2018 edition"gRPC vs REST: let the battle begin!" GeeCON Krakow 2018 edition
"gRPC vs REST: let the battle begin!" GeeCON Krakow 2018 edition
 
Testing Java Microservices Workshop
Testing Java Microservices WorkshopTesting Java Microservices Workshop
Testing Java Microservices Workshop
 

More from ☁️ Mikhail Shilkov

More from ☁️ Mikhail Shilkov (9)

Monads Explained for OOP Developers
Monads Explained for OOP DevelopersMonads Explained for OOP Developers
Monads Explained for OOP Developers
 
Performance Tales of Serverless - CloudNative London 2018
Performance Tales of Serverless - CloudNative London 2018Performance Tales of Serverless - CloudNative London 2018
Performance Tales of Serverless - CloudNative London 2018
 
Monads Explained for OOP Developers
Monads Explained for OOP DevelopersMonads Explained for OOP Developers
Monads Explained for OOP Developers
 
Azure F#unctions
Azure F#unctionsAzure F#unctions
Azure F#unctions
 
Azure F#unctions
Azure F#unctionsAzure F#unctions
Azure F#unctions
 
Event Driven Applications in F#
Event Driven Applications in F#Event Driven Applications in F#
Event Driven Applications in F#
 
Why Learn F# and Functional Programming
Why Learn F# and Functional ProgrammingWhy Learn F# and Functional Programming
Why Learn F# and Functional Programming
 
The taste of F#
The taste of F#The taste of F#
The taste of F#
 
Introduction of Functional Programming
Introduction of Functional ProgrammingIntroduction of Functional Programming
Introduction of Functional Programming
 

Recently uploaded

Uncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac FolorunsoUncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac Folorunso
Kayode Fayemi
 
If this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaIf this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New Nigeria
Kayode Fayemi
 
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
Sheetaleventcompany
 

Recently uploaded (20)

Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
 
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
 
ANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docxANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docx
 
BDSM⚡Call Girls in Sector 97 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 97 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 97 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 97 Noida Escorts >༒8448380779 Escort Service
 
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara ServicesVVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
 
Uncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac FolorunsoUncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac Folorunso
 
Causes of poverty in France presentation.pptx
Causes of poverty in France presentation.pptxCauses of poverty in France presentation.pptx
Causes of poverty in France presentation.pptx
 
Introduction to Prompt Engineering (Focusing on ChatGPT)
Introduction to Prompt Engineering (Focusing on ChatGPT)Introduction to Prompt Engineering (Focusing on ChatGPT)
Introduction to Prompt Engineering (Focusing on ChatGPT)
 
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdfAWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
 
lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.
 
If this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaIf this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New Nigeria
 
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
 
ICT role in 21st century education and it's challenges.pdf
ICT role in 21st century education and it's challenges.pdfICT role in 21st century education and it's challenges.pdf
ICT role in 21st century education and it's challenges.pdf
 
Air breathing and respiratory adaptations in diver animals
Air breathing and respiratory adaptations in diver animalsAir breathing and respiratory adaptations in diver animals
Air breathing and respiratory adaptations in diver animals
 
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptxMohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptx
 
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdfThe workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
 
Presentation on Engagement in Book Clubs
Presentation on Engagement in Book ClubsPresentation on Engagement in Book Clubs
Presentation on Engagement in Book Clubs
 
Busty Desi⚡Call Girls in Sector 51 Noida Escorts >༒8448380779 Escort Service-...
Busty Desi⚡Call Girls in Sector 51 Noida Escorts >༒8448380779 Escort Service-...Busty Desi⚡Call Girls in Sector 51 Noida Escorts >༒8448380779 Escort Service-...
Busty Desi⚡Call Girls in Sector 51 Noida Escorts >༒8448380779 Escort Service-...
 
Dreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio IIIDreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio III
 
BDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort Service
 

Performance Tales of Serverless

Editor's Notes

  1. Pre-load data from external source to elastic database (e.g. Dynamo / Cosmos / Bigtable) Limit the concurrency of functions to external services