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.
In the software industry since 1983, Mark Richards is an experienced, hands-on software architect involved in the architecture, design, and implementation of microservices architectures, service-oriented architectures, and distributed systems. He has significant experience and expertise in application, integration, and enterprise architecture. Mark is the author of O’Reilly books on microservices; the Software Architecture Fundamentals video series; Enterprise Messaging video series; Java Message Service, 2nd Edition; and a contributing author to 97 Things Every Software Architect Should Know. Mark is a frequent speaker on enterprise-related technical topics at conferences and user groups worldwide. www.wmrichards.com