The Hard Parts: Modern Trade-Off Analyses for Distributed Architectures
Neal Ford, Mark Richards, Pramod Sadalage, and Zhamak Dehghani
software_architecture#
workflow#
manage#
در معماری نرمافزار هیچ تصمیم آسانی وجود ندارد. در عوض، بخشهای زیادی وجود دارند که مشکلات یا مسائلی دشوار هستند و هیچ روش بهینهای برای حل آنها وجود ندارد، و شما را مجبور میکنند که از میان انواع مصالحهها انتخاب کنید. با این کتاب، خواهید آموخت که چگونه به طور انتقادی به تجارتها و معضلاتی که در معماری توزیعشده وجود دارد فکر کنید.
مهندسان معماری با تجربه و مشاوران فعال، نیل فورد، مارک ریچاردز، پرمود سادالاجه و زحامک دِهغانی استراتژیهایی را برای انتخاب معماری مناسب ارائه میدهند. با استفاده از داستانی درباره یک گروه فرضی از حرفهایهای فناوری به نام "تیم سیستمها" (Sysops Squad)، آنها به بررسی مسائلی میپردازند از جمله نحوه تعیین جزئیات خدمات، مدیریت گردشکارها و ارکستراسیون، مدیریت و تفکیک قراردادها، مدیریت تراکنشهای توزیعشده و نحوه بهینهسازی ویژگیهای عملیاتی مانند مقیاسپذیری، الاستیسیته و عملکرد.
با تمرکز بر سؤالاتی که معمولاً پرسیده میشود، این کتاب تکنیکهایی را برای کمک به شما در کشف و ارزیابی مصالحهها فراهم میکند تا زمانی که با مسائلی که به عنوان یک معمار با آنها روبرو میشوید، مواجه میشوید.
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. 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--they 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.
Table of Contents
Chapter 1. What Happens When There Are No “Best Practices”?
Part I. Pulling Things Apart
Chapter 2. Discerning Coupling in Software Architecture
Chapter 3. Architectural Modularity
Chapter 4. Architectural Decomposition
Chapter 5. Component-Based Decomposition Patterns
Chapter 6. Pulling Apart Operational Data
Chapter 7. Service Granularity
Part II. Putting Things Back Together
Chapter 8. Reuse Patterns
Chapter 9. Data Ownership and Distributed Transactions
Chapter 10. Distributed Data Access
Chapter 11. Managing Distributed Workflows
Chapter 12. Transactional Sagas
Chapter 13. Contracts
Chapter 14. Managing Analytical Data
Chapter 15. Build Your Own Trade-Off Analysis
About the Author
Neal Ford is a director, software architect, and meme wrangler at ThoughtWorks, a software company and a community of passionate, purpose-led individuals who think disruptively to deliver technology to address the toughest challenges, all while seeking to revolutionize the IT industry and create positive social change. He's an internationally recognized expert on software development and delivery, especially in the intersection of Agile engineering techniques and software architecture. Neal has authored seven books (and counting), a number of magazine articles, and dozens of video presentations and spoken at hundreds of developers conferences worldwide. His topics include software architecture, continuous delivery, functional programming, cutting-edge software innovations, and a business-focused book and video on improving technical presentations. Check out his website, Nealford.com.
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 in a variety of technologies. He has been in the software industry since 1983 and has significant experience and expertise in application, integration, and enterprise architecture. Mark is the founder of DeveloperToArchitect.com, a free website devoted to helping developers in the journey to becoming a software architect. He is the author of numerous technical books and videos, as well as a conference speaker and trainer, having spoken at hundreds of conferences and user groups around the world on a variety of enterprise-related technical topics.