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

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

스트랭글러 무화과 패턴

스트랭글러 무화과 패턴은 대규모 모놀리식 시스템을 현대화하거나 다시 작성할 때 위험을 관리하는 방법으로 Martin Fowler에서 도입했습니다. 패턴은 오래된 기성 나무와 함께 자라면서 목숨을 시작하는 식물 유형과 유사합니다. 덩굴이 자라면서 덩굴이 완전히 소비되고 호스트 나무를 대체하여 새 스트랭글러 무화과 나무를 그 자리에 남겨 둡니다. ASP.NET 웹 서비스를 현대화하는 맥락에서이 패턴은 다른 시스템에 웹 서비스에 대한 종속성이 있는 프록시를 설정하여 시스템 기능을 점진적으로 대체합니다. 처음에는 이러한 프록시가 기존 모놀리식 애플리케이션 서비스에서 구현되기 때문에 패스스루 동작이 있는 것으로 간주할 수 있습니다. 자연 아날로그에서 이는 스트랭글러 무화과가 처음에 호스트 트리의 트렁크를 따라 덩굴을 보내는 경우입니다. 그런 다음 모놀리스에서 분리된 새 서비스가 생성되고 프록시의 구현이 해당 새 서비스로 연기됩니다. 자연 아날로그에서 이는 스트랭글러 무화과 덩굴이 나무의 브랜치 중 하나를 둘러싸서 추월하는 경우입니다. 이 프록시 패턴은 모든 레거시 시스템의 함수가 새 서비스로 마이그레이션될 때까지 프록시 구현을 새 서비스로 대체합니다. 이 시점에서 스트랭글러 무화과 덩굴은 나무를 완전히 소비하고 레거시 시스템을 폐기할 수 있습니다.

스트랭글러 무화과 패턴을 사용할 때 다음 모범 사례를 따르면 애플리케이션을 독립적으로 확장하고 보다 원활하게 배포할 수 있습니다.

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

  • 확장성 요구 사항이 있는 구성 요소를 선택하고 이러한 구성 요소 중 하나로 시작합니다.

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

  • 대규모로이 패턴을 구현하려면 Amazon Elastic Container Service(Amazon ECS)에서 실행 중인 Windows 컨테이너에 리팩터링된 ASMX 서비스를 AWS배포하고 Amazon API Gateway를 사용하여 현대화된 REST API를 게시합니다.