The Architecture of Microservices
Microservices—one of the latest software architecture styles—promises to deliver benefits such as fast and easy deployment, ease of testing, fine-grained scalability, architectural modularity, and high overall agility. Unfortunately, a lot of complexity comes coupled with these benefits. In this product-agnostic architecture tutorial, Mark Richards provides you with an understanding of the microservices architecture style and what hybrids and alternatives exist. This helps guide you in making the right architecture and design decisions for your organization. Mark discusses the core concepts of the microservices architecture style, the primary benefits and drawbacks of microservices, how the microservices architecture style differs from SOA, and how to create hybrid architectures. Taking a deeper dive, Mark teaches you several service design techniques; explores the challenges surrounding service identification, service granularity, and service contracts; and discusses the details of distributed logging, distributed transaction management, data domains, remote access reliability and latency, reporting patterns, eventual consistency strategies, and database migration techniques.