Glossary
Microservices
An application is split into several independently deployable services, each with its own storage and lifecycle.
The gain is independence: teams deploy separately, scale separately and choose their own stack. The price is a distributed system with everything that entails.
That includes network failure as the normal case, tracing across service boundaries, data consistency without a shared transaction, and operational effort growing with the number of services.
How you notice it
- Several teams need to release independently.
- Parts of the system have very different load profiles.
- Domain boundaries are clear and stable.
Frequently asked
How many services should we start with?
As few as possible, and only where a boundary is obvious. Every service adds network, deployment, monitoring and failure modes. Two services that earn their keep beat twelve that were drawn on a whiteboard.
