Software Architecture

Architects are often harried because they have no clean, easy decisions: everything is an awful tradeoff between two or more less than perfect alternatives. These are the difficult problems architects face, what this book’s authors call “the hard parts.” These topics have no best practices, forcing architects to understand various tradeoffs to succeed. This book discusses these hard parts by not only investigating what makes architecture so difficult, but also by providing proven ways to address these problems and make them easier. The book explores topics such as choosing an appropriate architecture, deciding on service granularity, managing workflows and orchestration, managing and decoupling contracts, managing distributed transactions, and optimizing operational characteristics such as scalability, elasticity, and performance. As practicing consultants, the authors focus on questions they commonly hear architects ask and provide techniques that enable them to discover the tradeoffs necessary to answer these questions.

DOWNLOAD LINK