Scaling Serverless
Avner Braverman
BINARIS
A brief history of the cloud
The future will be serverless
What’s still missing?
1995
Monolith
1995
Servers
Virtualization
O/S
Deployment
Runtime
Application
Orchestration
Messaging
Monitoring
Data Center
Pet
2005
1995 2005
Servers
Virtualization
O/S
Deployment
Runtime
Application
Orchestration
Messaging
Servers
Virtualization
O/S
Deployment
Runtime
Application
Orchestration
Messaging
Monitoring Monitoring
Data Center Data Center
Pets
Monolith
2015
Cattle
Docker standardizes deployment
Kubernetes standardizes orchestration
1995 2005 2015
Servers
Virtualization
O/S
Deployment
Runtime
Application
Orchestration
Messaging
Servers
Virtualization
O/S
Deployment
Runtime
Application
Orchestration
Messaging
Servers
Virtualization
O/S
Deployment
Runtime
Application
Orchestration
Messaging
Monitoring Monitoring
Data Center Data Center Data Center
Monitoring
Microservicesvar express = require('express') var app = express()
app.get('/', function (req, res) { res.send('Hello World!') })
app.listen(3000, function () { console.log('Listening on port 3000!') })
ExpressJS
NodeJS
libc
Container
HTTP HTTP
Serverlessexports.handler = function(event, ctx, callback) { callback(null, 'Hello World!') })
HTTP HTTP
1995 2005 2015
Servers
Virtualization
O/S
Deployment
Runtime
Application
Orchestration
Messaging
Servers
Virtualization
O/S
Deployment
Runtime
Application
Orchestration
Messaging
Servers
Virtualization
O/S
Deployment
Runtime
Application
Orchestration
Messaging
Servers
Virtualization
O/S
Deployment
Runtime
Application
Orchestration
Messaging
Serverless
Monitoring Monitoring Monitoring Monitoring
Data Center Data Center Data Center Data Center
Build only application logic Deploy function code directly
Functional cloud applications
HTTP requests Frontend, backend, nested, scheduled
Event triggers
Serverless
Stocks DemoMy Portal Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis pellentesque finibus massa, vitae hendrerit turpis porttitor et. Vestibulum et ex nec dui fringilla consectetur. Nullam sit amet eleifend ipsum. Vivamus euismod accumsan ipsum, eleifend tincidunt urna tincidunt vitae. Donec aliquet aliquam eros eu facilisis. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuerecubilia Curae; Duis laoreetmetus sed dui faucibus, idlacinia nunc consequat.Fusce at facilisis ex.Suspendisse lacinia turpiseros, in ultricies mi gravidaeget. Suspendisse cursus augue at velit sollicitudin finibus. Nam aliquam, odio id tincidunt tincidunt, mauris elit congue tellus, molestie porttitor metus magna interdum leo. Maecenas maximus porttitor tellus, vita
Personalized Should render under 300msAMZN 760.16 +3.76 (0.50%)
IBM 160.39 +0.59 (0.37%) MSFT 60.35 -0.29 (-0.48%) GOOG 760.54 -10.69 (-1.39%)
portfolio
portfolio
stocks
portfolio
stocks
directory NYSE
November 2014AWS λ
February 2016IBM OpenWhisk
March 2016Azure Functions
Still in alpha…Cloud Functions
Why? Rapid development NoOps (best server == no server) Automatic scaling Implicit availability Supercharges microservices
Why not? Unpredictable
Behavior could change while scaling Resource leaks (really? without servers?) Latency variations
High markup under load Low utilization of compute resources
Expensive
100-200 ms latency for warm functions 2+ sec for cold functions
Slow
portfolio
stocks
directory NYSE
4 hops
broker
currency
news
5 hops6 hops7 hops
Over 1 sec
@binarisio
Top Related