Strangler Fig Pattern
Strangler Fig
레거시 시스템의 현대화 또는 대규모 변경을 진행시 사용하는 소프트웨어 개발 방법 중 하나
마이그레이션 위험을 최소화
시스템을 완전히 재작성하지 않고도 새로운 기능을 추가하거나 레거시 코드를 개선하는 방법
점진적인 개선을 통해 시스템을 변화시키는 전략
Strangler FIg 패턴 적용 방식

레거시 시스템과 현대화 시스템을 이중으로
Facade
방식으로 사용하다가 조금씩 현대화 시스템으로 코드를 이관하고 최종적으로 레거시를 없애는 패턴
Strangler Fig Pattern 7step Process
새로운 시스템에 대한 인터페이스를 정의
이전 시스템에 대한 읽기를 새 인터페이스에 대한 읽기로 점진적으로 대체
데이터를 보관할 새 테이블을 정의하고 데이터베이스와 인터페이스하는데 사용할 비즈니스 논리 모델에 대한 레코드를 생성
새 시스템에서 새 데이터 소스에 쓰기 시작
이전 데이터 소스의 기존 데이터로 새 데이터 소스를 백필
새 테이블에서 데이터를 읽도록 새 비즈니스 논리 모델의 읽기를 변경
마지막으로 이전 데이터 소스에 대한 쓰기를 중단, 나머지 레거시 코드를 제거

Last updated