Modularity With DDD Using Cell-Based Architecture on Choreo | WSO2Con Barcelona 2025



AI Summary

Summary of “Domain-Driven Design and Cell-Based Architecture”

Introduction

  • Overview of Domain-Driven Design (DDD) and its importance in software modeling around the business domain.
  • Discussion on the necessity of cell-based architecture to address complexities in managing microservices at scale.

Domain-Driven Design

  • Focus on modeling software around business capabilities.
  • Key concepts include:
    • Bounded Context: A boundary around a business domain.
    • Aggregates: Building blocks for the domain.
    • Ubiquitous Language: Common terminology between business and development teams.

Challenges with Microservices

  • Advantages of microservices:
    • Independent services for different business functions.
    • Scalability and flexibility with technology stacks.
  • Challenges when scaling microservices:
    • Governance complexities.
    • Inter-service communication issues.

Cell-Based Architecture

  • Concept introduced to manage and govern microservices effectively.
  • Key components include:
    • Cells: Bounded contexts that group microservices into deployable units.
    • Components: Can represent microservices, data sources, queues, etc.
  • Managed API gateways for external communication.
  • Offers a framework to transition from monolithic to distributed architecture.

Coro’s Implementation

  • Coro provides a reference implementation of cell-based architecture.
  • Focuses on enhancing speed in building, deploying, and managing services.
  • Offers a simplified platform for CI/CD, observability, and governance.

Benefits of Cell-Based Architecture

  • Encourages modularity and clear ownership of services within teams.
  • Facilitates speed in response to market changes and faster delivery of business capabilities.
  • Provides flexibility in enforcing design-time governance at runtime through structured boundaries.

Adoption without Coro

  • Organizations can implement cell-based architecture without using Coro.
  • Guidance for establishing a reference architecture is provided.

Conclusion

  • Domain-Driven Design focuses on the domain; cell-based architecture provides the structural framework for implementation.
  • Coro operationalizes these concepts through an internal developer platform.