안정성 패턴

가용성

가용성은 작동 시간의 백분율로 측정되며 시스템이 작동하는 시간의 비율을 정의합니다. 가용성은 시스템 오류, 인프라 문제, 악의적인 공격, 시스템 부하 등의 영향을 받습니다. 클라우드 애플리케이션은 일반적으로 사용자에게 SLA(서비스 수준 계약)를 제공합니다. 즉, 애플리케이션을 설계하고 구현하여 가용성을 최대화해야 합니다.

패턴 요약
배포 스탬프 데이터 저장소를 포함하여 애플리케이션 구성 요소의 여러 독립 복사본을 배치합니다.
Geodes 백 엔드 서비스를 지리적 노드 세트에 배포합니다. 각 노드는 모든 지역의 클라이언트 요청을 처리할 수 있습니다.
상태 엔드포인트 모니터링 외부 도구가 노출된 엔드포인트를 통해 주기적으로 액세스할 수 있는 기능 검사를 애플리케이션 내부에 구현합니다.
큐 기반 부하 평준화 작업과 해당 작업이 호출하는 서비스 간의 버퍼 역할을 하는 큐를 사용하여 간헐적인 과부하를 원활하게 처리합니다.
제한 애플리케이션 인스턴스, 개별 테넌트 또는 전체 서비스별로 리소스 사용량을 제어합니다.

악의적인 DDoS(분산 서비스 거부) 공격으로 인한 가용성 위험을 완화하려면 네이티브 Azure DDoS 보호 서비스 또는 타사 기능을 구현합니다.

고가용성

Azure 인프라는 지역 및 가용성 영역으로 구성되어 있으며, 이를 통해 실패의 블래스트 반경(blast radius)을 제한하여 고객 애플리케이션 및 데이터에 미치는 잠재적인 영향을 제한합니다. Azure 가용성 영역 구문은 데이터 센터 오류로부터 보호하는 소프트웨어 및 네트워킹 솔루션을 제공하고 증가된 HA(고가용성)를 고객에게 제공하기 위해 개발되었습니다. HA 아키텍처를 사용하면 높은 복원력, 짧은 대기 시간 및 비용 간에 균형이 유지됩니다.

패턴 요약
배포 스탬프 데이터 저장소를 포함하여 애플리케이션 구성 요소의 여러 독립 복사본을 배치합니다.
Geodes 백 엔드 서비스를 지리적 노드 세트에 배포합니다. 각 노드는 모든 지역의 클라이언트 요청을 처리할 수 있습니다.
상태 엔드포인트 모니터링 외부 도구가 노출된 엔드포인트를 통해 주기적으로 액세스할 수 있는 기능 검사를 애플리케이션 내부에 구현합니다.
격벽 하나가 고장 나더라도 나머지는 정상적으로 작동하도록 애플리케이션의 요소를 여러 풀에 격리합니다.
회로 차단기 원격 서비스 또는 리소스에 연결할 때 해결하는 데 걸리는 시간이 유동적인 오류를 처리합니다.

복원력

복원력은 의도치 않은 오류 및 악의적인 오류를 모두 정상적으로 처리하고 해당 오류에서 복구하는 시스템 기능입니다.

애플리케이션이 다중 테넌트인 경우가 많고, 공유 플랫폼 서비스를 사용하고, 리소스 및 대역폭을 두고 경합하고, 인터넷을 통해 통신하고, 주로 하드웨어에서 실행되는 클라우드 호스팅의 특성 상, 일시적 오류와 영구적 오류가 모두 발생할 가능성이 좀 더 높습니다. 인터넷의 연결된 특성과 정교함 및 공격 볼륨의 증가는 보안 중단의 가능성을 높입니다.

복원력을 유지하려면 오류를 감지하여 신속하고 효율적으로 복구하는 기능이 필요합니다.

패턴 요약
격벽 하나가 고장 나더라도 나머지는 정상적으로 작동하도록 애플리케이션의 요소를 여러 풀에 격리합니다.
회로 차단기 원격 서비스 또는 리소스에 연결할 때 해결하는 데 걸리는 시간이 유동적인 오류를 처리합니다.
보정 트랜잭션 여러 단계로 나뉘어 있지만 결국에는 일관적인 작업을 정의하는 일련의 단계에서 수행한 작업을 실행 취소합니다.
상태 엔드포인트 모니터링 외부 도구가 노출된 엔드포인트를 통해 주기적으로 액세스할 수 있는 기능 검사를 애플리케이션 내부에 구현합니다.
리더 선택 인스턴스 중 하나를 다른 인스턴스를 관리하는 리더로 선택하여 분산된 애플리케이션의 공동 작업 인스턴스 컬렉션이 수행하는 작업을 조정합니다.
큐 기반 부하 평준화 작업 그리고 그 작업이 일시적인 높은 부하를 부드럽게 처리하기 위해 호출하는 서비스 사이에서 버퍼 역할을 하는 큐를 사용합니다.
다시 시도 이전에 실패한 작업을 투명하게 다시 시도하여 서비스 또는 네트워크 리소스에 연결하려 할 때 애플리케이션을 사용하여 예상된 일시적 오류를 처리합니다.
Scheduler 에이전트 감독자 서비스 및 기타 원격 리소스의 분산된 집합에서 일련의 작업을 조정합니다.