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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Steve Faulkner
November 29, 2016
Technology
90
0
Share
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
390
Going Serverless with GraphQL
southpolesteve
1
80
Hitchhiker's Guide to Serverless @ QCon London
southpolesteve
0
48
Full Stack Serverless @ DevOps Days Boston
southpolesteve
0
42
Full Stack Serverless Applications @ MidwestJS
southpolesteve
0
220
Other Decks in Technology
See All in Technology
AIドリブン開発の実践知 ― AI-DLC Unicorn Gym実施から見えた可能性と課題
mixi_engineers
PRO
0
120
組織的なAI活用を阻む 最大のハードルは コンテキストデザインだった
ixbox
1
800
AgentCore RuntimeからS3 Filesをマウントしてみる
har1101
2
330
最大のアウトプット術は問題を作ること
ryoaccount
0
310
主催・運営として"場をつくる”というアウトプットのススメ
_mossann_t
0
120
GitHub Advanced Security × Defender for Cloudで開発とSecOpsのサイロを超える: コードとクラウドをつなぐ、開発プラットフォームのセキュリティ
yuriemori
1
130
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
10
77k
AIを活用したアクセシビリティ改善フロー
degudegu2510
1
150
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
6
1.4k
プロダクトを触って語って理解する、チーム横断バグバッシュのすすめ / 20260411 Naoki Takahashi
shift_evolve
PRO
1
140
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
6
1.3k
建設的な現実逃避のしかた / How to practice constructive escapism
pauli
4
260
Featured
See All Featured
Optimizing for Happiness
mojombo
378
71k
Into the Great Unknown - MozCon
thekraken
40
2.3k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
160
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
230
Thoughts on Productivity
jonyablonski
76
5.1k
Art, The Web, and Tiny UX
lynnandtonic
304
21k
Statistics for Hackers
jakevdp
799
230k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
360
A Modern Web Designer's Workflow
chriscoyier
698
190k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
320
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
110
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
91
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