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 |