스트랭글러 무화과 패턴 - AWS 규범적 지침

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

스트랭글러 무화과 패턴

마틴 파울러 (Martin Fowler) 는 대형 모놀리식 시스템을 현대화하거나 다시 작성할 때 위험을 관리하기 위한 방법으로 스트랭글러 무화과 패턴을 도입했습니다. 이 패턴은 오래되고 잘 자리 잡은 나무와 함께 자라는 덩굴로 생명을 시작하는 식물의 일종에 대한 비유입니다. 덩굴은 자라면서 퍼져서 숙주 나무를 완전히 먹어치우고 궁극적으로는 대체하여 그 자리에 더 목 졸린 새 무화과나무를 남깁니다. ASP.NET 웹 서비스를 현대화하는 상황에서 이 패턴은 다른 시스템이 웹 서비스에 의존하는 프록시를 설정하여 시스템 기능을 점진적으로 대체합니다. 처음에는 이러한 프록시가 기존 모놀리식 애플리케이션 서비스를 통해 구현되기 때문에 패스스루 동작이 있는 것으로 간주할 수 있습니다. 자연에 비유하자면, 이것은 목 졸린 무화과가 처음에 덩굴을 숙주 나무의 줄기 위로 보내는 경우입니다. 그런 다음 모놀리스에서 분리된 새 서비스가 생성되고 프록시 구현이 해당 새 서비스로 연기됩니다. 자연에 비유하자면, 이것은 목 졸린 무화과 덩굴이 나무 가지 중 하나를 감싸서 따라 잡는 경우입니다. 프록시를 만든 다음 새 서비스로 프록시 구현을 교체하는 이러한 패턴은 모든 레거시 시스템의 기능이 새 서비스로 마이그레이션될 때까지 계속됩니다. 이 시점에서 목 졸린 무화과 덩굴이 나무를 완전히 먹어 치우고 기존 시스템을 폐기할 수 있습니다.

strangler fig 패턴을 사용할 때는 다음 모범 사례를 따르십시오. 그러면 애플리케이션을 독립적으로 확장하고 보다 원활하게 배포할 수 있습니다.

  • 테스트 적용 범위가 양호하고 관련 기술 부채가 적은 구성 요소를 선택하십시오. 이 구성 요소로 시작하면 팀은 현대화 프로세스 중에 많은 확신을 가질 수 있습니다.

  • 확장성 요구 사항이 있는 구성 요소를 선택하고 이러한 구성 요소 중 하나부터 시작하십시오.

  • 비즈니스 요구 사항이 자주 변경되고 자주 배포되는 구성 요소를 선택합니다.

  • 이 패턴을 대규모로 구현하려면 Amazon ECS (엘라스틱 컨테이너 서비스) 에서 실행되는 Windows 컨테이너에AWS 리팩터링된 ASMX 서비스를 배포하고 Amazon API Gateway를 사용하여 현대화된 REST API를 게시하십시오.