Skip to content

Microservices Architecture Defined

25 March 2014.Software.Paradigm shift.Date precision, exact.Evidence grade, primary.1 primary source

Drivers:

Scalability demandPerformance improvement

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.

Event plate: Microservices Architecture Defined Convergence-divergence layout. The central hero card carries the event year, type, title, evidence grade, domain and era band. 0 predecessor cards on the left feed in with red arrows labelled "absorbs". 0 successor cards on the right derive with red arrows labelled "spawns". Key terms below the hero pin the vocabulary the event introduced. EVENT PLATE Source: https://martinfowler.com/articles/microservices.html 2014 - PARADIGM SHIFT MicroservicesArchitecture Defined primary evidence Domain: AI and machine learning Era band: E6 AI-scale systems KEY TERMS - VOCABULARY THE EVENT INTRODUCED microservices API distributed systems service mesh Convergence-divergence: predecessors absorbed, successors spawned Hero card carries year, evidence and domain. 0 predecessors flow in from the left; 0 successors flow out to the right. Key termsbelow pin the vocabulary the event introduced.

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

microservicesAPIdistributed systemsservice meshcontainers

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.

Sources

1Martin Fowler, James Lewis. "Microservices: A Definition of this New Architectural Term". martinfowler.com, 2014-03-25.reputablemartinfowler.com/articles/microservices.html