HAPPY BOOKSGIVING
Use code BOOKSGIVING during checkout to save 40%-55% on books and eBooks. Shop now.
This eBook includes the following formats, accessible from your Account page after purchase:
EPUB The open industry format known for its reflowable content and usability on supported mobile devices.
PDF The popular standard, used most often with the free Acrobat® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
Also available in other formats.
Register your product to gain access to bonus material or receive a coupon.
Make Software Architecture Choices That Maximize Value and Innovation
"[Vernon and Jaskua] provide insights, tools, proven best practices, and architecture styles both from the business and engineering viewpoint. . . . This book deserves to become a must-read for practicing software engineers, executives as well as senior managers."Strategic Monoliths and Microservices helps business decision-makers and technical team members clearly understand their strategic problems through collaboration and identify optimal architectural approaches, whether the approach is distributed microservices, well-modularized monoliths, or coarser-grained services partway between the two.
--Michael Stal, Certified Senior Software Architect, Siemens Technology
Download the sample pages (includes Chapter 1)
Foreword xiii
Preface xvii
Acknowledgments xxv
About the Authors xxxi
Part I: Transformational Strategic Learning through Experimentation 1
Executive Summary 3
Chapter 1: Business Goals and Digital Transformation 7
Digital Transformation: What Is the Goal? 8
Why Software Goes Wrong 11
Your Enterprise and Conway's Law 18
(Re)Thinking Software Strategy 24
Are Monoliths Bad? 30
Are Microservices Good? 31
Don't Blame Agile 34
Getting Unstuck 36
Summary 37
References 38
Chapter 2: Essential Strategic Learning Tools 39
Making Decisions Early and Late, Right and Wrong 40
Culture and Teams 43
Modules First 51
Deployment Last 55
Everything in Between 57
Where Is Your Spaghetti and How Fast Does It Cook? 70
Strategic Architecture 70
Applying the Tools 72
Summary 75
References 75
Chapter 3: Events-First Experimentation and Discovery 77
Commands and Events 78
Rapid Learning with EventStorming 81
Applying the Tools 92
Summary 99
References 100
Part II: Driving Business Innovation 101
Executive Summary 103
Chapter 4: Reaching Domain-Driven Results 109
Domains and Subdomains 111
Summary 115
References 116
Chapter 5: Contextual Expertise 117
Bounded Context and Ubiquitous Language 117
Core Domain 121
Supporting Subdomains, Generic Subdomains, and Technical Mechanisms 123
Business Capabilities and Contexts 125
Not Too Big, Not Too Small 128
Summary 129
References 130
Chapter 6: Mapping, Failing, and Succeeding--Choose Two 131
Context Mapping 131
Topography Modeling 151
Ways to Fail and Succeed 154
Applying the Tools 158
Summary 163
References 164
Chapter 7: Modeling Domain Concepts 165
Entities 166
Value Objects 167
Aggregates 168
Domain Services 169
Functional Behavior 170
Applying the Tools 173
Summary 173
References 174
Part III: Events-First Architecture 175
Executive Summary 177
Chapter 8: Foundation Architecture 181
Architectural Styles, Patterns, and Decision Drivers 183
Quality Attributes 196
Applying the Tools 206
Summary 207
References 208
Chapter 9: Message- and Event-Driven Architectures 211
Message- and Event-Based REST 216
Event-Driven and Process Management 220
Event Sourcing 223
CQRS 227
Serverless and Function as a Service 229
Applying the Tools 231
Summary 231
References 232
Part IV: The Two Paths for Purposeful Architecture 233
Executive Summary 235
Chapter 10: Building Monoliths Like You Mean It 239
Historical Perspective 241
Right from the Start 244
Right from Wrong 253
Keeping It Right 264
Summary 265
References 266
Chapter 11: Monolith to Microservices Like a Boss 267
Mental Preparation with Resolve 267
Modular Monolith to Microservices 271
Big Ball of Mud Monolith to Microservices 275
Unplugging the Legacy Monolith 286
Summary 287
References 288
Chapter 12: Require Balance, Demand Strategy 289
Balance and Quality Attributes 289
Strategy and Purpose 291
Conclusion 297
References 298
Index 299
We've made every effort to ensure the accuracy of this book and its companion content. Any errors that have been confirmed since this book was published can be downloaded below.
Download the errata (936 KB .doc)
Download replacement Figure 7-1 (359 KB .png)