All glossary terms
Design

Microservices

Microservices is an architectural style where a single application is composed of many small, independently-deployable services, each owning its own data and communicating over the network. Services are organised around business capabilities and typically owned end-to-end by small autonomous teams.

The term was popularised around 2014 by Martin Fowler and James Lewis. The honest assessment after a decade of industry experience: microservices solve a specific set of problems (team-scale deployment coordination, polyglot stacks, independent scaling of subsystems) and create their own (operational overhead, distributed-systems failure modes, data-consistency complexity). Most teams that adopted microservices for small applications retreated to 'modular monolith', a single deployable with clean internal boundaries. The deciding factor is usually team size and deployment coordination cost, not technical scale. Stride's research finds: teams under ~30 engineers rarely benefit from microservices; teams over ~150 rarely succeed without them.