AI Briefing

카카오 추천팀, ML SaaS 플랫폼에 DDD 적용기 공유

·2022.12.12 00:00

핵심 내용

이벤트 스토밍으로 도메인을 분석하고 애그리게이트와 도메인 이벤트 기반으로 아키텍처를 설계했다.

1 / 7

자세히 보기

카카오 추천팀이 복잡한 ML SaaS 플랫폼 개발 프로젝트에 **Domain-Driven Design(DDD)**을 적용한 경험을 공유했다. 데이터 파이프라인 구축, 추천 기술 적용, A/B 테스팅 등 도메인 복잡성과 기술적 복잡성이 얽힌 문제를 해결하기 위해 DDD를 도입했다.

이벤트 스토밍과 바운디드 컨텍스트

프로젝트 초기 구성원 간 소통을 위해 이벤트 스토밍(Event Storming) 워크숍을 진행했다. 코로나19로 인해 온라인 화이트보드 도구인 Miro를 활용해 도메인 이벤트, 사용자, 명령 등을 시각화하며 유비쿼터스 언어를 정립하고 바운디드 컨텍스트를 정의했다.

전술 설계: 애그리게이트와 도메인 이벤트

도메인 모델을 구체화하기 위해 애그리게이트와 도메인 이벤트를 핵심 요소로 삼았다. 데이터셋 컨텍스트에서는 스키마와 데이터셋을 각각 독립적인 애그리게이트로 분리해 **SRP(단일 책임 원칙)**를 준수했다. 애그리게이트는 비즈니스 규칙을 포함하며, 상태 변화는 도메인 이벤트를 통해 발생하도록 구현했다.

아키텍처 확장성과 한계

도메인 이벤트 주도 구조는 이벤트 주도 아키텍처와 자연스럽게 연결되며, 향후 CQRS나 이벤트 소싱 패턴 적용의 기반이 된다. 다만 DDD는 은 탄환이 아닌 설계 철학에 가까우며, 초기 설계 단계에서 높은 학습 곡선과 시간 비용을 요구한다는 점을 단점으로 꼽았다.

이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.

AI 처리 방식을 확인하거나, 요약 오류와 출처 표기 문제, 삭제 요청을 문의 · 건의로 알려주세요.