Continuous Architecture in Practice: Software Architecture in the Age of Agility and DevOps, 1st edition

Published by Addison-Wesley Professional (May 26, 2021) © 2021

  • Eoin Woods
  • Murat Erder
  • Pierre Pureur
Products list
  • Available for purchase from all major ebook resellers, including InformIT.com
Products list

Details

  • A print text
  • Free shipping
  • Also available for purchase as an ebook from all major ebook resellers, including InformIT.com
In Continuous Architecture in Practice, three leading software architecture experts update the classic practices of the discipline for contemporary environments, software development contexts, and applications. Coverage includes: 

  • Discover what has changed, and how the role of the architect must change
  • Reflect the quality attributes of today in evolvable architectures
  • Understand team-based software architecture, and architecture as a “flow of decisions”
  • Architect for security, including continuous threat modeling and mitigation
  • Explore architectural opportunities to improve performance in continuous delivery environments
  • Architect for scalability, avoid common scalability pitfalls, and scale microservices and serverless environments
  • Improve resilience and reliability in the face of inevitable failures
  • Architect data for NoSQL, big data, and analytics
  • Use architecture to promote innovation: case studies in AI/ML, chatbots, and blockchain
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

Need help? Get in touch