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

Addison-Wesley Signature Series (Vernon) Series

Authors:

Language: English

39.49 €

In Print (Delivery period: 14 days).

Add to cartAdd to cart
Publication date:
352 p. · 17.8x23.2 cm · Paperback
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 architecture's 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.
Foreword by Vaughn Vernon, Series Editor xv
Foreword by Kurt Bittner xix
Introduction xxi
Acknowledgments xxv
About the Authors xxvii


Chapter 1: Why Software Architecture Is More Important than Ever 1
What Do We Mean by Architecture? 1
Software Industry Today 3
Current Challenges with Software Architecture 5
Software Architecture in an (Increasingly) Agile World 8
Introducing Continuous Architecture 11
Applying Continuous Architecture 17
Introduction to the Case Study 19
Summary 22

Chapter 2: Architecture in Practice: Essential Activities 23
Essential Activities Overview 24
Architectural Decisions 26
Quality Attributes 32
Technical Debt 36
Feedback Loops: Evolving an Architecture 42
Common Themes in Today's Software Architecture Practice 48
Summary 54

Chapter 3: Data Architecture 55
Data as an Architectural Concern 56
Key Technology Trends 60
Additional Architectural Considerations 76
Summary 84
Further Reading 85

Chapter 4: Security as an Architectural Concern 87
Security in an Architectural Context 88
Architecting for Security 92
Architectural Tactics for Mitigation 101
Maintaining Security 115
Summary 119
Further Reading 119

Chapter 5: Scalability as an Architectural Concern 123
Scalability in the Architectural Context 124
Architecting for Scalability: Architecture Tactics 134
Summary 155
Further Reading 156

Chapter 6: Performance as an Architectural Concern 159
Performance in the Architectural Context 159
Architecting for Performance 163
Summary 183
Further Reading 184

Chapter 7: Resilience as an Architectural Concern 187
Resilience in an Architectural Context 188
Architecting for Resilience 195
Architectural Tactics for Resilience 200
Maintaining Resilience 216
Summary 222
Further Reading 223

Chapter 8: Software Architecture and Emerging Technologies 225
Using Architecture to Deal with Technical Risk Introduced by New Technologies 226
Introduction to Artificial Intelligence, Machine Learning, and Deep Learning 227
Using Machine Learning for TFX 230
Using a Shared Ledger for TFX 246
Summary 257
Further Reading 258

Chapter 9: Conclusion 259
What Changed and What Remained the Same? 259
Updating Architecture Practice 261
Data 263
Key Quality Attributes 264
The Architect in the Modern Era 267
Putting Continuous Architecture in Practice 268

Appendix A: Case Study 269

Appendix B: Comparison of Technical Implementations of Shared Ledgers 299


Glossary 301
Index 311
Murat Erder has more than twenty-five years' experience in the software industry working for software vendors, management consultancies and large international banks. During his career Murat has had a variety of roles, from developer, to software architect, to management consultant. Murat's corporate IT roles cover the areas of data, integration, architecture and working as a CTO. He is co-author of the book Continuous Architecture: Sustainable Architecture in an Agile and Cloud-Centric World (2015) and has presented on this topic at a range of conferences, including SEI Saturn, O'Reilly Software Architecture and GOTOLondon. 

Pierre Pureur is an experienced software architect, with extensive innovation and application development background, vast exposure to the financial services industry, broad consulting experience and comprehensive technology infrastructure knowledge. His past roles include serving as Chief Enterprise Architect for a major financial services company, leading large architecture teams, managing large-scale concurrent application development projects and directing innovation initiatives, as well as developing strategies and business plans. He is co-author of the book Continuous Architecture: Sustainable Architecture in an Agile and Cloud-Centric World (2015) and has published many articles and presented at range of software architecture conferences on this topic.

Eoin Woods is the Chief Technology Officer of Endava, where he guides technical strategy, oversees capability development and directs investment in emerging technologies. Prior to joining Endava, Eoin worked in the software engineering industry for twenty years, developing system software products and complex applications in the capital markets domain. His main technical interests are software architecture, DevOps and software security and resilience. He is co-author of the book Sof
Empower your teams with modern architecture practices for the era of DevOps and Agile
  • Architect systems that align with your software development environment instead of conflicting with it
  • Manage challenging cross-cutting concerns such as data management, security, resiliency, and scalability
  • Leverage modern architecture to promote and sustain innovation
  • Take the next steps beyond Pureur's and Erder's classic Continuous Architecture to reflect all they've learned since its publication