Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Hitchhiker's Guide to Serverless - Node Interac...
Search
Steve Faulkner
November 29, 2016
Technology
92
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Hitchhiker's Guide to Serverless - Node Interactive
Steve Faulkner
November 29, 2016
More Decks by Steve Faulkner
See All by Steve Faulkner
Shipping TypeScript to npm
southpolesteve
2
410
Going Serverless with GraphQL
southpolesteve
1
83
Hitchhiker's Guide to Serverless @ QCon London
southpolesteve
0
51
Full Stack Serverless @ DevOps Days Boston
southpolesteve
0
46
Full Stack Serverless Applications @ MidwestJS
southpolesteve
0
230
Other Decks in Technology
See All in Technology
ボトムアップ文化が強い組織で セキュリティをどう根付かせていくかの現在進行形の話 / Making Security Stick in a Bottom-Up Organization
yamaguchitk333
0
210
Flutterをカメラで動かしたかった話
sony
1
140
Eight Engineering Unit 紹介資料
sansan33
PRO
3
8.2k
事業価値と Engineering 2026年度版
recruitengineers
PRO
49
23k
[ChatGPT Work LT]事務作業が苦手な人のための バックオフィスの「半」自動化
chimaki_iot
0
280
Service Connect 上のサービスに ECS Service の外側から到達できなかった話
ota1022
1
220
【CEDEC2026】ゲームシナリオライターを支援するAIツール開発の実践 ― 設計とプロンプトの工夫 ―
cygames
PRO
1
790
【CEDEC2026】専門性の高いデフォルメチームが挑んだ人材育成戦略 〜Cygames Academiaの企画から実施まで〜
cygames
PRO
0
570
ガバメントクラウドでのランサムウェア対策
techniczna
2
1.1k
私がブラウザを自作したくなった理由
supurazako
1
200
『三匹の子ぶた』から学ぶネットワークセキュリティの昔と今 / Network Security: Then and Now Through the Lens of The Three Little Pigs
nttcom
1
1.8k
モバイルアプリ開発概論2026
recruitengineers
PRO
5
570
Featured
See All Featured
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
370
Designing for Timeless Needs
cassininazir
1
440
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
410
So, you think you're a good person
axbom
PRO
2
2.1k
エンジニアに許された特別な時間の終わり
watany
108
250k
Rails Girls Zürich Keynote
gr2m
96
14k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
930
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.8k
How GitHub (no longer) Works
holman
316
150k
Transcript
The Hitchhiker’s Guide to “Serverless” Javascript Steve Faulkner, Bustle
Steve Faulkner @southpolesteve
None
None
None
Director of Platform Engineering
hype! serverless 101 why? why not? serverless @ bustle tools
None
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
None
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?
None
None
Functions as a Service
run only when needed
pay only when running
don’t bother me with details
request myApp() response
None
None
None
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
None
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
None
click around a lot
cache/throttle authorization api keys logging/metrics custom domains ssl swagger import/export
why serverless?
None
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?
None
frontend
None
API Gateway S3 Lambda(SSR) html + js
backend
None
API Gateway Lambda JSON dynamodb redis
tools!!!
serverless framework node-lambda apex claudia.js
None
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