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
340
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
『自分で判断できるか』を基準に、プロダクトのハンズオン研修でAI利用の線を引いてみた / Where We Drew the Line on AI in Hands-on Training
honyanya
1
450
AWSとGitHub Actionsの責任境界と 組織で安全に使用する取り組み
nealle
1
220
AI時代のデータ基盤を考える問い
pacocat
0
740
EUDIWの枠組みを出発点に民間エコシステムの在り方を考える(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
350
AI駆動開発をチームに根付かせる - 「1行も書かない」チームがHarnessを育てた1年 -
kenichirokimura
6
3.3k
IHV like なユースケースへのOpenID Connect 関連仕様の適用事例
optim
0
360
PdMをやめて、 "プロダクトビルダー"という 働き方に変えました / PdM to Product Builder
shikichee
1
190
Windows の互換機能 - 古いプログラムはなぜ動作できるのか
murachiakira
PRO
0
130
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
20k
1000⼈規模のClaude Enterprise運⽤を「Oktaのグループ」と「Slack」に集約する
sansantech
PRO
1
510
最新技術に積極チャレンジ!EKS共通基盤のこれまでとこれから
daitak
0
250
Point Cloud as a Foreign Language for Multi-modal Large Language Model
takmin
0
310
Featured
See All Featured
Marketing to machines
jonoalderson
1
5.7k
From π to Pie charts
rasagy
0
330
Paper Plane
katiecoart
PRO
2
53k
Making the Leap to Tech Lead
cromwellryan
135
10k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
400
Agile that works and the tools we love
rasmusluckow
331
22k
Fireside Chat
paigeccino
42
4k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
510
How to build a perfect <img>
jonoalderson
1
5.9k
The Invisible Side of Design
smashingmag
301
52k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
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