Book description
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.
- 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
Table of contents
- Preface
- 1. What Happens When There Are No “Best Practices”?
- I. Pulling Things Apart
- 2. Discerning Coupling in Software Architecture
- 3. Architectural Modularity
- 4. Architectural Decomposition
- 5. Component-Based Decomposition Patterns
- 6. Pulling Apart Operational Data
- 7. Service Granularity
- II. Putting Things Back Together
- 8. Reuse Patterns
- 9. Data Ownership and Distributed Transactions
- 10. Distributed Data Access
- 11. Managing Distributed Workflows
- 12. Transactional Sagas
- 13. Contracts
- 14. Managing Analytical Data
- 15. Build Your Own Trade-Off Analysis
- A. Concept and Term References
- B. Architecture Decision Record References
- C. Trade-Off References
- Index
- About the Authors
Product information
- Title: Software Architecture: The Hard Parts
- Author(s):
- Release date: October 2021
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9781492086895
You might also like
book
Designing Data-Intensive Applications
Data is at the center of many challenges in system design today. Difficult issues need to …
book
Fundamentals of Data Engineering
Data engineering has grown rapidly in the past decade, leaving many software engineers, data scientists, and …
book
Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, 2nd Edition
Through a series of recent breakthroughs, deep learning has boosted the entire field of machine learning. …
book
Software Architecture for Busy Developers
A quick start guide to learning essential software architecture tools, frameworks, design patterns, and best practices …