Microservices talk by Martin Fowler notes

(This notes is from watching Microservices by Martin Fowler)

Monolith vs Microservice

  • Monolith: Coarsed
  • Microservice: Combination, flexible

Definition of Microservices

  • Componentization via services
  • Organized around business capabilities
  • Products not Projects
  • Smart endpoints and dumb pipes
  • Decentralized Goverance
  • Decentralized Data Management
  • Infrastructure Automation
  • Design for failure
  • Evolutionary Design

Details can be found in Microservices Article


  • Independently replaceable
  • Independently upgradable

Component, Library, Service


Not organized by technologies

Organized by technologies

But organized by business capabilities

Organized by business capabilities



Monolith data centralization


Microservice data decentralization

Infrastructure Automation

To get microservices working, infrastructure automation techniques like continuous integration and continuous delivery are indispensable.

Infrastructure Automation

Design for failure

Microservices need to be resilient, and tools are needed to test it.

Are Microservices just SOA?

The scope of SOA is too broad.


How Big?


When to use it?

  • Monolith: Simplicity, Consistency, Inter-module refactoring
  • Microservice: Partial Deployment, Availability, Preserve Modularity, Multiple Platforms.


  • Rapid provisioning
  • Basic monitoring
  • Rapid aplication deployment
  • Devops culture