Title: Software Architecture Patterns
Subtitle: Second Edition
Description: The success of any software application or system depends on the architecture style you use. This updated report presents several common architecture styles to guide designers and developers on how to design components and to help you determine the ways in which those components should interact.

Author Mark Richards takes a deep dive into many common software architecture styles. Each chapter includes a full explanation of how a particular style works, outlines its benefits and considerations, and describes the circumstances and conditions the style was designed to address. This report also presents an analysis of and scorecard for each style based on several architecture and software development quality attributes.

Architecture styles include:
- Layered architecture
- Microkernel architecture
- Event-driven architecture
- Microservices architecture
- Space-based architecture 

This second edition includes new techniques and advances that have appeared for each architecture style over the past seven years. Guidelines in each chapter also reveal when--and when not--to use the style described. This edition introduces new topics such as the difference between architecture patterns and styles, monolithic versus distributed architectures, and technical versus domain partitioning.

About the author: Mark Richards is a software architect with significant experience and expertise in application, integration, and enterprise architecture. Active in the software industry since 1983, he's the author of several O'Reilly books and videos, including Software Architecture: The Hard Parts, Software Architecture Fundamentals, Enterprise Messaging, Java Message Service, second edition, and 97 Things Every Software Architect Should