(개념) 특정 기능을 새 서비스로 대체하는 방식으로 모놀리식 애플리케이션을 마이크로서비스로 점진적으로 전환하는 데 사용되는 패턴
특정 기능을 새로운 애플리케이션 및 서비스로 점진적으로 교체하여 레거시 시스템을 단계적으로 마이그레이션합니다. 레거시 시스템의 기능이 대체됨에 따라 새 시스템은 결국 이전 시스템의 모든 기능을 대체하여 이전 시스템을 중단시키고 서비스를 해제할 수 있게 합니다.
두 시스템 모두 병렬로 작동하지만 기능을 모놀리스 코드 베이스 외부로 이동시키고 새로운 기능으로 개선해야 합니다. 이러한 새로운 기능을 통해 필요에 가장 적합한 방식으로 마이크로서비스를 설계할 수 있습니다. 마이크로서비스로 모두 대체될 때까지 모놀리스에서 계속 기능을 제거해야 합니다. 이 시점에서 모놀리스 애플리케이션을 제거할 수 있습니다. 여기서 주목해야 할 요점은 모놀리스와 마이크로서비스가 일정 기간 동안 함께 작동할 것이라는 점입니다.
마이그레이션의 위험을 최소화하고 시간이 지남에 따라 개발 노력을 분산하는 데 도움이 됩니다. 사용자를 올바른 애플리케이션으로 안전하게 라우팅하는 외관을 사용하면 원하는 속도로 새 시스템에 기능을 추가할 수 있으며 레거시 애플리케이션이 계속 작동하도록 할 수 있습니다. 시간이 지남에 따라 기능이 새 시스템으로 마이그레이션되므로 레거시 시스템은 결국 "교착 상태에 얽히게"되며 더 이상 필요하지 않습니다. 이 프로세스가 완료되면 레거시 시스템을 안전하게 사용 중지할 수 있습니다.
이 패턴을 사용해야 하는 경우
백 엔드 애플리케이션을 새 아키텍처로 점진적으로 마이그레이션할 때 이 패턴을 사용합니다.
이 패턴은 적합하지 않을 수 있습니다.
- 백 엔드 시스템에 대한 요청을 가로챌 수 없는 경우
- 대량 교체의 복잡성이 낮은 소규모 시스템의 경우
https://learn.microsoft.com/ko-kr/azure/architecture/patterns/strangler-fig
https://techblog.lycorp.co.jp/ko/three-ways-to-reform-legacy-systems
'02.SW' 카테고리의 다른 글
SW 개발 방법론 - 애자일 (Agile) - 애자일 추정(Agile Estimation) (0) | 2024.12.20 |
---|---|
감리 - 정보시스템 감리 (2) | 2024.12.10 |
SW 개발 방법론 - 생성형 AI에 의한 소프트웨어 개발자 업무 영향 분석 (0) | 2024.11.23 |
프로젝트 관리 - 공공 SW - SW 하도급 (5) | 2024.10.13 |
프로젝트 관리 - 공공 SW - 턴키(Turn-Key·통합발주) 방식 (0) | 2024.10.13 |