Návrh nového systému
Moduly, API vrstvy, data a komunikace mezi částmi.
Softwarová architektura
Navrhuji hranice systému, aby další vývoj zůstal srozumitelný, ověřitelný a přiměřený reálným potřebám.
Probrat architekturu →Když systém přeroste původní návrh
Architektura není diagram pro dokumentaci. Je to dohoda o odpovědnostech, datech a integračních hranicích, která pomáhá při dalších rozhodnutích.
Rozsah vychází z konkrétního systému, ne z univerzálního vzoru.
Moduly, API vrstvy, data a komunikace mezi částmi.
Závislosti, technický dluh a oblasti, kde se změna šíří příliš daleko.
Modularizace, databázový návrh, realtime komponenty a externí služby.
Dobré hranice umožní rozvíjet části systému, aniž by každá úprava zasáhla vše ostatní.
Browser ↓ Application ├── API ├── Database ├── Realtime ├── Background jobs └── External services
Způsob spolupráce
Rozhodnutí podle kontextu
Modulární monolit, tedy jedna aplikace s jasnými vnitřními hranicemi, často přináší srozumitelnost bez síťové a provozní složitosti. Služby dávají smysl až tehdy, když převažuje potřeba nezávislého vývoje, škálování nebo izolace selhání.
Modelový příklad
Cílem není rozdělit vše najednou, ale najít části, které jako první potřebují vlastní odpovědnost.
Growing monolith
↓
Architecture review
↓
Clear module boundaries
↓
Independent APIs and jobs
↓
Controlled further development
Začněme systémem, rozhodnutím nebo rizikem, které dnes nejvíce brzdí vývoj.