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
Going Serverless: Event-Driven Architecture Wit...
Search
Greg Shackles
October 08, 2016
Technology
220
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
210
Observability-Driven Development: What DevOps is Really About
gshackles
1
330
Monitoring Your Mobile Apps in the Wild
gshackles
1
120
Building Scalable Applications with the Actor Model
gshackles
0
680
Creating a Voice-Driven TV Remote with Azure and Alexa
gshackles
0
150
Build 2017 Recap for Xamarin Developers
gshackles
0
150
Evolve 2016 Redux
gshackles
0
160
Instrumenting Your Mobile Monitoring Strategy
gshackles
0
4.8k
What's New in C# 6?
gshackles
1
260
Other Decks in Technology
See All in Technology
Flow 不死:AI 時代 DevOps 的不變本質
cheng_wei_chen
2
520
從開發到部署全都交給 AI:實作 AI 驅動的自動化流程
appleboy
0
170
【Snowflake Summit 2026 Recap!!】Snowflake Summit Deep Dive: Security & Governance
civitaspo
1
320
フルAIで個人開発して学んだあれこれ / yuruai vol.1
isaoshimizu
0
130
水を運ぶ人としてのリーダーシップ
izumii19
4
1k
週末にループ・エンジニアリングの理解を深めるためのスライド
nagatsu
0
360
現場のトークンマネジメント
dak2
1
190
AIチャット検索改善の3週間
kworkdev
PRO
2
180
AI時代に求められる技術力 フロンティア・クリエイティビティ / Technical Excellence in the AI Era: Frontier Creativity
kaonavi
0
110
AIに障害切り分けを全部やってもらった。 。 。 。
estie
0
170
螺旋型キャリアの生存戦略 / kinoko-conf2026
rakus_dev
1
1k
起点・思考・出力で分解する 〜PM業務の自動化設計〜
kazu_kichi_67
1
1.1k
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
37
3.7k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Abbi's Birthday
coloredviolet
3
8.2k
Fireside Chat
paigeccino
42
4k
The SEO identity crisis: Don't let AI make you average
varn
0
500
Designing for humans not robots
tammielis
254
26k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.3k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
210
The Curse of the Amulet
leimatthew05
2
13k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
200
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