Microservices become immensely popular because it promised to help organizations build loosely-coupled systems that allow for fast, easy change. But microservices systems haven't always kept that promise. This book identifies the deeper problem -- how software architects and designers approach coupling - and introduces an important new approach for creating more successful designs whether you use microservices or not.
Instead of blindly avoiding coupling, leading software architecture expert Vladik (Vlad) Khononov proposes a novel method that transforms it into a powerful design tool: "balanced multi-dimensional coupling." Khononov begins by surveying existing methods of evaluating coupling, and illuminating their strengths and limitations in the context of modern distributed systems. Next, he introduces a new multi-dimensional coupling model, and demonstrates how to harness it to build modular software.
Instead of focusing solely on a single approach,
Balancing Coupling in Software Design illuminates underlying design principles that are ubiquitous in SOA, microservices, DDD, design patterns, and other paradigms, revealing how each of them can fail if thoughtful design principles for coupling are neglected -- and how balanced coupling can make all of them work more effectively.