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
690
Creating a Voice-Driven TV Remote with Azure and Alexa
gshackles
0
160
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
取引先から届く 「セキュリティチェックシート」の読み解き方
kamadamakoto
0
140
関東Kaggler会発表資料
takoi
1
200
ガバメント AI 源内を地方自治体は活用できるのか可能性と課題、期待について
takeda_h
1
370
Digitization部 紹介資料
sansan33
PRO
2
7.7k
20260807_第6回_関東kaggler会LT_claw系bot xangiと始める、"寂しくない" kaggle
sugupoko
0
230
事業価値と Engineering 2026年度版
recruitengineers
PRO
45
22k
ホームラボ紹介
y_sera15
0
130
トヨタ⽣産⽅式(TPS)⼊⾨
recruitengineers
PRO
3
660
Flutterをカメラで動かしたかった話
sony
1
130
メルカリのグローバルアプリで挑んだ AlloyDB 運用と課題解決の実践記
hatappi
0
240
もう一度考える SRE チームの作り方・育て方 / Rethinking SRE #1: Building and Growing SRE Teams
rrreeeyyy
6
1k
TypeScript入門 2026
recruitengineers
PRO
3
500
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Evolving SEO for Evolving Search Engines
ryanjones
0
250
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.9k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Accessibility Awareness
sabderemane
1
170
YesSQL, Process and Tooling at Scale
rocio
174
15k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.6k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Tell your own story through comics
letsgokoyo
1
1k
A designer walks into a library…
pauljervisheath
211
24k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
430
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