AI Briefing
KO

Kakao Recommendation Team Shares Experience Applying DDD to ML SaaS Platform

·2022.12.12 00:00

Key point

They analyzed the domain using Event Storming and designed the architecture based on aggregates and domain events.

1 / 7

Details

The Kakao Recommendation Team shared their experience applying Domain-Driven Design (DDD) to a complex ML SaaS platform development project. They adopted DDD to address challenges where domain complexity and technical complexity were intertwined, such as building data pipelines, applying recommendation technologies, and conducting A/B testing.

Event Storming and Bounded Contexts

To facilitate communication among team members during the initial project phase, they conducted an Event Storming workshop. Due to COVID-19, they utilized the online whiteboard tool Miro to visualize domain events, users, and commands, establishing a ubiquitous language and defining bounded contexts.

Tactical Design: Aggregates and Domain Events

To concretize the domain model, they made aggregates and domain events the core elements. In the dataset context, they separated schemas and datasets into independent aggregates to adhere to the SRP (Single Responsibility Principle). Aggregates contain business rules, and state changes are implemented to occur through domain events.

Architectural Scalability and Limitations

The domain-event-driven structure naturally connects with event-driven architecture, serving as a foundation for applying CQRS or event sourcing patterns in the future. However, they noted that DDD is closer to a design philosophy than a silver bullet, citing the steep learning curve and time costs required during the initial design phase as drawbacks.

This summary was generated automatically by AI. Check the original for the author's claims and context. Copyright belongs to the original author.

Our guide explains how the AI works. Report summary errors, attribution issues, or removal requests via Contact.