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
Help I've created a serverless monolith - Micro...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Marc Duiker
January 20, 2022
Technology
1
310
Help I've created a serverless monolith - Microsoft Reactor Toronto
Marc Duiker
January 20, 2022
Tweet
Share
More Decks by Marc Duiker
See All by Marc Duiker
Build distributed applications with ease using Dapr - Dev070 Meetup
marcduiker
1
370
Orchestrate your business logic reliably withDapr Workflows - TEQnation
marcduiker
0
520
Dapr 101: start building distributed applications with ease
marcduiker
0
400
Quest for Serverless Websockets - .NET Amsterdam
marcduiker
0
370
Dapr on AKS: building distributed applications with ease
marcduiker
0
370
Draw an audience with your non-IT skills to build your personal brand
marcduiker
2
360
Help! I've created a serverless monolith! - CloudBrew
marcduiker
2
490
Quest for serverless WebSockets - an adventure with Azure Functions and Durable Functions
marcduiker
0
390
Help! I've created a serverless monolith! - NDC Oslo 2022
marcduiker
0
380
Other Decks in Technology
See All in Technology
GitHub Copilot CLI で Azure Portal to Bicep
tsubakimoto_s
0
280
DDD×仕様駆動で回す高品質開発のプロセス設計
littlehands
6
2.6k
なぜarray_firstとarray_lastは採用、 array_value_firstとarray_value_lastは 見送りだったか / Why array_value_first and array_value_last was declined, then why array_first and array_last was accpeted?
cocoeyes02
0
230
来期の評価で変えようと思っていること 〜AI時代に変わること・変わらないこと〜
estie
0
110
夢の無限スパゲッティ製造機 #phperkaigi
o0h
PRO
0
390
Astro Islandsの 内部実装を 「日本で一番わかりやすく」 ざっくり解説!
knj
0
310
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
5
1.2k
AIエージェント勉強会第3回 エージェンティックAIの時代がやってきた
ymiya55
0
150
Oracle Cloud Infrastructure:2026年3月度サービス・アップデート
oracle4engineer
PRO
0
140
Physical AI on AWS リファレンスアーキテクチャ / Physical AI on AWS Reference Architecture
aws_shota
1
170
「通るまでRe-run」から卒業!落ちないテストを書く勘所
asumikam
2
830
俺の/私の最強アーキテクチャ決定戦開催 ― チームで新しいアーキテクチャに適合していくために / 20260322 Naoki Takahashi
shift_evolve
PRO
1
470
Featured
See All Featured
It's Worth the Effort
3n
188
29k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
90
Building AI with AI
inesmontani
PRO
1
820
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
150
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
190
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Mind Mapping
helmedeiros
PRO
1
130
Documentation Writing (for coders)
carmenintech
77
5.3k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
250
Leo the Paperboy
mayatellez
4
1.6k
Transcript
@MarcDuiker
@MarcDuiker 2 Marc Duiker Developer Advocate
@MarcDuiker 3
@MarcDuiker 4
@MarcDuiker 5
@MarcDuiker 6
@MarcDuiker 7
@MarcDuiker 8
@MarcDuiker 9 https://en.wikipedia.org/wiki/Monolithic_application “In software engineering, a monolithic application describes
a software application that is designed without modularity.”
@MarcDuiker 10 https://en.wikipedia.org/wiki/Modularity “…modularity is the degree to which a
system's components may be separated and recombined, often with the benefit of flexibility and variety in use.”
@MarcDuiker App Server DB Server
@MarcDuiker 12 Function App Function App Queue Database
@MarcDuiker 13 Function App Function App Queue Database
@MarcDuiker 14 Function App Function App Queue Database
@MarcDuiker 15
@MarcDuiker 16
@MarcDuiker 17
@MarcDuiker 18
@MarcDuiker 19 https://martinfowler.com/articles/agileStory.html “We eventually agreed on "agile" as we
felt that captured the adaptiveness and response to change which we felt was so important to our approach…”
@MarcDuiker 20
@MarcDuiker 21
@MarcDuiker 22
@MarcDuiker
@MarcDuiker
@MarcDuiker
@MarcDuiker Task on backlog Work completed
@MarcDuiker Task on backlog Work started Work completed
@MarcDuiker 28 https://www.atlassian.com/incident-management/kpis/common-metrics
@MarcDuiker 29 https://www.atlassian.com/incident-management/kpis/common-metrics
@MarcDuiker https://www.atlassian.com/incident-management/kpis/common-metrics
@MarcDuiker 31
@MarcDuiker 32
@MarcDuiker 33 Caused by the nature of the (business) problem.
Can’t be easily reduced. https://en.wikipedia.org/wiki/Programming_complexity
@MarcDuiker 34 Caused by the nature of the (business) problem.
Can’t be easily reduced. Caused by decisions we make related to architecture, frameworks, packages, code style etc. Can be reduced. https://en.wikipedia.org/wiki/Programming_complexity
@MarcDuiker 35 https://en.wikipedia.org/wiki/Programming_complexity Caused by decisions we make related to
architecture, frameworks, packages, code style etc. Can be reduced. Caused by the nature of the (business) problem. Can’t be easily reduced.
@MarcDuiker 36
@MarcDuiker 37
@MarcDuiker 38
@MarcDuiker 39
@MarcDuiker 40
@MarcDuiker 41
@MarcDuiker 42
@MarcDuiker 43
@MarcDuiker 44
@MarcDuiker 45
@MarcDuiker 46
@MarcDuiker 47
@MarcDuiker 48 Domain Bounded Context Bounded Context Bounded Context Bounded
Context https://thedomaindrivendesign.io/bounded-context/
@MarcDuiker 49 Ecommerce Product Catalog Inventory Billing Shopping Basket https://thedomaindrivendesign.io/bounded-context/
@MarcDuiker “Ubiquitous language identifies the terms and concepts within a
bounded context that are unambiguous and agreed upon by all stakeholders.” https://thedomaindrivendesign.io/what-is-strategic-design
@MarcDuiker 51 Banking Context Ecommerce Context https://thedomaindrivendesign.io/what-is-strategic-design
@MarcDuiker 52
@MarcDuiker 53
@MarcDuiker “Resilience is the ability to provide and maintain an
acceptable level of service in the face of faults and challenges to normal operation.” https://en.wikipedia.org/wiki/Resilience_(network)
@MarcDuiker
@MarcDuiker https://docs.microsoft.com/en-us/azure/architecture/patterns/
@MarcDuiker https://docs.microsoft.com/en-us/azure/architecture/patterns/
@MarcDuiker https://docs.microsoft.com/en-us/azure/architecture/patterns/
@MarcDuiker 59
@MarcDuiker 60
@MarcDuiker 61 Function App Function App Queue Database
@MarcDuiker 62
@MarcDuiker 63 Increase number of (virtual) machines Increase CPU /
memory of one machine
@MarcDuiker 64
@MarcDuiker 65
@MarcDuiker
@MarcDuiker 67 Fan out Fan out No fan out No
fan out
@MarcDuiker 68 Fan out Fan out No fan out No
fan out https://docs.microsoft.com/en-us/azure/azure-functions/functions-scale#scale Use dedicated resource to its fullest
@MarcDuiker 69 Fan out Fan out No fan out No
fan out https://docs.microsoft.com/en-us/azure/azure-functions/functions-scale#scale Use higher tier / sku Use regular tier / sku
@MarcDuiker 70 Ask yourself these questions before adding any code:
@MarcDuiker 71 Ask yourself these questions before adding any code:
- Do *I* need to write this?
@MarcDuiker 72 Ask yourself these questions before adding any code:
- Do *I* need to write this? - Is this a good fit with the rest of the app?
@MarcDuiker 73 Ask yourself these questions before adding any code:
- Do *I* need to write this? - Is this a good fit with the rest of the app? - What is the impact regarding resilience/scalability of the app?
@MarcDuiker 74 @marcduiker http://bit.ly/marc-serverless