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