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 - Micro...
Search
Marc Duiker
January 20, 2022
Technology
340
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Help I've created a serverless monolith - Microsoft Reactor Toronto
Marc Duiker
January 20, 2022
More Decks by Marc Duiker
See All by Marc Duiker
Build distributed applications with ease using Dapr - Dev070 Meetup
marcduiker
1
410
Orchestrate your business logic reliably withDapr Workflows - TEQnation
marcduiker
0
570
Dapr 101: start building distributed applications with ease
marcduiker
0
450
Quest for Serverless Websockets - .NET Amsterdam
marcduiker
0
430
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
410
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
420
Help! I've created a serverless monolith! - NDC Oslo 2022
marcduiker
0
430
Other Decks in Technology
See All in Technology
Microsoft 365 Copilot chat -tekoälypalvelun tietosuojaongelmat
hponka
0
580
プロダクトエンジニアに必要な「いい感じ」に作る能力 〜たくさん作れる時代に、どこまで作るかの決め方〜
jnishime_dresscode
2
1.5k
WAF 運用改善の承認サイクル/SRE_BizReach_MIXI_1
visional_engineering_and_design
2
410
HRC_Frontend_Conference_Fukuoka_2026.pdf
ts020
0
270
Podは生きているのにGoだけが落ちる:GOGCとGOMEMLIMITで追うInvisible OOM Killの謎
tkc66buzz
1
490
AIオーケストレーションを活用した 開発ワークフローの設計と実践
bqnq
0
130
作品が生態系になった ─ Mini Tokyo 3D から世界へ
nagix
0
150
Reactの設計論
uhyo
14
7.2k
GoCon2026 - Open Source, Open World
sanposhiho
2
1.7k
From Vanilla Kubernetes to a Batteries-Included Platform: Developer Experience at 1,300+ Clusters
yosshi_
0
670
AI 駆動 Terraform 開発/SRE_BizReach_MIXI_2
visional_engineering_and_design
3
2k
日経電子版を支えていく Kasane Design System/fec_fukuoka
nikkei_engineer_recruiting
0
500
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
Test your architecture with Archunit
thirion
2
2.4k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
290
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
230
Building Applications with DynamoDB
mza
96
7.2k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
SEO for Brand Visibility & Recognition
aleyda
0
4.7k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
990
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
420
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
500
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
340
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