Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Going Serverless: Event-Driven Architecture Wit...
Search
Greg Shackles
October 08, 2016
Technology
240
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Going Serverless: Event-Driven Architecture Without The Infrastructure
Greg Shackles
October 08, 2016
More Decks by Greg Shackles
See All by Greg Shackles
Building Modern Services with .NET Core 3 and gRPC
gshackles
0
220
Observability-Driven Development: What DevOps is Really About
gshackles
1
350
Monitoring Your Mobile Apps in the Wild
gshackles
1
130
Building Scalable Applications with the Actor Model
gshackles
0
700
Creating a Voice-Driven TV Remote with Azure and Alexa
gshackles
0
170
Build 2017 Recap for Xamarin Developers
gshackles
0
160
Evolve 2016 Redux
gshackles
0
170
Instrumenting Your Mobile Monitoring Strategy
gshackles
0
4.8k
What's New in C# 6?
gshackles
1
270
Other Decks in Technology
See All in Technology
Gemini Intelligence 入門 ― AppFunctions と Gemini Nano
takuroabe
0
350
Persisting Massive Data with Rails ~Designing for 60 billion rows, and fighting the bottlenecks~ Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
0
780
「Learning Outcome」を書きたくない私が、Learning Outcomeと折り合いをつけるまで
mhlyc
0
120
Active Record Connection Adaptersにおける長年の課題に再び取り組む
yahonda
0
410
企画を Software Factory-ready にする——開発が高速になったとき、PdMの仕事はどう変わったか
yachibit
1
130
ソフトウェア ファクトリー - 再現性のあるソフトウェアの工場づくり / Software factory
iktakahiro
7
5.3k
野良MCPサーバーを排除せよ!MCPサーバーのガバナンス
yukiogawa
1
150
野蛮なアジャイル [サイボウズ発!]組織の常識を覆した反骨のスクラム実践記 / Barbaric Agile - Enterprise Agile Study Group
ama_ch
0
120
Optunaの最新リリースv5.0について
pfn
PRO
0
140
AI駆動で「他アプリの音を加工できる」アプリを作った
satomasahiro2005
0
190
「私が一番顧客に詳しい」を捨てる~ 全員が一次情報に精通する開発チームをつくり、PMが次のボトルネックへ染み出すまで
kaminashi
3
1.3k
こんにちは!SORACOM です & IoT とは【SORACOM UG 東北 in 八戸】
soracom
PRO
0
170
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
Documentation Writing (for coders)
carmenintech
77
5.6k
What's in a price? How to price your products and services
michaelherold
247
13k
How to Ace a Technical Interview
jacobian
280
24k
Fireside Chat
paigeccino
43
4.1k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.9k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
8.1k
Statistics for Hackers
jakevdp
799
230k
How to Think Like a Performance Engineer
csswizardry
28
2.9k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
Building the Perfect Custom Keyboard
takai
2
910
Transcript
GOING SERVERLESS EVENT-DRIVEN ARCHITECTURE WITHOUT THE INFRASTRUCTURE Greg Shackles Principal
Engineer, Olo @gshackles gregshackles.com
EVOLUTION OF ENVIRONMENT ABSTRACTIONS Virtual Machines Containers Functions INFRASTRUCTURE HOST
OS HYPERVISOR GUEST OS GUEST OS GUEST OS LIBS LIBS LIBS APP 1 APP 2 APP 3 INFRASTRUCTURE OS CONTAINER ENGINE LIBS LIBS LIBS APP 1 APP 2 APP 3
ALL ABOARD THE HYPE TRAIN
Utilization Time Load Capacity UNDER UTILIZED OVER UTILIZED
FUNCTIONS WHAT ARE THEY? ▸ Stateless, event-driven operations ▸ No
infrastructure to manage ▸ Scales on its own ▸ Only pay for time spent running
IT IS SERVERLESS THE SAME WAY WIFI IS WIRELESS. Gojko
Adzic WHAT’S IN A NAME? https://gojko.net/2016/08/27/serverless.html
LET’S TALK ABOUT THESE EVENTS SOUND TOO SIMPLE FOR REAL
APPS?
WHAT CAN TRIGGER A FUNCTION? EVENT SOURCES ▸ File uploaded
▸ Database changed ▸ Schedule ▸ Email received ▸ HTTP endpoint called ▸ Manual invocation ▸ …and so on
WHAT CAN TRIGGER A FUNCTION? AWS LAMBDA ▸ S3 ▸
DynamoDB ▸ Kinesis ▸ API Gateway ▸ Alexa ▸ SNS ▸ CloudWatch ▸ Schedule ▸ …and more
WHAT CAN TRIGGER A FUNCTION? AZURE FUNCTIONS ▸ Blob Storage
▸ Event Hub ▸ Webhook ▸ GitHub webhook ▸ Queue ▸ ServiceBus Queue ▸ ServiceBus Topic ▸ Timer ▸ …and more
EXAMPLE USE CASES
IMAGE RESIZING
DATA WAREHOUSE ETL
MOBILE BACKEND FOR SOCIAL MEDIA APP
FUNCTION ENVIRONMENT AWS LAMBDA ▸ Amazon Linux AMI 2015.09 ▸
5 minute execution time limit ▸ Languages ▸ JavaScript ▸ Java ▸ Python
FUNCTION ENVIRONMENT AZURE FUNCTIONS ▸ Runs on WebJobs (Windows Server
2012) ▸ No execution time limit ▸ Languages ▸ JavaScript ▸ C# ▸ F# ▸ Python ▸ PHP ▸ Bash ▸ Batch ▸ PowerShell
PRICING COMPARISON (MONTHLY) AWS LAMBDA ▸ Free ▸ 1M executions
▸ 400,000 GB-s ▸ Additional ▸ $0.20 / 1M executions ▸ $0.00001667 per GB-s AZURE FUNCTIONS ▸ Free ▸ 1M executions ▸ 400,000 GB-s ▸ Additional ▸ $0.20 / 1M executions ▸ $0.000008 per GB-s
PRICING EXAMPLE 256MB memory, 3 million executions, 1s per execution
3M * 1s * 256MB/1024 = 750,000 GB-s 750,000 GB-s - 400,000 free = 350,000 GB-s 350,000 * $0.00001667 = $5.83 AWS LAMBDA AZURE FUNCTIONS Compute 3M - 1M free = 2M requests 2M * $0.2 = $0.40 Request Monthly Total: $6.23 3M * 1s * 256MB/1024 = 750,000 GB-s 750,000 GB-s - 400,000 free = 350,000 GB-s 350,000 * $0.000008 = $2.80 Compute 3M - 1M free = 2M requests 2M * $0.2 = $0.40 Request Monthly Total: $3.20
REAL WORLD CASE STUDIES
https://fmlnerd.com/2016/08/16/30k-page-views-for-0-21-a-serverless-story/
http://benchling.engineering/crispr-aws-lambda/
IT’S NOT JUST AMAZON AND MICROSOFT EVERYBODY’S DOING IT IBM
OpenWhisk …and others
LET’S WRITE SOME FUNCTIONS
QUESTIONS? Greg Shackles Principal Engineer, Olo @gshackles gregshackles.com