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
Don't Fear the Walking Dead - How to get rid of...
Search
Sebastian Heuer
May 10, 2016
Technology
97
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Don't Fear the Walking Dead - How to get rid of a monolith
Sebastian Heuer
May 10, 2016
More Decks by Sebastian Heuer
See All by Sebastian Heuer
The State of Asynchronous PHP
sebastianheuer
0
56
Typescript - A Marriage Counselor for Frontend and Backend
sebastianheuer
0
48
The Myth of Untestable Code
sebastianheuer
0
48
Deployment without the Hassle @ IPC 2016
sebastianheuer
1
65
99% is not enough
sebastianheuer
0
140
Don't Fear the Walking Dead - How to get rid of a zombie
sebastianheuer
0
120
A Developer's Survival Guide for the Microservice Era
sebastianheuer
2
390
PHPUGHH - Deployment with OS Packages
sebastianheuer
0
91
How to manage your Project's Toolchain in 2016
sebastianheuer
1
65
Other Decks in Technology
See All in Technology
EUDIWの枠組みを出発点に民間エコシステムの在り方を考える(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
340
「面白い!」を信じ抜け。激動の時代を貫く、オンリーワン・エンジニアの条件
kizawa2020
2
400
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
20k
あなたの知らないバージョン命名規則
sat
PRO
2
850
Kiro Crew で始める マルチエージェント開発
miu_crescent
PRO
0
200
Kiro5兄弟のいまどきのセキュリティ基礎知識
kentapapa
0
380
暗号化?某ファイルストレージはどうなるの!? 3rd Partyとうまく付き合う秘密度ラベル設計
kasada
0
210
1.5時間を無駄にして学んだwsl2におけるaptとsnapの選択と仕組み
yosaka0123
0
470
顧客の要望は2次情報である 〜アンテナを張るFDEの構造論〜
noriakioji
5
1k
internal/testlog で遊ぼう
rokuosan
0
350
LLMアプリ、 雰囲気で運用してませんか? 〜LLMOpsの現在地〜
taka_aki
1
560
最新技術に積極チャレンジ!EKS共通基盤のこれまでとこれから
daitak
0
250
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
310
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
220
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
790
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
360
Prompt Engineering for Job Search
mfonobong
0
420
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Designing Powerful Visuals for Engaging Learning
tmiket
1
510
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
The Limits of Empathy - UXLibs8
cassininazir
1
620
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
New Earth Scene 8
popppiees
3
2.5k
Transcript
HOW WE GET RID OF OUR MONOLITH DON’T
None
None
None
How we started • built on top of a standard
e-commerce platform • a lot of custom code to support a wide combination of product options Feature X Feature Y Feature Z Core Code Customization
The challenges of a growing business • serious performance issues
• own developers don’t feel comfortable with the code • adding individual features is too complex • upgrading is hard
Finding a way out
You don’t have to replace everything at once!
What part of the software causes the highest amount of
pain? • category pages • product detail pages
Planning
Current Setup Legacy System Session Storage RDBMS Webserver
Idea Legacy System Session Storage RDBMS Webserver New Software
None
None
FURY Frontend Key-Value Storage getCategoryPage(341); "<html><head>…</head><body>…</body></html>"
None
FURY Frontend Key-Value Storage ["SBU06HE","TEOD3HE","ANW04HD"] Search search("{'category':341, 'filters':{...}}"); getTiles(["SBU06HE","TEOD3HE","ANW04HD"]); ["<div
class="category-item">…</div>", …]
Webserver Key-Value Storage Search FURY Frontend FURY Backend FURY Components
Webserver Key-Value Storage Search FURY Frontend FURY Backend Legacy RDBMS
Legacy System Session Storage Collect & Export
Webserver Key-Value Storage Search FURY Frontend FURY Backend Legacy RDBMS
Legacy System Session Storage FURY Requests 200 OK
Webserver Key-Value Storage Search FURY Frontend FURY Backend Legacy RDBMS
Legacy System Session Storage Requests to Legacy System 404 NOT FOUND
Webserver Key-Value Storage Search FURY Frontend FURY Backend Legacy RDBMS
Legacy System Session Storage Requests to Legacy System 404 NOT FOUND 200 OK
Learnings • we have full responsibility now • no framework
needed • no relational database needed
Goods and Bads • fully object-oriented • easy refactoring thanks
to 100% code coverage • not enough automated acceptance tests • dependencies to legacy software (database changes, API calls)
Deployment
Webserver (Router) Webserver FURY Frontend Server A K/V Storage Search
FURY Backend Webserver FURY Frontend Server B K/V Storage Search FURY Backend
Webserver (Router) Webserver FURY Frontend Server A K/V Storage Search
FURY Backend Webserver FURY Frontend Server B K/V Storage Search FURY Backend active = A
Webserver (Router) Webserver FURY Frontend Server A K/V Storage Search
FURY Backend Webserver FURY Frontend Server B K/V Storage Search FURY Backend active = B
RDBMS Read Slave Webserver FURY Frontend Server A K/V Storage
Search FURY Backend Webserver (Router) Build Server Deploy Code active = B
RDBMS Read Slave Webserver FURY Frontend Server A K/V Storage
Search FURY Backend Webserver (Router) Build Server Deploy Code Collect & Export active = B
RDBMS Read Slave Webserver FURY Frontend Server A K/V Storage
Search FURY Backend Webserver (Router) Build Server Deploy Code Collect & Export Smoke Tests active = B
RDBMS Read Slave Webserver FURY Frontend Server A K/V Storage
Search FURY Backend Webserver (Router) Build Server Deploy Code Collect & Export Smoke Tests Switch to A active = A
RDBMS Read Slave Webserver FURY Frontend Server A K/V Storage
Search FURY Backend active = B Webserver (Router) Build Server Deploy Code Collect & Export
We are very close to launch!
What next? • party hard! • identify the next pain
points we want to work on • replace the next parts of the legacy system with new, self-contained components / services
https://www.instagram.com/kartenmacherei/ Q&A https://www.facebook.com/kartenmacherei/ +49 40 468996861
[email protected]
http://www.kartenmacherei.de/recruiting