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 Software Systems Architecture (2012),
is a frequent speaker at industry events and was the recipient of
the 2018 Linda M. Northrup Award for Software Architecture, awarded
by the SEI at Carnegie Mellon University.
" Continuous Architecture in Practice captures the key concerns of
software architects today, including security, scalability and
resilience, and provides valuable insights into managing emerging
technologies such as machine/deep learning and blockchain. A
recommended read!"
--Jan Bosch, Professor of Software Engineering and Director of the
Software Center at Chalmers University of Technology, Sweden
" Continuous Architecture in Practice is a great introduction to
modern-day software architecture, explaining the importance of
shifting architectural thinking 'left' in order to form a set of
firm foundations for delivery and continuous architecture
evolution. I really liked the coverage of quality attributes, with
a real-world case study providing a way to highlight the real-world
complexities of the trade-offs associated with different solutions.
The set of references to other material is impressive too, making
this book incredibly useful for readers new to the domain of
software architecture."
--Simon Brown, author of Software Architecture for Developers
"In our ever-changing world of increasing system complexity, the
responsibilities and skills required to be a software architect
must continually evolve. Successfully adapting to constant
requirements, technology, and business changes requires an
architect to be multi-skilled, capable in engineering and
technology, business and management. The role of architect has
never been more challenging.
"This is why Continuous Architecture in Practice is an important
book for all architects to absorb. The principles-based approach
espoused in this book can be used to guide architects in charting a
successful path in a broad range of project contexts. The essential
activities for software architects present an excellent overview of
the core professional skills an agile architect must possess,
regardless of the problem domain and technologies in use.
"Most notably, the book devotes chapters to the key run-time
quality attributes that drive modern systems. Security,
performance, scalability, and resilience are the lifeblood of
Internet-facing systems. Each chapter provides a contemporary
overview of the characteristics of these quality attributes and
explains tactics an architect can adopt to design and evolve
systems that are built for long term survival. An additional
chapter on data architectures recognizes an important system
component that is rarely covered in architecture books. Data lies
at the heart of most systems and creating resilient and scalable
data architectures exploiting modern data technologies is a skill
all architects should have.
"Written in an approachable, concise, and informative style, with
concepts illustrated using an ongoing case study, this is an
excellent book that will help architects address the many
challenges of engineering systems in the 2020s and beyond. It is a
deep source of knowledge suitable for practicing and aspiring
architects, and an advanced college course in software
architecture. It will repay the time investment many times
over."
--Professor Ian Gorton, Northeastern University
"Focus on software architecture can get lost when talking about
agile software practices. However, the importance of architecture
in software systems has always been and continues to be relevant.
The authors address this important topic with their second book on
Continuous Architecture. This time they provide advice on aspects
that will make or break your system, from data to security,
scalability and resilience. A much recommended book that offers
practical guidance for anyone developing systems in today's rapidly
evolving technology landscape."
--Ivar Jacobson
"This book continues the journey where its predecessor left off.
Software today is never-ending, and true to its name, this book
looks at continuing trends and applies Continuous Architecture
principles using practical examples. The authors avoid the trap of
picking popular tools whose relevance quickly expire, choosing
instead to look at those trends that should influence and shape
architecture decisions. This book will be essential reading for any
person wanting to design and architect software systems that
continue to keep up with the times."
--Patrick Kua, CTO Coach and Mentor
"In the two-decade-old conflict between 'big upfront design' and
'emergent architecture,' software architects have often had a hard
time finding a meaningful compromise. In Continuous Architecture in
Practice, Erder, Pureur, and Woods provide them with a proven path.
This book is a big leap forward: I liked the more systematic use of
architectural tactics--a design artifact that has not been
exploited as much as it should. And that they brought the concept
of architectural technical debt to a more prominent position in the
process of making technical and managerial decisions."
--Philippe Kruchten, software architect
"It's high time that Agile architecture evolved from oxymoron to
what it really needs to be, a lean, enabling practice that
accelerates development and delivery of the next generation of
resilient and scalable enterprise class systems. Continuous
Architecture in Practice is another quantum step toward that goal
and provides practical guidance toward creating designs that are
responsive to changing requirements and technologies."
--Dean Leffingwell, creator of SAFe
![]() |
Ask a Question About this Product More... |
![]() |