Microservices
Microservices is an architectural style in which one application is built as a set of small services that each own a business capability, run in their own process, and deploy independently. Services communicate over the network through HTTP APIs or a message broker, and each usually keeps its own database so no two services share tables. The payoff is organisational as much as technical: separate teams ship on their own schedules, a heavily used service scales without scaling everything else, and one team's choice of language or datastore does not bind the others. The costs land on operations. A local function call becomes a network call that can fail or time out, data consistency spreads across services and needs sagas or eventual consistency, and debugging requires distributed tracing across many logs. Kubernetes, service meshes, and centralised observability exist largely to manage this. Netflix, Uber, and Amazon are the well-known adopters, all at a scale where team independence mattered more than simplicity. The standard advice is to start with a well-structured monolith and split out services only where load, team boundaries, or release cadence make separation pay.