레거시 모놀리스를 마이크로서비스로 전환하는 리팩터링 전략 분류
초록
본 논문은 마이크로서비스 전환을 위한 10가지 최신 리팩터링 접근법을 비교·분류하고, 분해 기법별로 조건과 요구 데이터를 정리한 의사결정 가이드를 제시한다. 대부분의 방법이 특정 전제 조건에 제한되며, 입력 데이터 양이 많고 도구 지원이 미비한 점을 지적한다.
상세 분석
이 연구는 현대 소프트웨어 아키텍처에서 가장 활발히 논의되는 마이크로서비스 전환 과정을 체계적으로 조명한다. 먼저 ‘아키텍처 리팩터링’이라는 개념을 정의하고, 기존 모놀리식 시스템을 서비스 단위로 분해하는 과정에서 발생하는 핵심 문제—특히 서비스 경계와 granularity 결정—를 강조한다. 논문은 10개의 최신 학술 접근법을 선정했으며, 이를 크게 ‘도메인 기반 분해’, ‘기능 기반 분해’, ‘데이터 기반 분해’, ‘운영/배포 기반 분해’, ‘혼합형 분해’ 등 네 가지 주요 분해 기법으로 분류한다.
각 접근법은 적용 전제 조건(예: 도메인 모델 가시성, 로그/트레이스 데이터 존재 여부, 비즈니스 트랜잭션 분석 가능성 등)과 요구 입력 데이터(소스 코드 메타데이터, 실행 시 로그, 비즈니스 규칙 문서, 데이터베이스 스키마 등)를 상세히 매핑한다. 특히, 도메인 주도 설계(DDD)를 활용한 접근은 풍부한 도메인 모델이 사전에 존재할 때 높은 정확도를 보이지만, 레거시 시스템에 도메인 모델이 부재한 경우 적용이 어려운 점을 지적한다. 반면, 로그·트레이스 기반 자동 분해는 실행 시 수집된 데이터만으로도 서비스 경계를 추정할 수 있어 초기 진입 장벽이 낮지만, 데이터 품질에 크게 좌우되고, 비즈니스 로직의 복잡성을 충분히 반영하지 못한다는 한계가 있다.
또한, 논문은 각 방법론에 대한 도구 지원 현황을 조사한다. 현재 대부분은 프로토타입 수준의 오픈소스 도구에 머물러 있으며, 상용 솔루션은 드물다. 이는 실제 현업에서 적용 시 추가적인 개발 비용과 인력 투입을 요구한다는 의미다.
결정 가이드는 위 분류와 조건을 시각화하여, 조직이 현재 보유한 자산(코드, 문서, 운영 데이터)과 목표(서비스 독립성, 배포 빈도, 팀 구조 변화 등)를 기준으로 적절한 접근법을 빠르게 선택하도록 돕는다. 그러나 가이드 자체가 ‘조건 충족 여부’를 판단하는 데 필요한 정량적 기준을 제공하지 않아, 실무자는 여전히 전문가 판단에 의존해야 한다는 점이 남는다.
전체적으로 이 논문은 마이크로서비스 전환을 위한 학술적 로드맵을 제시하면서도, 실제 적용 시 마주치는 데이터 의존성, 도구 부재, 조건 제한 등 현실적인 장애물을 솔직히 드러낸다. 향후 연구는 자동화 수준을 높이고, 다중 분해 기법을 통합하는 하이브리드 접근법과, 실험적 도구의 성숙도를 평가하는 실증 연구가 필요하다는 시사점을 제공한다.
댓글 및 학술 토론
Loading comments...
의견 남기기