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
420
Orchestrate your business logic reliably withDapr Workflows - TEQnation
marcduiker
0
580
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
430
Help! I've created a serverless monolith! - NDC Oslo 2022
marcduiker
0
430
Other Decks in Programming
See All in Programming
ハーネス設計入門 〜 基礎知識の整理から実務へのステップアップ 〜
kinopeee
20
21k
仕様駆動開発による爆速プロダクト開発 / Bakusoku Spec Driven Development
kobakei
0
170
Webの地図
yosuke_furukawa
PRO
6
5k
Security issues being discussed on Web Platforms
petamoriken
0
1.4k
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
710
JAWS-UG 東京支部が始める、JAWS-UG支部コラボ / JAWS-UG lunchtime LT Collaboration
y0hgi
0
180
Workers Cache を知る
syumai
0
320
なぜCTOを降りてFDEを選んだのか?〜なぜプロダクト企業がFDEで顧客の現場に踏み込むのか〜
gonta
1
140
マイコン向けの軽量Ruby「PicoRuby」で各種デバイスを制御するネイティブアプリの実現手法
bash0c7
0
470
AI時代のコードレビューは人に向けるな、仕組みに向けろ
texmeijin
5
3.4k
SREの越境 / SRE Collaboration
y0hgi
2
300
選挙速報を多くのユーザーへ 届ける Live Activities 設計
hamayokokuririn
0
240
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Optimizing for Happiness
mojombo
378
71k
A Tale of Four Properties
chriscoyier
163
24k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.9k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
620
Statistics for Hackers
jakevdp
799
230k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
570
Prompt Engineering for Job Search
mfonobong
0
480
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
42k
Tell your own story through comics
letsgokoyo
1
1.1k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
610
The Cost Of JavaScript in 2023
addyosmani
55
10k
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