SlideShare a Scribd company logo
The Hitchhiker’s Guide to
“Serverless” Javascript
Steve Faulkner, Bustle
Steve Faulkner
@southpolesteve
Hitchhiker's Guide to"'Serverless" Javascript - Steven Faulkner, Bustle
Hitchhiker's Guide to"'Serverless" Javascript - Steven Faulkner, Bustle
Hitchhiker's Guide to"'Serverless" Javascript - Steven Faulkner, Bustle
Director of
Platform
Engineering
hype!
serverless 101

why?
why not?
serverless @ bustle
tools
Hitchhiker's Guide to"'Serverless" Javascript - Steven Faulkner, Bustle
The people who are serving
websites on Lambda or something
are not only doing it wrong, they
are wasting money while locking
themselves in to an architecture
that doesn't fit their app
- @scrollaway on HN
doesn’t scale
not production ready
too slow
too expensive
Hitchhiker's Guide to"'Serverless" Javascript - Steven Faulkner, Bustle
serverless for
99% of user
requests
10-20 million
calls per day
< 200ms
< $$$
Serverless
101
there are
still servers…
…but what if
we abstracted
them away?
as a
Service
Where does the
business logic go?
Hitchhiker's Guide to"'Serverless" Javascript - Steven Faulkner, Bustle
Hitchhiker's Guide to"'Serverless" Javascript - Steven Faulkner, Bustle
Functions as a
Service
run only when
needed
pay only when
running
don’t bother
me with
details
request
myApp()
response
Hitchhiker's Guide to"'Serverless" Javascript - Steven Faulkner, Bustle
Hitchhiker's Guide to"'Serverless" Javascript - Steven Faulkner, Bustle
Hitchhiker's Guide to"'Serverless" Javascript - Steven Faulkner, Bustle
re:invent
happening right
now…
app.get(‘/‘, sayHello)
function sayHello(req,res){

res.end(‘hello!’)
}
app.get(‘/‘, sayHello)
function sayHello(req,res){

res.end(‘hello!’)
}
app.get(‘/‘, sayHello)
function sayHello(req,res){

res.end(‘hello!’)
}
Functions
Routing
Functions-aaS
+
Routing-aaS
Lambda
+
API Gateway
Lambda
Hitchhiker's Guide to"'Serverless" Javascript - Steven Faulkner, Bustle
write code
zip
upload
fn()
node
java
python
node shim
+
rust/go/haskell
function(event,context,cb){
cb(null, ‘Hello World’)
}
versioning
aliases
RAM + CPU
logging
non-http events
API
Gateway
Hitchhiker's Guide to"'Serverless" Javascript - Steven Faulkner, Bustle
click around
a lot
cache/throttle
authorization
api keys
logging/metrics
custom domains
ssl
swagger import/export
why serverless?
Hitchhiker's Guide to"'Serverless" Javascript - Steven Faulkner, Bustle
ops
2011 startup ops:
heroku down? get lunch!
2016 startup ops:

have a plan
serverless ops:
LOL! WAT SERVERS?
serverless ops:
LOL! WAT SERVERS?
#noops
“serverless” ops:
have a plan
benchmarks

fallbacks
load testing
monitoring

#lessops
scale scale scale scale scale
scale scale scale scale scale
scale scale scale scale scale
scale scale scale scale scale
scale scale scale scale scale
scale scale scale scale scale
scale scale scale scale scale
scale scale scale scale scale
scale scale scale scale scale
scale scale scale scale scale
1 -> 1000 RPS
1000 -> 0 RPS
iteration
single function
deployments
<1s deploys
$$$$
events
API
ec2
~$2500/mo
lambda
api gateway
~$400/mo
why not?
lock in
const express = require(‘express’)
const fn = require(./lambda-fn/)
const app = express()
app.get('/', (req, res) => {
fn.handler(null, null, (err, result) => {
res.json(result)
})
});
app.listen(3000)
cold functions
const data = loadBigData() // Takes 15s
module.exports.handler = function(e,ctx,cb){
processBigData(data, cb)
}
~3.5 hours
- Eric @ iopipe.com
long tasks
5 min max
s3(3GB)
Lambda
Kinesis Firehose
Elasticsearch
testing
test in
the cloud?
Hitchhiker's Guide to"'Serverless" Javascript - Steven Faulkner, Bustle
frontend
Hitchhiker's Guide to"'Serverless" Javascript - Steven Faulkner, Bustle
API Gateway
S3 Lambda(SSR)
html + js
backend
Hitchhiker's Guide to"'Serverless" Javascript - Steven Faulkner, Bustle
API Gateway
Lambda
JSON
dynamodb redis
tools!!!
serverless framework
node-lambda
apex
claudia.js
Hitchhiker's Guide to"'Serverless" Javascript - Steven Faulkner, Bustle
npm install -g shep
JavaScript Only
no CF,terraform

swagger

webpack

environments
shep new my-api
shep generate endpoint
shep deploy production
coming soon…
shep server
shep docs
shep logs —stream
questions?
Steve Faulkner
@southpolesteve

More Related Content

PDF
Your API Consumers Aren’t Who You Think They Are
PPTX
REST API for your WP7 App
PDF
Take Data Validation Seriously - Paul Milham, WildWorks
PDF
State of the CLI- Kat Marchan
PDF
Node.js Core State of the Union- James Snell
PDF
Multimodal Interactions & JS: The What, The Why and The How - Diego Paez, Des...
PDF
Real-Life Node.js Troubleshooting - Damian Schenkelman, Auth0
PDF
From Pterodactyls and Cactus to Artificial Intelligence - Ivan Seidel Gomes, ...
Your API Consumers Aren’t Who You Think They Are
REST API for your WP7 App
Take Data Validation Seriously - Paul Milham, WildWorks
State of the CLI- Kat Marchan
Node.js Core State of the Union- James Snell
Multimodal Interactions & JS: The What, The Why and The How - Diego Paez, Des...
Real-Life Node.js Troubleshooting - Damian Schenkelman, Auth0
From Pterodactyls and Cactus to Artificial Intelligence - Ivan Seidel Gomes, ...

Viewers also liked (14)

PDF
Developing Nirvana - Corey A. Butler, Author.io
PDF
Node's Event Loop From the Inside Out - Sam Roberts, IBM
PDF
Are your v8 garbage collection logs speaking to you?Joyee Cheung -Alibaba Clo...
PDF
Real-Time Machine Learning with Node.js - Philipp Burckhardt, Carnegie Mellon...
PDF
Math in V8 is Broken and How We Can Fix It - Athan Reines, Fourier
PDF
Web MIDI API - the paster, the present, and the future -
PDF
Comet with node.js and V8
ODP
IBM MQ v8 and JMS 2.0
PDF
Nodifying the Enterprise - Prince Soni, TO THE NEW
PDF
Text Mining with Node.js - Philipp Burckhardt, Carnegie Mellon University
PDF
Building Scalable Web Applications Using Microservices Architecture and NodeJ...
PDF
Node.js Event Loop & EventEmitter
PPTX
Express State of the Union at Nodejs Interactive EU- Doug Wilson
PDF
Workshop: Science Meets Industry: Online Behavioral Experiments with nodeGame...
Developing Nirvana - Corey A. Butler, Author.io
Node's Event Loop From the Inside Out - Sam Roberts, IBM
Are your v8 garbage collection logs speaking to you?Joyee Cheung -Alibaba Clo...
Real-Time Machine Learning with Node.js - Philipp Burckhardt, Carnegie Mellon...
Math in V8 is Broken and How We Can Fix It - Athan Reines, Fourier
Web MIDI API - the paster, the present, and the future -
Comet with node.js and V8
IBM MQ v8 and JMS 2.0
Nodifying the Enterprise - Prince Soni, TO THE NEW
Text Mining with Node.js - Philipp Burckhardt, Carnegie Mellon University
Building Scalable Web Applications Using Microservices Architecture and NodeJ...
Node.js Event Loop & EventEmitter
Express State of the Union at Nodejs Interactive EU- Doug Wilson
Workshop: Science Meets Industry: Online Behavioral Experiments with nodeGame...
Ad

Similar to Hitchhiker's Guide to"'Serverless" Javascript - Steven Faulkner, Bustle (20)

PPTX
Akka: Arquitetura Orientada a Atores
PPTX
Selenium for Jobseekers
PPT
JavaScript UI Architecture: Be all that you can be
PDF
Expressing your UI in JSON – plain, data binding, advanced data binding
PPTX
O365 Saturday - Deepdive SharePoint Client Side Rendering
PDF
TPSE Thailand 2015 - Rethinking Web with React and Flux
PPT
Best And Worst Practices Building Ria with Adobe and Microsoft
PPTX
Microservices with .Net - NDC Sydney, 2016
PPTX
Bootstrapping an App for Launch
PDF
Drupalcon Mumbai
PPTX
Introduction aux progressive web apps
PDF
Serverless is more findev than devops
PDF
Speed up web APIs with Expressive and Swoole (PHP Day 2018)
KEY
Rails Presentation (Anton Dmitriyev)
PDF
The web - What it has, what it lacks and where it must go
PDF
Microservice Websites – Micro CPH
PDF
Web Performance Culture and Tools at Etsy
PPTX
Service Discovery Like a Pro
PPT
Develop webservice in PHP
PDF
Get Ahead with HTML5 on Moible
Akka: Arquitetura Orientada a Atores
Selenium for Jobseekers
JavaScript UI Architecture: Be all that you can be
Expressing your UI in JSON – plain, data binding, advanced data binding
O365 Saturday - Deepdive SharePoint Client Side Rendering
TPSE Thailand 2015 - Rethinking Web with React and Flux
Best And Worst Practices Building Ria with Adobe and Microsoft
Microservices with .Net - NDC Sydney, 2016
Bootstrapping an App for Launch
Drupalcon Mumbai
Introduction aux progressive web apps
Serverless is more findev than devops
Speed up web APIs with Expressive and Swoole (PHP Day 2018)
Rails Presentation (Anton Dmitriyev)
The web - What it has, what it lacks and where it must go
Microservice Websites – Micro CPH
Web Performance Culture and Tools at Etsy
Service Discovery Like a Pro
Develop webservice in PHP
Get Ahead with HTML5 on Moible
Ad

More from NodejsFoundation (6)

PPTX
The Morality of Code - Glen Goodwin, SAS Institute, inc.
PDF
Take Data Validation Seriously - Paul Milham, WildWorks
PDF
From Pterodactyls and Cactus to Artificial Intelligence - Ivan Seidel Gomes, ...
PDF
Breaking Down the Monolith - Peter Marton, RisingStack
PDF
The Enterprise Case for Node.js
PDF
Node Foundation Membership Overview 20160907
The Morality of Code - Glen Goodwin, SAS Institute, inc.
Take Data Validation Seriously - Paul Milham, WildWorks
From Pterodactyls and Cactus to Artificial Intelligence - Ivan Seidel Gomes, ...
Breaking Down the Monolith - Peter Marton, RisingStack
The Enterprise Case for Node.js
Node Foundation Membership Overview 20160907

Recently uploaded (20)

PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PPTX
Machine Learning_overview_presentation.pptx
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Encapsulation theory and applications.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PPTX
A Presentation on Artificial Intelligence
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Approach and Philosophy of On baking technology
PPT
Teaching material agriculture food technology
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
MIND Revenue Release Quarter 2 2025 Press Release
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
NewMind AI Weekly Chronicles - August'25-Week II
Machine Learning_overview_presentation.pptx
Digital-Transformation-Roadmap-for-Companies.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Agricultural_Statistics_at_a_Glance_2022_0.pdf
MYSQL Presentation for SQL database connectivity
Encapsulation theory and applications.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Building Integrated photovoltaic BIPV_UPV.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Accuracy of neural networks in brain wave diagnosis of schizophrenia
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
A Presentation on Artificial Intelligence
Dropbox Q2 2025 Financial Results & Investor Presentation
Approach and Philosophy of On baking technology
Teaching material agriculture food technology
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Unlocking AI with Model Context Protocol (MCP)
MIND Revenue Release Quarter 2 2025 Press Release

Hitchhiker's Guide to"'Serverless" Javascript - Steven Faulkner, Bustle