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

Component

  • Independently replaceable
  • Independently upgradable

Component, Library, Service

Organization

Not organized by technologies

Organized by technologies

But organized by business capabilities

Organized by business capabilities

Decentralization

Monolith

Monolith data centralization

Microservice

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.

SOA

How Big?

Vague

When to use it?

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

Prerequisites:

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