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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Sebastian Heuer
May 10, 2016
Technology
82
0
Share
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
38
Typescript - A Marriage Counselor for Frontend and Backend
sebastianheuer
0
46
The Myth of Untestable Code
sebastianheuer
0
35
Deployment without the Hassle @ IPC 2016
sebastianheuer
1
60
99% is not enough
sebastianheuer
0
120
Don't Fear the Walking Dead - How to get rid of a zombie
sebastianheuer
0
110
A Developer's Survival Guide for the Microservice Era
sebastianheuer
2
380
PHPUGHH - Deployment with OS Packages
sebastianheuer
0
85
How to manage your Project's Toolchain in 2016
sebastianheuer
1
54
Other Decks in Technology
See All in Technology
明日からドヤれる!超マニアックなAWSセキュリティTips10連発 / 10 Ultra-Niche AWS Security Tips
yuj1osm
0
500
CloudSec JP #005 後締め ~ソフトウェアサプライチェーン攻撃から開発者のシークレットを守る~
lhazy
0
220
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
5
14k
ある製造業の会社全体のAI化に1エンジニアが挑んだ話
kitami
2
1k
Data Hubグループ 紹介資料
sansan33
PRO
0
2.9k
AIペネトレーションテスト・ セキュリティ検証「AgenticSec」ご紹介資料
laysakura
0
2.9k
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.1k
最近の技術系の話題で気になったもの色々(IoT系以外も) / IoTLT 花見予定会(たぶんBBQ) @都立潮風公園バーベキュー広場
you
PRO
1
200
NOSTR, réseau social et espace de liberté décentralisé
rlifchitz
0
200
JOAI2026講評会資料(近藤佐介)
element138
1
130
DevOpsDays Tokyo 2026 見えない開発現場を、見える投資に変える
rojoudotcom
3
200
AIエージェントを構築して感じた、AI時代のCDKとの向き合い方
smt7174
1
250
Featured
See All Featured
The agentic SEO stack - context over prompts
schlessera
0
740
Fireside Chat
paigeccino
42
3.9k
Become a Pro
speakerdeck
PRO
31
5.9k
How to build a perfect <img>
jonoalderson
1
5.4k
Building Applications with DynamoDB
mza
96
7k
Embracing the Ebb and Flow
colly
88
5k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
270
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
370
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
61
43k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
170
Making Projects Easy
brettharned
120
6.6k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
180
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