Návrh nového systému
Moduly, API vrstvy, dáta a spôsob komunikácie medzi časťami.
Software architektúra
Navrhujem hranice systému, aby bol ďalší vývoj zrozumiteľný, overiteľný a primeraný reálnym potrebám.
Prebrať architektúru →Keď systém prerastá pôvodný návrh
Architektúra nie je diagram pre dokumentáciu. Je to dohoda o zodpovednostiach, dátach a integračných hraniciach, ktorá pomáha robiť ďalšie rozhodnutia.
Rozsah vychádza z konkrétneho systému, nie z univerzálneho vzoru.
Moduly, API vrstvy, dáta a spôsob komunikácie medzi časťami.
Závislosti, technologický dlh a oblasti, kde sa zmena šíri príliš ďaleko.
Modularizácia, databázový návrh, realtime komponenty a externé služby.
Dobré hranice umožnia rozvíjať časti systému bez toho, aby každá úprava zasiahla všetko ostatné.
Browser ↓ Application ├── API ├── Database ├── Realtime ├── Background jobs └── External services
Spôsob spolupráce
Keď systém prerastá pôvodný návrh
Architektúra nie je diagram pre dokumentáciu. Je to dohoda o zodpovednostiach, dátach a integračných hraniciach, ktorá pomáha robiť ďalšie rozhodnutia.
Modelový príklad
Cieľom nie je rozdeliť všetko naraz, ale nájsť časti, ktoré potrebujú vlastnú zodpovednosť ako prvé.
Growing monolith
↓
Architecture review
↓
Clear module boundaries
↓
Independent APIs and jobs
↓
Controlled further developmentZačnime systémom, rozhodnutím alebo rizikom, ktoré dnes najviac brzdí vývoj.