Continuous Architecture in Practice: Software Architecture in the Age of Agility and DevOps

Book description

Update Your Architectural Practices for New Challenges, Environments, and Stakeholder Expectations

“I am continuously delighted and inspired by the work of these authors. Their first book laid the groundwork for understanding how to evolve the architecture of a software-intensive system, and this latest one builds on it in some wonderfully actionable ways.”

—Grady Booch, Chief Scientist for Software Engineering, IBM Research

Authors Murat Erder, Pierre Pureur, and Eoin Woods have taken their extensive software architecture experience and applied it to the practical aspects of software architecture in real-world environments. Continuous Architecture in Practice provides hands-on advice for leveraging the continuous architecture approach in real-world environments and illuminates architectures changing role in the age of Agile, DevOps, and cloud platforms. This guide will help technologists update their architecture practice for new software challenges.

As part of the Vaughn Vernon Signature Series, this title was hand-selected for the practical, delivery-oriented knowledge that architects and software engineers can quickly apply. It includes in-depth guidance for addressing today's key quality attributes and cross-cutting concerns such as security, performance, scalability, resilience, data, and emerging technologies. Each key technique is demonstrated through a start-to-finish case study reflecting the authors deep experience with complex software environments. Key topics include:

  • Creating sustainable, coherent systems that meet functional requirements and the quality attributes stakeholders care about

  • Understanding team-based software architecture and architecture as a “flow of decisions”

  • Understanding crucial issues of data management, integration, and change, and the impact of varied data technologies on architecture

  • Architecting for security, including continuous threat modeling and mitigation

  • Architecting for scalability and resilience, including scaling microservices and serverless environments

  • Using architecture to improve performance in continuous delivery environments

  • Using architecture to apply emerging technologies successfully

Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.

Table of contents

  1. Cover Page
  2. About This eBook
  3. Title Page
  4. Copyright Page
  5. Dedication Page
  6. Contents
  7. Series Editor Foreword
  8. Foreword
  9. Introduction
  10. Acknowledgments
  11. About the Authors
  12. Chapter 1. Why Software Architecture Is More Important than Ever
    1. What Do We Mean by Architecture?
    2. Software Industry Today
    3. Current Challenges with Software Architecture
    4. Software Architecture in an (Increasingly) Agile World
    5. Introducing Continuous Architecture
    6. Applying Continuous Architecture
    7. Introduction to the Case Study
    8. Summary
  13. Chapter 2. Architecture in Practice: Essential Activities
    1. Essential Activities Overview
    2. Architectural Decisions
    3. Quality Attributes
    4. Technical Debt
    5. Feedback Loops: Evolving an Architecture
    6. Common Themes in Today’s Software Architecture Practice
    7. Summary
  14. Chapter 3. Data Architecture
    1. Data as an Architectural Concern
    2. Key Technology Trends
    3. Additional Architectural Considerations
    4. Summary
    5. Further Reading
  15. Chapter 4. Security as an Architectural Concern
    1. Security in an Architectural Context
    2. Architecting for Security
    3. Architectural Tactics for Mitigation
    4. Maintaining Security
    5. Summary
    6. Further Reading
  16. Chapter 5. Scalability as an Architectural Concern
    1. Scalability in the Architectural Context
    2. Architecting for Scalability: Architecture Tactics
    3. Summary
    4. Further Reading
  17. Chapter 6. Performance as an Architectural Concern
    1. Performance in the Architectural Context
    2. Architecting for Performance
    3. Summary
    4. Further Reading
  18. Chapter 7. Resilience as an Architectural Concern
    1. Resilience in an Architectural Context
    2. Architecting for Resilience
    3. Architectural Tactics for Resilience
    4. Maintaining Resilience
    5. Summary
    6. Further Reading
  19. Chapter 8. Software Architecture and Emerging Technologies
    1. Using Architecture to Deal with Technical Risk Introduced by New Technologies
    2. Introduction to Artificial Intelligence, Machine Learning, and Deep Learning
    3. Using Machine Learning for TFX
    4. Using a Shared Ledger for TFX
    5. Summary
    6. Further Reading
  20. Chapter 9. Conclusion
    1. What Changed and What Remained the Same?
    2. Updating Architecture Practice
    3. Data
    4. Key Quality Attributes
    5. The Architect in the Modern Era
    6. Putting Continuous Architecture in Practice
  21. Appendix A: Case Study
    1. Introducing TFX
    2. The Architectural Description
    3. Other Architectural Concerns
  22. Appendix B: Comparison of Technical Implementations of Shared Ledgers
  23. Glossary
  24. Index

Product information

  • Title: Continuous Architecture in Practice: Software Architecture in the Age of Agility and DevOps
  • Author(s): Murat Erder, Pierre Pureur, Eoin Woods
  • Release date: June 2021
  • Publisher(s): Addison-Wesley Professional
  • ISBN: 9780136523796