This post is part of a series of posts with my personal notes about the chapters in the book “Microservices vs. Service-Oriented Architecture” by Mark Richards.
- Microservices vs SOA – Chap1. The World of Service-Based Architectures
- Microservices vs SOA – Chap2. Comparing Service Characteristics
- Microservices vs SOA – Chap3. Comparing Architecture Characteristics
- Microservices vs SOA – Chap4. Comparing Architecture Capabilities
Although the microservices pattern has certainly addressed the many issues commonly found in large monolithic applications and complex SOA architectures, it does lack some of the core capabilities provided by a SOA—including contract decoupling and protocol-agnostic heterogeneous interoperability.
One of the fundamental concepts to remember is that microservices architecture is a share-as-little-as-possible architecture pattern that places a heavy emphasis on the concept of a bounded context, whereas SOA is a share-as-much-as-possible architecture pattern that places heavy emphasis on abstraction and business functionality reuse.
For more information about microservices, SOA, and distributed architecture in general, you can view Service-Based Architectures: Structure, Engineering Practices, and Migration (O’Reilly video) by Neal Ford and Mark Richards.
For an excellent in-depth look at microservices, I highly recommend Sam Newman’s book Building Microservices (O’Reilly).
Finally, for more information about messaging as it relates to service-based architectures for both microservices and SOA, you can view Enterprise Messaging: JMS 1.1 and JMS 2.0 Fundamentals (O’Reilly video) and Enterprise Messaging: Advanced Topics and Spring JMS (O’Reilly video).
– The end