SlideShare a Scribd company logo
TAMING THE MONOLITH
Are microservices just an implementation detail?
Microservice Meetup Hamburg | July 13th, 2015 | Dennis Traub | @DTraub
EVERYBODY TALKS ABOUT MICROSERVICES
2
http://technabob.com/blog/wp-content/uploads/2014/12/back-to-the-future-delorean-dmc-12-time-machine-conversion-by-bobs-prop-shop-7-620x465.jpg
Back in the Day …
Taming the Monolith - Microservices Meetup Hamburg
https://i2.wp.com/www.aydinstone.com/vic20.jpg
http://www.weihenstephan.org/~michaste/pagetable/64er/64er_1984-04.jpg | http://www.c64-wiki.de/images/thumb/4/43/listing_shape.jpg/300px-listing_shape.jpg
http://www.teslamotors.com/sites/default/files/images/model-s/gallery/interior/hero-01-LHD.jpg
Fast-Forward 30 Years
- A sphere of knowledge, influence, or activity -
- What an organisation does, and the world it does it in -
DOMAIN
- A system of abstractions describing selected aspects of a Domain -
- Used to solve problems related to that Domain -
MODEL
Sit down with the experts and listen
http://wikimediafoundation.org/wiki/File:Commodore-VIC-20-FL.jpg
http://wikimediafoundation.org/wiki/File:Commodore-VIC-20-FL.jpghttp://backgrounds.1nova.com/wp-content/uploads/sites/27/2015/02/One-Ring-to-Rule-them-All.jpg
One Model to Rule Them All
- A language structured around the Domain Model -
- Used by all team members and throughout the code -
UBIQUITOUS LANGUAGE
There is no such thing as a
Ubiquituous Language
… at least not company-wide …
Customer
Customer
Marketing
Target Group
Customer
Marketing
Target Group
Website
Visitor
Customer
Marketing
Target Group
Website
Visitor
Shopping Cart
Buyer
Customer
Recipient
ShippingMarketing
Target Group
Website
Visitor
Shopping Cart
Buyer
Customer
Recipient
ShippingMarketing
Target Group
Hotline
Caller
Website
Visitor
Shopping Cart
Buyer
Customer
Recipient
ShippingMarketing
Target Group
Hotline
Caller
Website
Visitor
Shopping Cart
Buyer
Purchasing
Customer
Customer
Recipient
ShippingMarketing
Target Group
Hotline
Caller
Website
Visitor
Shopping Cart
Buyer
Purchasing
Customer
Customer
Recipient
ShippingMarketing
Target Group
Hotline
Caller
Website
Visitor
Shopping Cart
Buyer
Purchasing
Customer
- An explicit boundary within which a Domain Model exists -
- Inside, all terms have a specific meaning -
- They are part of the Ubiquitous Language -
BOUNDED CONTEXT
KEY ATTRIBUTES OF A BOUNDED CONTEXT
High Cohesion
Loose Coupling
Represents Business Capability
Context-specific Model
KEY ATTRIBUTES OF A MICROSERVICE
High Cohesion
Loose Coupling
Represents Business Capability
Context-specific Model
Taming the Monolith - Microservices Meetup Hamburg
Business Logic
Data Access
Presentation
our “Architecture”
Business Logic
Data Access
Presentation
our “Architecture”
Business Logic
Data Access
Presentation
our “Architecture”
Business Logic
Data Access
Presentation
our “Architecture”
Enterprise Service Bus
Orchestration 

vs. Choreography
http://latimesblogs.latimes.com/.a/6a00d8341c630a53ef01538f58370b970b-pi
Orchestration
Choreography
http://sunny.moorparkcollege.edu/~dance/Stepping-Stones-2004-309.jpg
Key Takeaways:
Don’t model reality.
Model useful abstractions.
Don’t build a model.
that works for everyone.
Don’t design a
one-size-fits-all architecture.
So, what are
Microservices all about?
THANK YOU!
Dennis Traub | @DTraub | ThoughtWorks.com

More Related Content

Taming the Monolith - Microservices Meetup Hamburg