| Deployment Unit |
Single application deployed as one artifact. |
Many small services deployed independently under an orchestrator. |
| Scaling |
Scale the whole app, even if one part is hot. |
Scale only the bottleneck services; fine-grained autoscaling. |
| Change Velocity |
Updates often require redeploying the entire app. |
Update/rollback services individually with minimal blast radius. |
| Technology Stack |
Usually one stack for everything. |
Polyglot per service; fit-for-purpose stacks. |
| Coupling |
Tight in-process coupling; shared runtime. |
Loosely coupled via APIs; contracts enforced by the platform. |
| Resilience |
One failure can affect the whole system. |
Failures isolated; orchestrator restarts, reschedules, and load-balances. |
| Operations |
Simpler to start; complexity grows with size. |
Higher operational overhead (networking, CI/CD, policies) but scalable automation. |
| Observability |
Central logs/metrics for one process space. |
Distributed tracing, per-service metrics/logs aggregated by the platform. |
| Data Management |
Typically one shared database/schema. |
Service-owned data; careful handling of consistency and transactions. |
| Release Strategy |
Big-bang releases; Cannot do canary deployments. |
Blue/green, Canary, progressive delivery per service. |
| Team Structure |
Functional silos around a single codebase. |
Small, autonomous teams owning services end-to-end. |
| Typical Tools |
App server + VM/container; basic deploy scripts. |
Kubernetes/Docker Swarm + service mesh, GitOps, policy/secret managers. |