컨테이너 기반 마이크로 서비스(MSA) 전략과 마이그레이션 여정
두줄요약
역할 기반 모놀리스를 도메인 기준 MSA로 점진 전환한 사례를 정리했습니다. AWS ECS와 ALB 라우팅, DDD, 템플릿 저장소로 비용과 복잡도를 줄였습니다.
문제 상황
- 역할 기반으로 분리된 레거시 모놀리스 구조에서 중복 개발과 하드 카피 유지보수 부담 발생
- 도메인 오너십이 분산되어 충전금 같은 공통 기능의 책임 경계가 불명확
- 기존 AWS Elastic Beanstalk 구조의 커스터마이징·확장 한계로 MSA 전환 필요
원인 분석
- 서버 분리가 도메인 기준이 아니라 사용자 역할 기준으로 이뤄져 공통 기능 재사용이 어려움
- 프레임워크와 ORM이 서버마다 달라 동일 기능도 구현 방식과 결과가 달라질 가능성 존재
- 빅뱅식 전환은 스타트업의 개발 속도와 사업 진행을 동시에 저해할 위험
해결 방법
- 비즈니스 능력 기준 분해와 DDD, Bounded Context로 서비스 경계 재정의
- Strangler Fig Pattern으로 기존 기능을 유지하면서 공통 기능부터 점진 이관
- Public ALB와 Multiple Target Group, ECS, CDK, 템플릿 저장소로 라우팅·배포·개발 표준화
