Monolitická architektura balí všechny funkce do jedné jednotky k nasazení; mikro-služby rozdělují tuto funkčnost na mnoho nezávisle nasaditelných služeb. Základní rozdíl je v jednotce nasazení a hranicích mezi moduly.
Monolitická architektura balí všechny funkce do jedné jednotky k nasazení; mikro-služby rozdělují tuto funkčnost na mnoho nezávisle nasaditelných služeb. Základní rozdíl je v jednotce nasazení a hranicích mezi moduly.
| Aspect | Monolith | Microservices |
|---|
| Deployment | One unit | Many independent units |
| Database | Usually one shared DB | One DB per service |
| Scaling | Scale the whole app | Scale services individually |
| Communication | In-process calls | Network (HTTP/gRPC/events) |
| Team coupling | High | Low (per-service ownership) |
| Failure blast radius | Whole app | Often isolated to one service |
| Operational complexity | Low | High |
MONOLITH best when:
✓ small team / early-stage product
✓ domain not yet well understood
✓ simplicity and fast iteration matter most
MICROSERVICES best when:
✓ large org with many teams
✓ parts have very different scaling needs
✓ you need independent deploy cadence
Špatně modulované monolitem se nemagicky zlepší rozdělením — jen dostanete distribuovanou neplechu. Nejdřív opravte hranice.
Volba špatného stylu je nákladná: předčasné rozdělení přidává latenci, provozní náklady a bolesť ladění pro malý tým.
Většina úspěšných systémů začíná jako dobře strukturovaný monolitem a služby se extrahují pouze v případě, že velikost týmu nebo tlak na škálování to jasně ospravedlňuje.