Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Help! I've created a serverless monolith - Azur...
Search
Marc Duiker
June 30, 2022
Programming
430
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Help! I've created a serverless monolith - Azure Lowlands
Slides for my session at Azure Lowlands.
Marc Duiker
June 30, 2022
More Decks by Marc Duiker
See All by Marc Duiker
Build distributed applications with ease using Dapr - Dev070 Meetup
marcduiker
1
430
Orchestrate your business logic reliably withDapr Workflows - TEQnation
marcduiker
0
590
Dapr 101: start building distributed applications with ease
marcduiker
0
460
Quest for Serverless Websockets - .NET Amsterdam
marcduiker
0
440
Dapr on AKS: building distributed applications with ease
marcduiker
0
420
Draw an audience with your non-IT skills to build your personal brand
marcduiker
2
420
Help! I've created a serverless monolith! - CloudBrew
marcduiker
2
520
Quest for serverless WebSockets - an adventure with Azure Functions and Durable Functions
marcduiker
0
430
Help! I've created a serverless monolith! - NDC Oslo 2022
marcduiker
0
440
Other Decks in Programming
See All in Programming
最近”作らせてる” ローカルAIアプリの話
akit37
0
530
AI Augmentation Techniques with Liberty
ivargrimstad
0
230
Spec-Driven Development - Why Vaadin Is the Perfect Fit
simas
PRO
0
200
Railsのためのパスキー実践入門 〜マルチテナントSaaSでの意思決定〜
utakaha
3
2.2k
Long Living Tokens, Die, Die, Die! (or: The One Ring is Banned in Modern)
sylph01
0
400
PumaからFalconに移行したRailsアプリケーションでの実践
falcon8823
0
310
複雑なUIコンポーネントとの ⻑い付き合い⽅:波及するバグからテスト戦略を経て、安全な再設計へ
mixplace
0
500
Web Framework Benchmark Battle 2026, Any%
a_matsuda
3
3.1k
AI-Powered Domain-Driven Design
ziobrando
0
370
パスワード再設定メールのURLについて知っておこう
uyuki234
0
200
あなたの await、OS まで届いてる? strace で覗く JavaScript の非同期
hasutosasaki
1
1.7k
高橋メソッドでCVE解説シリーズ 〜CVE-2026-112816〜
hakkadaikon
0
130
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
55
13k
Practical Orchestrator
shlominoach
192
12k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
600
Heart Work Chapter 1 - Part 1
lfama
PRO
10
37k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
390
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Testing 201, or: Great Expectations
jmmastey
46
8.4k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
GraphQLとの向き合い方2022年版
quramy
50
15k
Building the Perfect Custom Keyboard
takai
2
930
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Transcript
@MarcDuiker
@MarcDuiker Marc Duiker Sr 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 13 Function App Function App Queue Storage
@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 23
@MarcDuiker
@MarcDuiker
@MarcDuiker Task on backlog Work started Work completed
@MarcDuiker 29 https://www.atlassian.com/incident-management/kpis/common-metrics
@MarcDuiker 30 https://www.atlassian.com/incident-management/kpis/common-metrics
@MarcDuiker https://www.atlassian.com/incident-management/kpis/common-metrics
@MarcDuiker 32
@MarcDuiker 33
@MarcDuiker 35 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 36 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 37
@MarcDuiker 38
@MarcDuiker 40
@MarcDuiker 41
@MarcDuiker 42
@MarcDuiker 45
@MarcDuiker 46
@MarcDuiker 47
@MarcDuiker 48
@MarcDuiker 49 Domain Bounded Context Bounded Context Bounded Context Bounded
Context https://thedomaindrivendesign.io/bounded-context/
@MarcDuiker 50 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 52 Banking Context Ecommerce Context https://thedomaindrivendesign.io/what-is-strategic-design
@MarcDuiker 53
@MarcDuiker 54
@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 60
@MarcDuiker 61
@MarcDuiker 62 Function App B Function App A Queue Storage
@MarcDuiker 63
@MarcDuiker 64 Increase number of (virtual) machines Increase CPU /
memory of one machine
@MarcDuiker 66
@MarcDuiker
@MarcDuiker 68 Fan out Fan out No fan out No
fan out
@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 dedicated resource to its fullest
@MarcDuiker 70 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 74 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 75 https://quest.ably.dev/
@MarcDuiker 76 Twitter: @marcduiker YouTube: http://bit.ly/marc-serverless Ably Discord: https://discord.gg/q89gDHZcBK