TY - BOOK AU - Ford,Neal AU - Richards,Mark AU - Sadalage,Pramod J. AU - Dehghani,Zhamak TI - Software architecture: the hard parts : modern trade-off analysis for distributed architectures SN - 9781492086895 AV - QA76.754 .F66 2022 U1 - 005.1 23 KW - Software architecture KW - Electronic data processing KW - Distributed processing KW - Architecture logicielle KW - Traitement réparti KW - fast N1 - Includes bibliographical references and index; What happens when there are no "best practices"? -- Part I. Pulling things apart. Discerning coupling in software architecture ; Architectural modularity ; Architectural decomposition ; Component-based decomposition patterns ; Pulling apart operational data ; Service granularity -- Part II. Putting things back together. Reuse patterns ; Data ownership and distributed transactions ; Distributed data access ; Managing distributed workflows ; Transactional sagas ; Contracts ; Managing analytical data ; Build your own trade-off analysis N2 - "There are no easy decisions in software architecture. Instead, there are many hard parts - difficult problems or issues with no best practices - that force you to choose among various compromises to succeed. With this book, you'll learn how to think critically about the trade-offs involved with distributed architectures. Architecture veterans and practicing consultants Neal Ford, Mark Richards, Pramod Sadalage, and Zhamak Dehghani discuss strategies for choosing an appropriate architecture. By interweaving a story about a fictional group of technology professionals--the Sysops Squad--the authors examine everything from how to determine service granularity, manage workflows and orchestration, manage and decouple contracts, and manage distributed transactions to how to optimize operational characteristics, such as scalability, elasticity, and performance. By focusing on commonly asked questions, this book provides techniques to help you discover and weigh the trade-offs as you confront the issues you face as an architect. Analyze trade-offs and effectively document your decisions; Make better decisions regarding service granularity; Understand the complexities of breaking apart monolithic applications; Manage and decouple contracts between services; Handle data in a highly distributed architecture; Learn patterns to manage workflow and transactions when breaking apart applications."--Page [4] of cover ER -