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
SteampipeとExcel Power QueryでAWS構成定義書の作成を自動化する
jhashimoto
0
180
フルAIで個人開発して学んだあれこれ / yuruai vol.1
isaoshimizu
0
130
WebGIS AI Agentの紹介
_shimizu
0
560
Lightning近況報告
kozy4324
0
220
From Prompt Engineering to Loop Engineering
shibuiwilliam
1
240
製造現場での生成AIの活用、およびエージェントAIの実装のあり方、AVEVAの取り組み
iotcomjpadmin
0
110
スタートアップにAmazon EKSは早すぎる? マルチプロダクト戦略を加速する Platform Engineeringの実践 / Is Amazon EKS Too Soon for Startups? Practical Platform Engineering to Accelerate a Multi-Product Strategy
elmodev09
1
1.8k
螺旋型キャリアの生存戦略 / kinoko-conf2026
rakus_dev
1
1k
ぼっちではじめた登壇が「51名」「241件」の発信に化けた
subroh0508
1
310
秘密度ラベル初心者が第1歩でつまづかないための「設計・運用」ポイント
seafay
PRO
1
490
Comment regagner la souveraineté de vos données tout en étant payé grâce à Nostr !
rlifchitz
0
200
データレイクの「見えない問題」を可視化する
sansantech
PRO
1
200
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.8k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
870
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
340
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.2k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.7k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
400
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.3k
Darren the Foodie - Storyboard
khoart
PRO
3
3.4k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
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