$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Slicing up a monolithic application Why and how?
Search
Olivier Dolbeau
October 02, 2015
Programming
0
890
Slicing up a monolithic application Why and how?
Talk given with Benjamin Fraud (@bench1ps) at Paris Web 2015
Olivier Dolbeau
October 02, 2015
Tweet
Share
More Decks by Olivier Dolbeau
See All by Olivier Dolbeau
Throw new \Exception(); Oui, mais laquelle ?
odolbeau
1
250
Jane & Webby
odolbeau
0
440
Translating a monolingual application
odolbeau
2
620
DX: Developer eXperience
odolbeau
1
100
DX: Developer eXperience
odolbeau
1
550
EasyAdminBundle introduction
odolbeau
0
190
REX API Platform
odolbeau
0
1.3k
Features flags at BlaBlaCar
odolbeau
5
1.1k
25+ million members in 22 countries, how to scale with Symfony2
odolbeau
2
570
Other Decks in Programming
See All in Programming
How Software Deployment tools have changed in the past 20 years
geshan
0
29k
Microservices Platforms: When Team Topologies Meets Microservices Patterns
cer
PRO
1
1k
Cell-Based Architecture
larchanjo
0
110
AIコーディングエージェント(Gemini)
kondai24
0
210
AIコーディングエージェント(Manus)
kondai24
0
170
從冷知識到漏洞,你不懂的 Web,駭客懂 - Huli @ WebConf Taiwan 2025
aszx87410
2
2.3k
ID管理機能開発の裏側 高速にSaaS連携を実現したチームのAI活用編
atzzcokek
0
220
著者と進める!『AIと個人開発したくなったらまずCursorで要件定義だ!』
yasunacoffee
0
130
Context is King? 〜Verifiability時代とコンテキスト設計 / Beyond "Context is King"
rkaga
9
1.1k
生成AIを利用するだけでなく、投資できる組織へ
pospome
1
310
手が足りない!兼業データエンジニアに必要だったアーキテクチャと立ち回り
zinkosuke
0
630
これだけで丸わかり!LangChain v1.0 アップデートまとめ
os1ma
6
1.8k
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Typedesign – Prime Four
hannesfritz
42
2.9k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Docker and Python
trallard
47
3.7k
The Cult of Friendly URLs
andyhume
79
6.7k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
Music & Morning Musume
bryan
46
7k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Designing for Performance
lara
610
69k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Transcript
Slicing up a monolithic application Why and how?
None
None
None
Slicing up a monolithic application Why and how?
What is a monolithic application?
“It does everything, even coffee” - Every developer ever
Website
Mobile apps
So big!
406 187 NLOC There are “only” 268 041 NLOC for
symfony/symfony
29 582 Commits There are “only” 15 506 commits for
symfony/symfony There are “only” 10 228 commits for joyent/node There are “only” 9 266 commits for twbs/bootstrap There are 44 809 commits for rails/rails (but it’s ruby… #troll)
75 contributors There are 1 193 contributors for symfony/symfony
20 minutes to deploy the application
“Everything should be made as simple as possible but not
simpler” Albert Einstein
None
➚ Pragmatism “Just get it done, ok?” - God
➚ Processes - “Let’s sync!” - “No way man” -
A developer and an ops, on a friday evening
➚ Learning “It must be somewhere in that file” -
A struggling mentor
➘ Conflicts “I’ve been rebasing for years, kill me now”
- A Git enthusiast
➘ Time consuming “The script has been frozen for 30
minutes, should I worry?” - A worried developer
➘ Maintenance “It works, but I can’t figure out why”
- Both of us
➘ Lack of expertise “I’ve only been there for 3
years for God’s sake!” - A senior developer
➘ Side effects “The website is broken” - A user
on Twitter
With minor change comes major bugs.
With minor change comes major bugs. Olivier, based on its
personal experience.
Objectifs BlaBlaCar today.
countries NEW IN 2015 India Mexico Hungary Romania Serbia Croatia
19
Exponential growth 20 million members in April 2015
What are micro- services?
Users Ratings Notifications Moderation Trips
Objectives - Going worldwide - Fast growing community
BlaBlaCar is deploying multiple datacenters.
We need to localize our data.
Different needs mean different storage.
There are only two hard things in Computer Science: cache
invalidation and naming things. Phil Carlton
The gateway
Business Data
- How to make it easier for everyone to work
together? - How to avoid conflicts? - How to foster expertise?
- Micro-startups - Independant teams - Focus on a specific
domain - Multi-skills - Limited lifespan Team work
None
- Easy to understand - Fast to test, fast to
deploy - Framework - Open-source - No more conflicts
- Long to bootstrap - Specific projects to handle configuration
- Increases ops complexity
None
Micro services are not a silver bullet!
Migrate from monolithic to micro services can be a pain.
t is worth it if you need it!
• Micro services are not a silver bullet! • Migrate
from monolithic to micro services is a pain. • It is worth it if you need it! Benjamin Fraud @bench1ps Olivier Dolbeau @odolbeau