Make Software Architecture Choices That Maximize Value and Innovation

"[Vernon and Jaskula] 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 Jaskula 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.



Autorentext

Vaughn Vernon, a software developer with over 30 years of experience in a broad range of business domains, is a world-renowned expert in Domain-Driven Design (DDD) and champion of simplicity and Reactive systems. As a consultant and teacher of DDD and Reactive software development, he has helped thousands of developers transform brittle, stagnating, technology-driven systems into innovative, business-driven systems that deliver far more value. The visionary and Chief Architect behind the VLINGO/PLATFORM, he is author of Implementing Domain-Driven Design, Domain-Driven Design Distilled, and Reactive Messaging Patterns with the Actor Model, all published by Addison-Wesley.

Tomasz Jaskula has 20 years of professional experience as a developer, software architect, team leader, trainer, and technical conference speaker. An IDDD Workshop trainer in both French and Polish, he founded Paris Domain-Driven Design and F# user groups. Jaskula's company, Luteceo (luteceo.fr), spreads good software and architecture practices based on Domain-Driven Design and software craftsmanship. He previously worked for many companies in e-commerce, industry, insurance, and finance, gaining deep experience for creating software that delivers clear business value and competitive advantage.



Klappentext

Make Software Architecture Choices That Maximize Value and Innovation

"[Vernon and Jaskula] 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 Jaskula 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.



Inhalt

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 fr…
Titel
Strategic Monoliths and Microservices
Untertitel
Driving Innovation Using Purposeful Architecture
EAN
9780137355501
Format
E-Book (epub)
Hersteller
Veröffentlichung
27.10.2021
Digitaler Kopierschutz
Wasserzeichen
Dateigrösse
12.48 MB
Anzahl Seiten
352