Monoliitti pakkaaa kaikki toiminnot yhdeksi käyttöönottokelpoiseksi yksiköksi; mikropalvelut jakavat sen toiminnon monille itsenäisesti käyttöönottokelpoisille palveluille. Perusero on käyttöönottoyksikön ja moduulien välisten rajojen välillä.
Monoliitti pakkaaa kaikki toiminnot yhdeksi käyttöönottokelpoiseksi yksiköksi; mikropalvelut jakavat sen toiminnon monille itsenäisesti käyttöönottokelpoisille palveluille. Perusero on käyttöönottoyksikön ja moduulien välisten rajojen välillä.
| 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
Huonosti modularoitu monoliitti ei parannu taikaa sillä kun se jaetaan — saat vain hajautetun sotkun. Korjaa rajat ensin.
Väärän tyylin valinta on kallista: liian aikainen jakaminen lisää viiveyttä, käyttökustannuksia ja virheenetsintävaivaa pienelle tiimille.
Useat menestykselliset järjestelmät alkavat hyvin rakennettuina monoliitteina ja erottavat palvelut vain silloin kun tiimin koko tai skaalausvaatimukset sitä selvästi oikeuttavat.
Kirjasto IT-haastattelukysymyksiä yksityiskohtaisine vastauksineen — Juniorista Senioriin.
Lahjoita