Topic

Strangler-Fig Migration

JackerLab 2025. 5. 10. 06:05
728x90
반응형

개요

Strangler-Fig Migration은 기존 레거시 시스템을 중단 없이 점진적으로 현대화하는 소프트웨어 마이그레이션 전략이다. 이 패턴은 실제 나무인 '스트랭글러 무화과(Strangler Fig)'에서 영감을 받아, 새로운 시스템이 기존 시스템을 점차 대체해 나가는 방식으로 구성된다. 이는 리스크를 최소화하면서도 점진적인 기능 전환을 가능하게 하여, 마이크로서비스나 클라우드 전환 시 널리 활용된다.


1. 개념 및 정의

Strangler-Fig 패턴은 새로운 코드가 기존 시스템 주위에 배치되고, 시간이 지나면서 기존 구성요소를 대체하거나 폐기하는 방식이다. 초기에는 레거시 시스템과 함께 공존하며, 점차 새로운 구조가 기존 구조를 압도하게 된다.

  • 목적: 레거시 시스템의 단계적 교체 및 리스크 완화
  • 필요성: 전체 리팩토링의 높은 리스크와 비용 문제 해결

2. 특징

특징 설명 기존 리팩토링과의 비교
점진적 마이그레이션 기능 단위로 새로운 시스템 전환 빅뱅 방식은 전체 기능을 한 번에 교체
병행 운영 구조 기존과 신규 시스템이 동시에 운영 리스크 분산 효과 있음
유연한 확장성 필요한 영역만 마이그레이션 가능 전체 시스템 변경보다 유연

Strangler-Fig는 기술 부채 관리와 새로운 아키텍처 도입을 동시에 달성할 수 있다.


3. 구성 요소

구성 요소 설명 예시
Proxy Layer 기존 시스템과 신규 시스템을 연결 API Gateway, Service Mesh 등
Feature Routing 요청을 새로운 기능 또는 레거시로 분기 /new-login → 신규, /login → 레거시
점진적 기능 전환 기능 단위로 신규 시스템에 기능 이관 사용자 인증, 결제, 상품 조회 등 순차적 전환

이 구성은 기술적 위험을 줄이며 전환 과정을 명확히 관리할 수 있게 해준다.


4. 기술 요소

기술 요소 설명 사용 기술
API Gateway 요청 라우팅 및 모니터링 담당 Kong, AWS API Gateway, NGINX 등
Canary Deployment 기능별 테스트 및 점진적 릴리스 Kubernetes, Istio 등 서비스 메쉬 활용
CI/CD 파이프라인 지속적 배포 자동화 Jenkins, GitHub Actions, ArgoCD 등

이러한 기술 요소는 안전하고 반복 가능한 마이그레이션을 보장한다.


5. 장점 및 이점

장점 설명 기대 효과
리스크 최소화 병렬 운영으로 실패 시 롤백 가능 안정적인 시스템 전환 가능
마이그레이션 속도 조절 리소스 상황에 맞춰 유연하게 전환 비즈니스 운영 영향 최소화
기술 부채 해소 문제 영역만 우선 개선 가능 단계별 기술 고도화 가능

기존 시스템 운영을 유지하면서도 점진적 전환을 가능하게 한다.


6. 주요 활용 사례 및 고려사항

사례 설명 고려사항
Amazon 레거시 모놀리식에서 마이크로서비스로 점진적 전환 모든 기능을 한 번에 전환하지 않음
정부 기관의 민원 시스템 기존 시스템 유지하며 일부 모듈부터 전환 서비스 중단 없이 마이그레이션 가능
대형 금융사 내부 시스템 로그인, 거래처리 등 기능 단위 전환 데이터 동기화 및 테스트 체계 필수

이 패턴은 장기적인 계획과 자동화 테스트, 명확한 기능 분리가 중요하다.


7. 결론

Strangler-Fig Migration은 기존 시스템을 안정적으로 유지하면서 점진적인 현대화를 가능하게 하는 현실적인 마이그레이션 전략이다. 특히 마이크로서비스 전환, 클라우드 이관, 기술 부채 해소와 같은 요구에 부합하며, 실패 리스크를 최소화하면서 비즈니스 연속성을 유지하는 데 효과적이다.

728x90
반응형

'Topic' 카테고리의 다른 글

EVPN-VXLAN(Ethernet VPN over Virtual Extensible LAN)  (0) 2025.05.10
Server-Driven UI(SDUI)  (0) 2025.05.10
BFF(Backend-for-Frontend)  (0) 2025.05.10
ISO/IEC 21827 (SSE-CMM)  (1) 2025.05.10
Team Topologies  (0) 2025.05.10