-Simon Brown
« If you can’t build a monolith, what makes
you think micro-services are the answer ? »
Slide 5
Slide 5 text
Monolith
Microservices
-Alvaro Sanchez
Slide 6
Slide 6 text
-Melvin Conway
« organizations which design systems ... are
constrained to produce designs which are
copies of the communication structures of
these organizations »
Slide 7
Slide 7 text
-Simon Brown
Slide 8
Slide 8 text
-Simon Brown
Slide 9
Slide 9 text
-Simon Brown
1
2
Slide 10
Slide 10 text
The problem has never been the monolith, but
having a single coupled model
Slide 11
Slide 11 text
Multiple models lives in your
application
Invoice
Catalog
Payment
Product
Product
Product
This is not
the same product
Slide 12
Slide 12 text
The primary coupling in software
architecture is when concepts from
separate contexts are entangled
Slide 13
Slide 13 text
We usually don’t get our models right
on the first try.
This is where having a single code
base & deployment unit helps with the
requested refactoring
Slide 14
Slide 14 text
Let’s create some hard boundaries
Slide 15
Slide 15 text
Domain
domain interface
concrete implementation
of the domain interface
technical
collaborator
Slide 16
Slide 16 text
Service A
API
Service B
Slide 17
Slide 17 text
Internal API
Service A Service B
External API
Anti-Corruption Layer
(Belong to the infrastructure)
Slide 18
Slide 18 text
Facade
Parent Injector
S1 S2
Slide 19
Slide 19 text
Facade
Parent Injector
S1 HTTP
connector
Slide 20
Slide 20 text
« Two micro services and
their shared database »
-Mathias Verraes
Slide 21
Slide 21 text
Messages brokers are also datasources
Slide 22
Slide 22 text
-Cyrille Dupuydauby
« Years of fight against ‘DB as a MoM’ anti-
pattern have finally paid off: I am now fighting
against ‘MoM as a DB’ anti-pattern. »
Slide 23
Slide 23 text
Events are not created equal
Invoice Catalog
Payment Inventory
Slide 24
Slide 24 text
What about processes
Slide 25
Slide 25 text
Event or Command driven ?
Agent Acteur
Slide 26
Slide 26 text
Orchestration or choreography ?
Orchestration Choreography
Slide 27
Slide 27 text
Exemple of an event driven orchestrated
pattern : the macdonald’s pattern
Counter
Ice
Cream Hamburgers Salads
New Order
——
——
——
New Order
——
——
——
New Order
——
——
——
Slide 28
Slide 28 text
Counter
Ice
Cream Hamburgers Salads
Slide 29
Slide 29 text
Counter
Ice
Cream Hamburgers Salads
Each time we receive
an item, we check if
the order is complete
New Order
——
——
——
Slide 30
Slide 30 text
A time bomb for the optimists
Slide 31
Slide 31 text
-Graham Lea
« They can be hard to see, and they can
sink your app »
If you cannot deploy independently your services,
you don’t have a micro-service architecture
Slide 43
Slide 43 text
Going further
• Applying the Saga Pattern • Caitie McCaffrey
• Distributed Transactions: The Icebergs of
Microservices • Graham Lea
• Application Resilience Engineering & Operations at
Netflix • Ben Christensen
• arpinum/alexandria-api