운영 우수성을 지원하는 클라우드 디자인 패턴

워크로드 아키텍처를 디자인할 때 일반적인 문제를 해결하는 업계 패턴을 사용해야 합니다. 패턴은 워크로드 내에서 의도적인 절충을 수행하고 원하는 결과를 최적화하는 데 도움이 될 수 있습니다. 또한 안정성, 보안, 성능 및 비용에 영향을 줄 수 있는 특정 문제에서 발생하는 위험을 완화하는 데 도움이 될 수 있습니다. 이러한 모든 영역에서 작업이 중단되므로 위험은 결국 워크로드 작업에 영향을 줍니다. 이러한 패턴은 실제 환경에서 지원되고, 클라우드 규모 및 운영 모델을 위해 설계되었으며, 본질적으로 공급업체에 구애받지 않습니다. 워크로드 디자인을 표준화하는 방법으로 잘 알려진 패턴을 사용하는 것 자체가 운영 우수성의 구성 요소입니다.

많은 디자인 패턴은 하나 이상의 아키텍처 핵심 요소들을 직접 지원합니다. 운영 우수성 핵심을 지원하는 디자인 패턴은 안전한 배포 사례를 위한 견고한 기반을 제공하고 시간이 지남에 따라 아키텍처 진화, 마이그레이션 시나리오 및 가시성을 용이하게 하는 토폴로지 를 사용합니다.

운영 효율성을 위한 디자인 패턴

다음 표에는 운영 우수성의 목표를 지원하는 클라우드 디자인 패턴이 요약됩니다.

패턴 요약
손상 방지 레이어 레거시와 새 구성 요소 간의 프록시 상호 작용에 중재자 계층을 추가하여 레거시 시스템의 동작 또는 구현 선택으로부터 새 시스템 구성 요소를 보호합니다. 이 패턴은 이러한 레거시 시스템과 통합할 때 다른 데이터 모델 또는 비즈니스 규칙을 가질 수 있는 레거시 구현에 의해 새 구성 요소 디자인이 불포화되지 않도록 하는 데 도움이 됩니다. 이 패턴은 점진적 시스템 마이그레이션에 특히 유용합니다. 기존 구성 요소를 지원하면서 새 구성 요소의 기술적인 문제를 줄입니다.
연출 분산형 이벤트 기반 통신을 사용하여 워크로드에서 자율 분산 구성 요소의 동작을 조정합니다. 이 패턴은 워크로드 수명 주기 동안 서비스를 자주 업데이트하거나 교체해야 하는 경우에 유용할 수 있습니다. 분산 구성 요소는 자율적이므로 시스템에 대한 전반적인 변경이 적어 워크로드를 수정할 수 있습니다.
컴퓨팅 리소스 통합 밀도를 높여 컴퓨팅 리소스를 최적화하고 통합합니다. 이 패턴은 공유 인프라에서 워크로드의 여러 애플리케이션 또는 구성 요소를 결합합니다. 통합은 관리 및 가시성을 간소화하고, 운영 작업에 대한 서로 다른 접근 방식을 줄이고, 필요한 도구의 양을 줄일 수 있는 보다 동질적인 컴퓨팅 플랫폼으로 이어집니다.
배포 스탬프 동일하거나 다른 버전이 동시에 배포될 것이라는 가정하에 특정 버전의 애플리케이션 및 해당 인프라를 제어된 배포 단위로 릴리스하는 방법을 제공합니다. 이 패턴은 변경할 수 없는 인프라 목표에 부합하고, 고급 배포 모델을 지원하며, 안전한 배포 사례를 용이하게 할 수 있습니다.
외부 구성 저장소 코드 변경 또는 애플리케이션 재배포 없이 구성 값에 대한 동적 업데이트를 지원하기 위해 애플리케이션에 외부화된 서비스에 대한 구성을 추출합니다. 애플리케이션 코드에서 애플리케이션 구성을 분리하면 환경별 구성이 지원되고 버전 관리가 구성 값에 적용됩니다. 외부 구성 저장소는 안전한 배포 사례를 사용하도록 기능 플래그를 관리하는 일반적인 장소이기도 합니다.
게이트웨이 집계 단일 요청에서 여러 백 엔드 서비스에 대한 호출을 집계하여 워크로드와의 클라이언트 상호 작용을 간소화합니다. 이 토폴로지를 사용하면 백 엔드 논리가 클라이언트와 독립적으로 발전할 수 있으므로 클라이언트 터치포인트를 변경하지 않고도 연결된 서비스 구현 또는 데이터 원본을 변경할 수 있습니다.
게이트웨이 오프로딩 요청을 백 엔드 노드로 전달하기 전과 후에 게이트웨이 디바이스에 요청 처리를 오프로드합니다. 요청 프로세스에 오프로드 게이트웨이를 추가하면 여러 노드에서 관리하는 대신 단일 지점에서 오프로드된 기능의 구성 및 유지 관리를 관리할 수 있습니다.
게이트웨이 라우팅 들어오는 네트워크 요청을 요청 의도, 비즈니스 논리 및 백 엔드 가용성에 따라 다양한 백 엔드 시스템으로 라우팅합니다. 게이트웨이 라우팅을 사용하면 백 엔드에서 요청을 분리할 수 있습니다. 그러면 백 엔드에서 고급 배포 모델, 플랫폼 전환 및 전송 중인 도메인 이름 확인 및 암호화를 위한 단일 관리 지점을 지원할 수 있습니다.
상태 엔드포인트 모니터링 해당 용도로 특별히 설계된 엔드포인트를 노출하여 시스템의 상태 또는 상태 모니터링하는 방법을 제공합니다. 워크로드 전체에서 노출할 상태 엔드포인트와 결과의 분석 수준을 표준화하면 문제를 심사하는 데 도움이 될 수 있습니다.
메시징 브리지 프로토콜 또는 형식으로 인해 호환되지 않는 메시징 시스템 간의 통신을 사용하도록 설정하는 중간을 제공합니다. 이 분리는 워크로드 내에서 메시징 및 이벤트 기술을 전환하거나 외부 종속성에서 다른 유형의 요구 사항이 있는 경우 유연성을 제공합니다.
게시자/구독자 중간 메시지 브로커 또는 이벤트 버스를 통해 직접 클라이언트-서비스 또는 클라이언트-서비스 통신과 통신을 대체하여 아키텍처의 구성 요소를 분리합니다. 이 간접 계층을 사용하면 두 구성 요소 모두에 대한 변경 내용을 조정할 필요 없이 게시자 또는 구독자 쪽에서 구현을 안전하게 변경할 수 있습니다.
격리 외부 자산이 워크로드에서 사용할 수 있는 권한이 부여되기 전에 팀이 합의한 품질 수준을 충족하는지 확인합니다. 이러한 검사에 대한 자동화 및 일관성은 워크로드의 SDP(소프트웨어 개발 수명 주기 및 안전한 배포 관행)의 일부입니다.
사이드카 기본 애플리케이션과 함께 존재하는 도우미 프로세스에서 기본이 아닌 또는 교차 절단 작업을 캡슐화하여 애플리케이션의 기능을 확장합니다. 이 패턴은 애플리케이션이 직접 구현 종속성을 수행하지 않고도 애플리케이션의 가시성을 향상시킬 수 있는 도구 통합의 유연성을 구현하는 방법을 제공합니다. 사이드카 기능을 독립적으로 발전시키고 애플리케이션의 수명 주기와 독립적으로 유지 관리할 수 있습니다.
스트랭글러 그림 시스템을 마이그레이션하거나 현대화하는 동안 실행 중인 시스템의 구성 요소를 새 구성 요소로 체계적으로 대체하는 방법을 제공합니다. 이 패턴은 구현하기 더 위험한 대규모 시스템 변경보다 시간이 지남에 따라 작은 변경 내용으로 증분 대체가 선호되는 지속적인 개선 방법을 제공합니다.

다음 단계

다른 Azure Well-Architected Framework 핵심 요소들을 지원하는 클라우드 디자인 패턴을 검토합니다.