Microservices Architecture Defined
25 March 2014SoftwareParadigm shiftDate precision, exactEvidence grade, primary1 primary source
Drivers:
Web-scale companies needed to scale development teams. Monoliths became bottlenecks. Cloud platforms enabled fine-grained resource allocation.
Instead of building one big application (a monolith), microservices breaks it into many small applications that work together. Each microservice does one thing well and can be updated independently. Netflix, for example, runs hundreds of microservices. This makes it easier for large teams to work without stepping on each other's toes.
Microservices Architecture Defined event plate
Structured atlas record showing date, domain, evidence grade, source count, and predecessor and successor links.
Forecasts and counterfactuals stay labelled as opinion in the event data. Source: Computer History Museum.
Before
Monolithic applications became difficult to scale and maintain. Large codebases slowed development. Deployment required releasing the entire application. Teams could not work independently.
What changed
Microservices architecture decomposes applications into small, independently deployable services. Each service owns its data and communicates via APIs. This enables teams to develop, deploy, and scale services independently.
How it happened
James Lewis and Martin Fowler published a defining article in March 2014, crystallising practices used at Netflix, Amazon, and others. The term gained rapid adoption as cloud-native development matured. Containerisation (Docker) and orchestration (Kubernetes) provided implementation infrastructure.
Outcomes
- Enabled independent team scaling
- Improved deployment flexibility
- Aligned architecture with organisational structure
- Spawned service mesh and API gateway patterns
Limitations
- Distributed systems complexity
- Network latency and failures
- Data consistency challenges
- Operational overhead for small teams
Lessons learnt
- Architecture should match organisation (Conway's Law)
- Distributed systems require different skills
- Start monolith, extract services when needed
- Observability is essential for microservices
Stakeholders and artefacts
Organisations
- ThoughtWorksvendorFowler's organisation
- NetflixvendorEarly large-scale adopter
- AmazonvendorPioneered service-oriented architecture
Individuals
- Martin FowlerAuthor, ThoughtWorksCo-authored defining microservices article
- James LewisAuthor, ThoughtWorksCo-authored defining microservices article
Artefacts
- MicroservicesspecificationArchitectural style of small, independent services
- API GatewayspecificationEntry point managing requests to microservices
- Service MeshspecificationInfrastructure layer for service-to-service communication
Key terms
Causality
Preceded by: DevOps Movement Emerges.
Made possible: Kubernetes Released: Container Orchestration Standard.
On this course
Read in the path Software Development: Waterfall to DevOps.