팀별 서비스 패턴 - AWS 규범적 지침

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

팀별 서비스 패턴

팀별 서비스 패턴은 비즈니스 역량이나 서비스별로 모놀리스를 분해하는 대신 개별 팀이 관리하는 마이크로서비스로 세분화합니다. 각 팀은 비즈니스 역량을 책임지고 해당 역량의 코드베이스를 소유합니다. 팀은 독립적으로 서비스를 개발, 테스트, 배포 또는 확장하며 주로 API를 협상하기 위해 다른 팀과 상호 작용합니다. 각 마이크로서비스를 단일 팀에 할당하는 것이 좋습니다. 그러나 팀 규모가 충분히 크면 여러 하위 팀이 동일한 팀 구조 내에서 개별 마이크로서비스를 소유할 수 있습니다. 다음 표는 이 패턴 사용의 장단점을 설명합니다.

장점 단점
  • 팀은 최소한의 조정만 필요로 하며 독립적으로 행동합니다.

  • 코드 베이스와 마이크로서비스를 여러 팀에서 공유하지 않습니다.

  • 팀은 제품 기능을 빠르게 혁신하고 반복할 수 있습니다.

  • 팀마다 다양한 기술, 프레임워크 또는 프로그래밍 언어를 사용할 수 있습니다. 중요: 이러한 정보는 잘 정의되고 안정적인 공개 API 뒤에 숨겨야 합니다.

  • 최종 사용자 기능이나 비즈니스 역량에 맞게 팀을 조정하는 것은 어려울 수 있습니다.

  • 특히 팀 간에 순환적 종속성이 있는 경우, 더 크고 조율된 애플리케이션 증분을 제공하려면 추가적인 노력이 필요합니다.

다음 그림은 모놀리스를 개별 팀이 관리, 유지 관리 및 제공하는 마이크로서비스로 분할하는 방법을 보여줍니다.

팀에 의한 모놀리스를 마이크로서비스로 분해