$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Un monolith microservice ready – Orange Dev Tes...
Search
Arnaud LEMAIRE
October 16, 2018
Programming
8
290
Un monolith microservice ready – Orange Dev Test Days 2018
Arnaud LEMAIRE
October 16, 2018
Tweet
Share
More Decks by Arnaud LEMAIRE
See All by Arnaud LEMAIRE
From code to consequences — Tech Pour l'Emploi #3
lilobase
0
18
From Code to Consequences – AlpesCraft 2025
lilobase
0
530
Scaling in Three Dimensions – Data In Motion Paris 2024
lilobase
0
63
Intervention Michelin DORD
lilobase
0
140
The strategies behind ddd – AdeoDevSummit 2022
lilobase
6
1.4k
Let's reset Agile at Scale — Lean&Agile day Michelin 2022
lilobase
2
370
Sunday, retour d’expérience sur la construction d’une entreprise attractive pour les techs – Tech.rocks 2021
lilobase
1
190
Le projet legacy, quelles stratégies pour s'en sortir ? – Software Crafts·wo·manship Rennes juin 2021
lilobase
4
610
Réconcilier architecture logicielle & problématiques métiers : une introduction au Domain Driven Design – Blend Web Mix 2021
lilobase
5
1.1k
Other Decks in Programming
See All in Programming
著者と進める!『AIと個人開発したくなったらまずCursorで要件定義だ!』
yasunacoffee
0
150
開発に寄りそう自動テストの実現
goyoki
2
1.4k
新卒エンジニアのプルリクエスト with AI駆動
fukunaga2025
0
230
AI 駆動開発ライフサイクル(AI-DLC):ソフトウェアエンジニアリングの再構築 / AI-DLC Introduction
kanamasa
11
3.6k
メルカリのリーダビリティチームが取り組む、AI時代のスケーラブルな品質文化
cloverrose
2
350
生成AI時代を勝ち抜くエンジニア組織マネジメント
coconala_engineer
0
590
Implementation Patterns
denyspoltorak
0
110
宅宅自以為的浪漫:跟 AI 一起為自己辦的研討會寫一個售票系統
eddie
0
530
Kotlin Multiplatform Meetup - Compose Multiplatform 외부 의존성 아키텍처 설계부터 운영까지
wisemuji
0
120
認証・認可の基本を学ぼう前編
kouyuume
0
270
モデル駆動設計をやってみようワークショップ開催報告(Modeling Forum2025) / model driven design workshop report
haru860
0
280
AIエージェントの設計で注意するべきポイント6選
har1101
5
2.1k
Featured
See All Featured
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
130
The SEO Collaboration Effect
kristinabergwall1
0
310
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
49
40k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1k
A Soul's Torment
seathinner
1
2k
Optimizing for Happiness
mojombo
379
70k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
47k
4 Signs Your Business is Dying
shpigford
186
22k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
850
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
Transcript
Monolith Microservices ready™ @Lilobase
Complexity is non-linear Complexity System size
Distributed doghouse
-Simon Brown « If you can’t build a monolith, what
makes you think micro-services are the answer ? »
Monolith Microservices -Alvaro Sanchez
-Melvin Conway « organizations which design systems ... are constrained
to produce designs which are copies of the communication structures of these organizations »
-Simon Brown
-Simon Brown
-Simon Brown 1 2
The problem has never been the monolith, but having a
single coupled model
Multiple models lives in your application Invoice Catalog Payment Product
Product Product This is not the same product
The primary coupling in software architecture is when concepts from
separate contexts are entangled
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
Let’s create some hard boundaries
Domain domain interface concrete implementation of the domain interface technical
collaborator
Service A API Service B
Internal API Service A Service B External API Anti-Corruption Layer
(Belong to the infrastructure)
Facade Parent Injector S1 S2
Facade Parent Injector S1 HTTP connector
« Two micro services and their shared database » -Mathias
Verraes
Messages brokers are also datasources
-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. »
Events are not created equal Invoice Catalog Payment Inventory
What about processes
Event or Command driven ? Agent Acteur
Orchestration or choreography ? Orchestration Choreography
Exemple of an event driven orchestrated pattern : the macdonald’s
pattern Counter Ice Cream Hamburgers Salads New Order —— —— —— New Order —— —— —— New Order —— —— ——
Counter Ice Cream Hamburgers Salads
Counter Ice Cream Hamburgers Salads Each time we receive an
item, we check if the order is complete New Order —— —— ——
A time bomb for the optimists
-Graham Lea « They can be hard to see, and
they can sink your app »
Dependencies, even more chances to get failures
Fault tolerance • Rate-limiter • Automatic retry with exponential backoff
• Response caching • BulkHead pattern • Circuit-breaker • Load Balancing Hystrix, Resilience4j
The micro services iceberg
Distributed transaction
Saga T1 T2 T3
Saga T1 T2 T3 C1 C3
Saga T1 T2 T3 T2 Idempotence
PC PC PC Two phases commits T T T
UI Driven Consistency
-Simon Brown
If you cannot deploy independently your services, you don’t have
a micro-service architecture
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