Published by Addison-Wesley Professional (November 29, 2021) © 2022

Vaughn Vernon | Tomasz Jaskula
    VitalSource eTextbook (Lifetime access)
    €29,99
    Adding to cart… The item has been added
    ISBN-13: 9780137355501

    Strategic Monoliths and Microservices: Driving Innovation Using Purposeful Architecture ,1st edition

    Language: English

    Make Software Architecture Choices That Maximize Value and Innovation
    "[Vernon and Jaskuła] 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."
    --Michael Stal, Certified Senior Software Architect, Siemens Technology
    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.

    Leading software architecture experts Vaughn Vernon and Tomasz Jaskuła show how to make balanced architectural decisions based on need and purpose, rather than hype, so you can promote value and innovation, deliver more evolvable systems, and avoid costly mistakes. Using realistic examples, they show how to construct well-designed monoliths that are maintainable and extensible, and how to gradually redesign and reimplement even the most tangled legacy systems into truly effective microservices.
    • Link software architecture planning to business innovation and digital transformation
    • Overcome communication problems to promote experimentation and discovery-based innovation
    • Master practices that support your value-generating goals and help you invest more strategically
    • Compare architectural styles that can lead to versatile, adaptable applications and services
    • Recognize when monoliths are your best option and how best to architect, design, and implement them
    • Learn when to move monoliths to microservices and how to do it, whether they're modularized or a "Big Ball of Mud"
    Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
    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