Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Slicing up a monolithic application Why and how?
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Olivier Dolbeau
October 02, 2015
Programming
940
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slicing up a monolithic application Why and how?
Talk given with Benjamin Fraud (@bench1ps) at Paris Web 2015
Olivier Dolbeau
October 02, 2015
More Decks by Olivier Dolbeau
See All by Olivier Dolbeau
Throw new \Exception(); Oui, mais laquelle ?
odolbeau
1
340
Jane & Webby
odolbeau
0
520
Translating a monolingual application
odolbeau
2
700
DX: Developer eXperience
odolbeau
1
140
DX: Developer eXperience
odolbeau
1
590
EasyAdminBundle introduction
odolbeau
0
250
REX API Platform
odolbeau
0
1.4k
Features flags at BlaBlaCar
odolbeau
5
1.2k
25+ million members in 22 countries, how to scale with Symfony2
odolbeau
2
690
Other Decks in Programming
See All in Programming
Claude Code全社展開のためにやったことn選~プラグイン302個・コミッター271人を支えるために~
kenchan
5
1.8k
AIに既存システムを理解させる技術 ~レガシーを見捨てないハーネスエンジニアリング入門~
ochtum
0
190
夏だ!祭りだ!祭りとはドメインモデリングでは?
ryugen04
0
510
リアルな遅延を測る仕様
kota_yata
1
130
PyConJP2026_wat_Python × Signal Processing: How to Draw Pictures with Sound Using Spectrogram Art
wat
0
650
PyO3 で既存 Python 評価器を Rust core 化する ー wasm-bindgen でブラウザにも配るための設計
kdash
1
190
Go 1.27 における memory allocation の高速化
andpad
0
370
iOS開発×AI駆動開発 〜最近使って便利だったスキルの話〜
nogu66
0
130
【QA Test Talk Vol.8】AI-DLC による Whole Team Approach の加速
pkshadeck
PRO
0
270
kubernetes コンポーネント開発入門 / 新卒N年目の勉強会&交流会!〜〇〇への誘い〜 #n_study
mazrean
0
130
LLMは4年分のCompose移行を再現できるのか?実プロダクト279件のXMLで探る自動化の境界線
makun
0
260
FDEとは、何者なのか?
masapyon1212
0
110
Featured
See All Featured
Designing for Performance
lara
611
70k
Scaling GitHub
holman
464
140k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
570
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.3k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
260
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
Designing Powerful Visuals for Engaging Learning
tmiket
1
520
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
500
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
960
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