Martin Fowler's Microservices Architecture Definiton

Martin Fowler provides a very good introduction of the charcteristics of a Microservice Architecture.

“We cannot say there is a formal definition of the microservices architectural style, but we can attempt to describe what we see as common characteristics for architectures that fit the label. As with any definition that outlines common characteristics, not all microservice architectures have all the characteristics, but we do expect that most microservice architectures exhibit most characteristics.”

It covers quite an extensive scope and introduces the topic of

  • Componentization via Services
  • Organized around Business Capabilities
  • How big is a microservice?
  • Products not Projects
  • Smart endpoints and dumb pipes
  • Microservices and SOA
  • Decentralized Governance
  • Many languages, many options
  • Decentralized Data Management
  • Battle-tested standards and enforced standards
  • Infrastructure Automation
  • Make it easy to do the right thing
  • Design for failure
  • The circuit breaker and production ready code
  • Synchronous calls considered harmful
  • Evolutionary Design


comments powered by Disqus