스트랭글러 패턴은 기존 시스템의 일부 기능을 점진적으로 새로운 시스템으로 전환하는 소프트웨어 마이그레이션 전략 중 하나이다. 이 패턴의 이름은 덩굴 식물이 기존 나무를 감싸면서 자라나 결국 나무를 대체하는 모습에서 유래했다. 기존 시스템을 한 번에 대체하는 빅뱅 방식이 아닌, 점진적으로 새로운 시스템을 도입하여 리스크를 줄이고 안정적인 전환을 가능하게 한다.

스트랭글러 패턴은 기존 시스템의 안정성을 유지하면서 새로운 기술이나 아키텍처를 도입하는 데 적합하다. 새로운 기능을 개발할 때마다 기존 시스템의 일부를 대체하여, 결국 전체 시스템을 새로운 구조로 전환하게 된다. 이 과정에서는 프록시나 API 게이트웨이 같은 기술을 사용하여, 새로운 시스템과 기존 시스템 간의 통신을 관리하고, 사용자가 큰 변화 없이 새로운 시스템을 사용할 수 있도록 한다.
스트랭글러 패턴의 주요 장점은 리스크 관리와 유연성이다. 기존 시스템이 작동을 멈추지 않고, 새로운 시스템으로의 전환을 진행할 수 있어, 서비스 중단의 위험을 최소화할 수 있다. 또한, 부분적으로 새로운 기술을 도입하면서 문제를 해결할 수 있어, 개발팀이 점진적으로 학습하고 적응할 수 있는 기회를 제공한다.
실제 사례로는 여러 대형 금융 기관과 전자 상거래 기업들이 기존의 모놀리식 구조에서 마이크로서비스 아키텍처로 전환할 때 스트랭글러 패턴을 적용한 바 있다. 이들 기업은 서비스의 지속성을 유지하면서, 새로운 기능을 보다 신속하게 제공할 수 있는 유연한 시스템으로의 전환에 성공했다.












