際際滷

際際滷Share a Scribd company logo
Making IT your winning asset
Trond Hjorteland
Partner at scienta.no
@trondhjort
Microservices without DDD is
risky business!
@trondhjort
Imposter syndrome
Source: David Whittaker @rundavidrun
What I think others know
What I
know
What I
know
What others know
@trondhjort
@trondhjort
Microservices without DDD is risky business!
This _____ discusses modularisation as a
mechanism for improving the flexibility and
comprehensibility of a system while allowing the
shortening of its development time.
@trondhjort
-David Parnas, 1972
paper
Source: D.L. Parnas, Communications of the ACM, 1972
Microservices without DDD is risky business!
Source: From Capabilities to Services, Ulrich Homann & Jon Tobey 2006@trondhjort
Microservices without DDD is risky business!
Customer
Account
Subscription
@trondhjort
Source: http://bill-poole.blogspot.com, 2008@trondhjort
@trondhjort
Service-orientation
Boundaries are explicit
Services are autonomous
Services share schema and contract, not class
Service compatibility is based on policy
s
@trondhjort
Microservices without DDD is risky business!
@trondhjort
"DDD, for me, is a mindset, a journey, a way of
learning more about a business domain and its
problem, not a destination or an artefact in
some code base.
@trondhjort
Collaboration of software and domain experts
Focus on the core domain
Ubiquitous language in a bounded context
The essence of DDD
@trondhjort Source: Domain-Driven Design Reference
Strategic patterns
Source: Domain-Driven Design Reference@trondhjort
Source: Patterns, Principles and Practices of Domain-Driven Design@trondhjort
Source: Ulrich Kalex, The Open Group@trondhjort
Subdomains
Customer
Account
Subscription
Billing Customer Care
Subscription
Management
Billing
Account
Customer
Subscription
Portfolio
Owner Payer
Sales Invoice
Install base
Products
@trondhjort
All models are wrong
but some are useful
-George Box
Source: Robustness in Statistics, 1978@trondhjort
Source: Implementing Domain-Driven Design@trondhjort
@trondhjort
Tactical patterns
Source: Domain-Driven Design Reference@trondhjort
Aggregate Subscription
Portfolio
Owner
Portfolio
Subscription
A
customerId
Subscription
B
Subscription
C
Subscription
B
?@trondhjort
Subdomain  Service (BC)  Aggregate
Subscription
Portfolio
Owner
Portfolio
management

Taxonomy
Portfolio
Subscription A Subscription B Subscription C

@trondhjort
Delivery approaches
Top-down
Bottom-up
Architecture principles
Inverse Conway Manoeuvre
@trondhjort
Source:(http://geek/and/poke.com/(
Source: http://geek-and-poke.com/@trondhjort
@trondhjort
Microservices without DDD is risky business!
@trondhjort Source: https://dddeurope.com
Ad

Recommended

Achieving Data Truthfulness and Privacy Preservation in Data Markets
Achieving Data Truthfulness and Privacy Preservation in Data Markets
JAYAPRAKASH JPINFOTECH
Microservices without DDD is risky business! REDUX
Microservices without DDD is risky business! REDUX
Trond Hjorteland
Applying Domain-Driven Design to craft Rich Domain Models
Applying Domain-Driven Design to craft Rich Domain Models
Alexander van Trijffel
Akar 端met - Product management is complexity management: End to End approach
Akar 端met - Product management is complexity management: End to End approach
ProductTank Odessa
DDD Taiwan Community 2019 01-26-1st-meetup-why ddd matters
DDD Taiwan Community 2019 01-26-1st-meetup-why ddd matters
Kim Kao
Introduction to Domain Driven Design
Introduction to Domain Driven Design
Christos Tsakostas
Domain Drive Design: A Very Short Introduction for Business People
Domain Drive Design: A Very Short Introduction for Business People
Emre Sevin巽
Building digital product masters to prevail in the age of accelerations parts...
Building digital product masters to prevail in the age of accelerations parts...
Jeffrey Stewart
D2 domain driven-design
D2 domain driven-design
Arnaud Bouchez
Domain Driven Design
Domain Driven Design
Araf Karsh Hamid
DDD knowledge sharing
DDD knowledge sharing
Md. Sadhan Sarker
Domain Driven Design Quickly
Domain Driven Design Quickly
AliTurgutBOZKURT
2019-Nov: Domain Driven Design (DDD) and when not to use it
2019-Nov: Domain Driven Design (DDD) and when not to use it
Mark Windholtz
Taming Complex Domains with Domain Driven Design
Taming Complex Domains with Domain Driven Design
Alberto Brandolini
DevDay2017 ESGI Essential DDD
DevDay2017 ESGI Essential DDD
Gregory Boissinot
Domain-Driven Design: Part 4 from Delivering the Connected Experience
Domain-Driven Design: Part 4 from Delivering the Connected Experience
Cantina
INVERTIV's End to End Product Management and UX Framework
INVERTIV's End to End Product Management and UX Framework
Akar Sumset
Up to speed in domain driven design
Up to speed in domain driven design
Rick van der Arend
Domain Driven Design - garajco Education 2017
Domain Driven Design - garajco Education 2017
Can Pekdemir
Schibsted Spain - Day 1 - DDD Course
Schibsted Spain - Day 1 - DDD Course
Kevin Mas Ruiz
Domain Driven Testing: Know What Youre Doing
Domain Driven Testing: Know What Youre Doing
Dmitry Vinnik
Code & Cannoli - Domain Driven Design
Code & Cannoli - Domain Driven Design
Frank Levering
Customer Driven Engineering is Product Management
Customer Driven Engineering is Product Management
Ben Corn
Introducing Domain Driven Design - codemash
Introducing Domain Driven Design - codemash
Steven Smith
Introducing domain driven design - dogfood con 2018
Introducing domain driven design - dogfood con 2018
Steven Smith
Domain Driven Design
Domain Driven Design
Hannah Farrugia
Org Design for Design Orgs
Org Design for Design Orgs
Kristin Skinner
Design + Development + Devices: The 3 Ds of 3-D Products
Design + Development + Devices: The 3 Ds of 3-D Products
Courtney Hemphill
Zoho Creator Solution for EI by Elsner Technologies.docx
Zoho Creator Solution for EI by Elsner Technologies.docx
Elsner Technologies Pvt. Ltd.
MOVIE RECOMMENDATION SYSTEM, UDUMULA GOPI REDDY, Y24MC13085.pptx
MOVIE RECOMMENDATION SYSTEM, UDUMULA GOPI REDDY, Y24MC13085.pptx
Maharshi Mallela

More Related Content

Similar to Microservices without DDD is risky business! (20)

D2 domain driven-design
D2 domain driven-design
Arnaud Bouchez
Domain Driven Design
Domain Driven Design
Araf Karsh Hamid
DDD knowledge sharing
DDD knowledge sharing
Md. Sadhan Sarker
Domain Driven Design Quickly
Domain Driven Design Quickly
AliTurgutBOZKURT
2019-Nov: Domain Driven Design (DDD) and when not to use it
2019-Nov: Domain Driven Design (DDD) and when not to use it
Mark Windholtz
Taming Complex Domains with Domain Driven Design
Taming Complex Domains with Domain Driven Design
Alberto Brandolini
DevDay2017 ESGI Essential DDD
DevDay2017 ESGI Essential DDD
Gregory Boissinot
Domain-Driven Design: Part 4 from Delivering the Connected Experience
Domain-Driven Design: Part 4 from Delivering the Connected Experience
Cantina
INVERTIV's End to End Product Management and UX Framework
INVERTIV's End to End Product Management and UX Framework
Akar Sumset
Up to speed in domain driven design
Up to speed in domain driven design
Rick van der Arend
Domain Driven Design - garajco Education 2017
Domain Driven Design - garajco Education 2017
Can Pekdemir
Schibsted Spain - Day 1 - DDD Course
Schibsted Spain - Day 1 - DDD Course
Kevin Mas Ruiz
Domain Driven Testing: Know What Youre Doing
Domain Driven Testing: Know What Youre Doing
Dmitry Vinnik
Code & Cannoli - Domain Driven Design
Code & Cannoli - Domain Driven Design
Frank Levering
Customer Driven Engineering is Product Management
Customer Driven Engineering is Product Management
Ben Corn
Introducing Domain Driven Design - codemash
Introducing Domain Driven Design - codemash
Steven Smith
Introducing domain driven design - dogfood con 2018
Introducing domain driven design - dogfood con 2018
Steven Smith
Domain Driven Design
Domain Driven Design
Hannah Farrugia
Org Design for Design Orgs
Org Design for Design Orgs
Kristin Skinner
Design + Development + Devices: The 3 Ds of 3-D Products
Design + Development + Devices: The 3 Ds of 3-D Products
Courtney Hemphill
D2 domain driven-design
D2 domain driven-design
Arnaud Bouchez
Domain Driven Design Quickly
Domain Driven Design Quickly
AliTurgutBOZKURT
2019-Nov: Domain Driven Design (DDD) and when not to use it
2019-Nov: Domain Driven Design (DDD) and when not to use it
Mark Windholtz
Taming Complex Domains with Domain Driven Design
Taming Complex Domains with Domain Driven Design
Alberto Brandolini
DevDay2017 ESGI Essential DDD
DevDay2017 ESGI Essential DDD
Gregory Boissinot
Domain-Driven Design: Part 4 from Delivering the Connected Experience
Domain-Driven Design: Part 4 from Delivering the Connected Experience
Cantina
INVERTIV's End to End Product Management and UX Framework
INVERTIV's End to End Product Management and UX Framework
Akar Sumset
Up to speed in domain driven design
Up to speed in domain driven design
Rick van der Arend
Domain Driven Design - garajco Education 2017
Domain Driven Design - garajco Education 2017
Can Pekdemir
Schibsted Spain - Day 1 - DDD Course
Schibsted Spain - Day 1 - DDD Course
Kevin Mas Ruiz
Domain Driven Testing: Know What Youre Doing
Domain Driven Testing: Know What Youre Doing
Dmitry Vinnik
Code & Cannoli - Domain Driven Design
Code & Cannoli - Domain Driven Design
Frank Levering
Customer Driven Engineering is Product Management
Customer Driven Engineering is Product Management
Ben Corn
Introducing Domain Driven Design - codemash
Introducing Domain Driven Design - codemash
Steven Smith
Introducing domain driven design - dogfood con 2018
Introducing domain driven design - dogfood con 2018
Steven Smith
Org Design for Design Orgs
Org Design for Design Orgs
Kristin Skinner
Design + Development + Devices: The 3 Ds of 3-D Products
Design + Development + Devices: The 3 Ds of 3-D Products
Courtney Hemphill

Recently uploaded (20)

Zoho Creator Solution for EI by Elsner Technologies.docx
Zoho Creator Solution for EI by Elsner Technologies.docx
Elsner Technologies Pvt. Ltd.
MOVIE RECOMMENDATION SYSTEM, UDUMULA GOPI REDDY, Y24MC13085.pptx
MOVIE RECOMMENDATION SYSTEM, UDUMULA GOPI REDDY, Y24MC13085.pptx
Maharshi Mallela
Threat Modeling a Batch Job Framework - Teri Radichel - AWS re:Inforce 2025
Threat Modeling a Batch Job Framework - Teri Radichel - AWS re:Inforce 2025
2nd Sight Lab
Which Hiring Management Tools Offer the Best ROI?
Which Hiring Management Tools Offer the Best ROI?
HireME
Enable Your Cloud Journey With Microsoft Trusted Partner | IFI Tech
Enable Your Cloud Journey With Microsoft Trusted Partner | IFI Tech
IFI Techsolutions
Test Case Design Techniques Practical Examples & Best Practices in Software...
Test Case Design Techniques Practical Examples & Best Practices in Software...
Muhammad Fahad Bashir
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
arabelatso
IDM Crack with Internet Download Manager 6.42 Build 41 [Latest 2025]
IDM Crack with Internet Download Manager 6.42 Build 41 [Latest 2025]
pcprocore
Microsoft-365-Administrator-s-Guide1.pdf
Microsoft-365-Administrator-s-Guide1.pdf
mazharatknl
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
arabelatso
Why Edge Computing Matters in Mobile Application Tech.pdf
Why Edge Computing Matters in Mobile Application Tech.pdf
IMG Global Infotech
declaration of Variables and constants.pptx
declaration of Variables and constants.pptx
meemee7378
Streamlining CI/CD with FME Flow: A Practical Guide
Streamlining CI/CD with FME Flow: A Practical Guide
Safe Software
Modern Platform Engineering with Choreo - The AI-Native Internal Developer Pl...
Modern Platform Engineering with Choreo - The AI-Native Internal Developer Pl...
WSO2
University Campus Navigation for All - Peak of Data & AI
University Campus Navigation for All - Peak of Data & AI
Safe Software
Why Every Growing Business Needs a Staff Augmentation Company IN USA.pdf
Why Every Growing Business Needs a Staff Augmentation Company IN USA.pdf
mary rojas
Top Time Tracking Solutions for Accountants
Top Time Tracking Solutions for Accountants
oliviareed320
Simplify Insurance Regulations with Compliance Management Software
Simplify Insurance Regulations with Compliance Management Software
Insurance Tech Services
Download Adobe Illustrator Crack free for Windows 2025?
Download Adobe Illustrator Crack free for Windows 2025?
grete1122g
Foundations of Marketo Engage - Programs, Campaigns & Beyond - June 2025
Foundations of Marketo Engage - Programs, Campaigns & Beyond - June 2025
BradBedford3
Zoho Creator Solution for EI by Elsner Technologies.docx
Zoho Creator Solution for EI by Elsner Technologies.docx
Elsner Technologies Pvt. Ltd.
MOVIE RECOMMENDATION SYSTEM, UDUMULA GOPI REDDY, Y24MC13085.pptx
MOVIE RECOMMENDATION SYSTEM, UDUMULA GOPI REDDY, Y24MC13085.pptx
Maharshi Mallela
Threat Modeling a Batch Job Framework - Teri Radichel - AWS re:Inforce 2025
Threat Modeling a Batch Job Framework - Teri Radichel - AWS re:Inforce 2025
2nd Sight Lab
Which Hiring Management Tools Offer the Best ROI?
Which Hiring Management Tools Offer the Best ROI?
HireME
Enable Your Cloud Journey With Microsoft Trusted Partner | IFI Tech
Enable Your Cloud Journey With Microsoft Trusted Partner | IFI Tech
IFI Techsolutions
Test Case Design Techniques Practical Examples & Best Practices in Software...
Test Case Design Techniques Practical Examples & Best Practices in Software...
Muhammad Fahad Bashir
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
arabelatso
IDM Crack with Internet Download Manager 6.42 Build 41 [Latest 2025]
IDM Crack with Internet Download Manager 6.42 Build 41 [Latest 2025]
pcprocore
Microsoft-365-Administrator-s-Guide1.pdf
Microsoft-365-Administrator-s-Guide1.pdf
mazharatknl
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
CodeCleaner: Mitigating Data Contamination for LLM Benchmarking
arabelatso
Why Edge Computing Matters in Mobile Application Tech.pdf
Why Edge Computing Matters in Mobile Application Tech.pdf
IMG Global Infotech
declaration of Variables and constants.pptx
declaration of Variables and constants.pptx
meemee7378
Streamlining CI/CD with FME Flow: A Practical Guide
Streamlining CI/CD with FME Flow: A Practical Guide
Safe Software
Modern Platform Engineering with Choreo - The AI-Native Internal Developer Pl...
Modern Platform Engineering with Choreo - The AI-Native Internal Developer Pl...
WSO2
University Campus Navigation for All - Peak of Data & AI
University Campus Navigation for All - Peak of Data & AI
Safe Software
Why Every Growing Business Needs a Staff Augmentation Company IN USA.pdf
Why Every Growing Business Needs a Staff Augmentation Company IN USA.pdf
mary rojas
Top Time Tracking Solutions for Accountants
Top Time Tracking Solutions for Accountants
oliviareed320
Simplify Insurance Regulations with Compliance Management Software
Simplify Insurance Regulations with Compliance Management Software
Insurance Tech Services
Download Adobe Illustrator Crack free for Windows 2025?
Download Adobe Illustrator Crack free for Windows 2025?
grete1122g
Foundations of Marketo Engage - Programs, Campaigns & Beyond - June 2025
Foundations of Marketo Engage - Programs, Campaigns & Beyond - June 2025
BradBedford3
Ad

Microservices without DDD is risky business!