Strategic Monoliths and Microservices: Driving Innovation Using Purposeful Architecture

Book description

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."

--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 Jaskua 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.

Table of contents

  1. Cover Page
  2. About This eBook
  3. Halftitle Page
  4. Title Page
  5. Copyright Page
  6. Contents
  7. Foreword
  8. Preface
    1. Legend/Key for Diagrams
    2. References
  9. Acknowledgments
    1. Vaughn Vernon
    2. Tomasz Jaskuła
  10. About the Authors
  11. Part I: Transformational Strategic Learning through Experimentation
    1. Executive Summary
    2. Chapter 1: Business Goals and Digital Transformation
      1. Digital Transformation: What Is the Goal?
      2. Why Software Goes Wrong
      3. Your Enterprise and Conway’s Law
      4. (Re)Thinking Software Strategy
      5. Are Monoliths Bad?
      6. Are Microservices Good?
      7. Don’t Blame Agile
      8. Getting Unstuck
      9. Summary
      10. References
    3. Chapter 2: Essential Strategic Learning Tools
      1. Making Decisions Early and Late, Right and Wrong
      2. Culture and Teams
      3. Modules First
      4. Deployment Last
      5. Everything in Between
      6. Where Is Your Spaghetti and How Fast Does It Cook?
      7. Strategic Architecture
      8. Applying the Tools
      9. Summary
      10. References
    4. Chapter 3: Events-First Experimentation and Discovery
      1. Commands and Events
      2. Rapid Learning with EventStorming
      3. Applying the Tools
      4. Summary
      5. References
  12. Part II: Driving Business Innovation
    1. Executive Summary
    2. Chapter 4: Reaching Domain-Driven Results
      1. Domains and Subdomains
      2. Summary
      3. References
    3. Chapter 5: Contextual Expertise
      1. Bounded Context and Ubiquitous Language
      2. Core Domain
      3. Supporting Subdomains, Generic Subdomains, and Technical Mechanisms
      4. Business Capabilities and Contexts
      5. Not Too Big, Not Too Small
      6. Summary
      7. References
    4. Chapter 6: Mapping, Failing, and Succeeding—Choose Two
      1. Context Mapping
      2. Topography Modeling
      3. Ways to Fail and Succeed
      4. Applying the Tools
      5. Summary
      6. References
    5. Chapter 7: Modeling Domain Concepts
      1. Entities
      2. Value Objects
      3. Aggregates
      4. Domain Services
      5. Functional Behavior
      6. Applying the Tools
      7. Summary
      8. References
  13. Part III: Events-First Architecture
    1. Executive Summary
    2. Chapter 8: Foundation Architecture
      1. Architectural Styles, Patterns, and Decision Drivers
      2. Quality Attributes
      3. Applying the Tools
      4. Summary
      5. References
    3. Chapter 9: Message- and Event-Driven Architectures
      1. Message- and Event-Based REST
      2. Event-Driven and Process Management
      3. Event Sourcing
      4. CQRS
      5. Serverless and Function as a Service
      6. Applying the Tools
      7. Summary
      8. References
  14. Part IV: The Two Paths for Purposeful Architecture
    1. Executive Summary
    2. Chapter 10: Building Monoliths Like You Mean It
      1. Historical Perspective
      2. Right from the Start
      3. Right from Wrong
      4. Keeping It Right
      5. Summary
      6. References
    3. Chapter 11: Monolith to Microservices Like a Boss
      1. Mental Preparation with Resolve
      2. Modular Monolith to Microservices
      3. Big Ball of Mud Monolith to Microservices
      4. Unplugging the Legacy Monolith
      5. Summary
      6. References
    4. Chapter 12: Require Balance, Demand Strategy
      1. Balance and Quality Attributes
      2. Strategy and Purpose
      3. Conclusion
      4. References
  15. Index
  16. Code Snippets

Product information

  • Title: Strategic Monoliths and Microservices: Driving Innovation Using Purposeful Architecture
  • Author(s): Vaughn Vernon, Tomasz Jaskula
  • Release date: November 2021
  • Publisher(s): Addison-Wesley Professional
  • ISBN: 9780137355600