클라우드 환경에서는 오류가 불가피합니다. 하드웨어 오류, 소프트웨어 결함, 구성 오류, 트래픽 급증, 데이터 센터 중단 및 지역 전체 중단이 발생할 수 있습니다. 안정성 은 오류 또는 중단 시에도 비즈니스 기대치를 충족하는 워크로드의 기능입니다. 올바른 아키텍처 및 작업을 사용하면 오류가 발생하여 가동 중지 시간이 발생하지 않아도 됩니다.
계획되지 않은 가동 중지 시간은 큰 영향을 미칠 수 있습니다. 그것은 재정적 인 비용을 전달하고 고객과 사용자 신뢰를 손상. 이러한 즉각적인 영향 외에도 잘못된 안정성은 규정 준수 의무 및 경쟁력 있는 포지셔닝에 영향을 줍니다. 팀은 소방에 더 많은 시간을 할애하고 가치를 제공하는 데 더 적은 시간을 소비합니다. 계약 서비스 수준 처벌을 트리거할 수도 있습니다.
Azure 복원력 있는 인프라 및 관리형 서비스를 제공하지만 워크로드의 안정성은 아키텍처 설계, 서비스 구성, 종속성 관리, 문제에 대한 응답 자동화, 소프트웨어 및 프로세스 테스트 방법 등 사용자가 내리는 디자인 및 운영 결정에 따라 달라집니다. 안정성을 조기에 설계하면 오류를 최소화하고 오류가 발생할 때 비즈니스 우선 순위에 맞는 예측 가능하고 제어된 방식으로 워크로드가 저하되도록 할 수 있습니다.
신뢰할 수 있는 워크로드에는 두 가지 필수 속성이 있습니다.
- 복원력이 있어 허용되는 서비스 수준에서 계속 작동하면서 환경의 오류와 변화를 흡수할 수 있습니다.
- 또한 복구할 수 있습니다. 즉, 중단이 발생할 때 워크로드는 정의된 시간 및 데이터 손실 제한 내에서 정상적인 작업을 복원할 수 있습니다.
실제 가용성 기대치를 충족하고 비즈니스 연속성을 유지하려면 두 속성이 모두 필요합니다.
Azure 안정성은 다음과 같은 세 가지 상호 연결된 계층에서 작동합니다.
- 애플리케이션: 종속성 관리, Runbook, 자동화 및 테스트를 비롯한 아키텍처 선택, 사례 및 프로세스
- 다음을 포함한 안정성 기능:
- 워크로드 서비스 및 구성: 워크로드를 실행하는 Azure 서비스 및 해당 서비스 내에서 구성하는 안정성 기능을 구성하는 방법
- Azure 플랫폼 서비스: 부하 분산, DNS, 트래픽 라우팅 및 모니터링과 같은 워크로드 안정성을 특별히 지원하는 Azure 서비스
- 안정성 기반: 가용성 영역, 지역 및 안전한 배포 사례와 같은 Azure 기본 제공 복원력
이러한 계층은 함께 작동하여 전반적인 워크로드 안정성을 결정합니다. 이를 이해하면 기본적으로 Azure 제공하는 항목과 디자인, 구성 및 작동에 필요한 항목을 구분할 수 있습니다.
이 모델은 Azure 제공하는 것을 활용하는 동시에 사용자만 디자인할 수 있는 것에 대한 책임을 지는 데 도움이 됩니다. 이 문서에서는 이러한 계층에서 제공하는 Azure 중 하나입니다. 워크로드 디자인 및 운영 계층(복원력 있는 솔루션 및 아키텍처 패턴 설계)에 대한 포괄적인 지침은 Azure Well-Architected Framework 및 특히 안정성 기둥을 참조하세요.
안정성에 대한 공동 책임
Azure 안정성은 공유 책임 모델을 따릅니다. Microsoft Azure 통해 복원력 있는 플랫폼을 제공합니다. 복원력 있는 워크로드를 디자인합니다.
Microsoft 플랫폼 기반 및 플랫폼 안정성 서비스를 소유합니다. 이 소유권에는 복원력 있는 인프라(물리적 중복성, 오류 격리 및 복구), 가용성 영역, 지역 배포, 안전한 배포 사례 및 부하 분산, 트래픽 라우팅 및 모니터링과 같은 플랫폼 수준 서비스가 포함됩니다. Microsoft Azure 플랫폼의 안정성과 각 서비스의 게시된 SLA 및 해당 안정성 가이드와 같은 설명서에 정의된 서비스의 안정성을 담당합니다.
워크로드 디자인 및 작업을 소유하고 있습니다. 아키텍처 결정, 구성 선택, 운영 사례 및 테스트를 통해 Azure 기능을 신뢰할 수 있는 워크로드 동작으로 변환할 책임이 있습니다.
Azure 가용성 목표, 허용 가능한 절충, 비즈니스 컨텍스트 또는 애플리케이션별 요구 사항을 알 수 없습니다. 사용자만 이러한 요구 사항을 정의하고 그에 따라 디자인할 수 있습니다. Azure 기능을 선택하고 구성하는 동안 기능을 제공합니다. 예를 들어 데이터베이스와 같은 서비스에 대해 장애 조치(failover) 동작을 구성하고, 오류 발생 시에도 트래픽 라우팅 결정이 올바르도록 애플리케이션 상태를 정확하게 나타내는 부하 분산 장치 상태 프로브를 정의합니다.
중요합니다
이 플랫폼은 종단 간 보장이 아닌 구성 요소를 제공합니다. 디자인 및 운영 선택은 이러한 기능이 신뢰할 수 있는 워크로드로 변환되는지 여부를 결정합니다. 공유 책임 모델의 전체 분석은 클라우드의 공유 책임을 참조하세요.
SLA(서비스 수준 계약)는 Azure 서비스에서 안정성 약정 및 기대치를 정의합니다. 서비스를 평가하고 특정 가용성 대상을 디자인할 때 SLA를 이해하는 것이 중요합니다. Azure 서비스는 구성 및 중복성 수준에 따라 달라질 수 있는 SLA 약정을 게시합니다. 다른 공급자에서 사용하는 다른 서비스도 SLA를 게시할 수 있습니다. SLA가 작동하고 워크로드의 가용성 기대치와 관련된 방법에 대한 포괄적인 지침은 서비스 수준 계약을 참조하세요.
Azure 복원력 있는 기반
Azure 플랫폼 자체에 기본 제공되는 여러 복원력 계층으로 설계되었습니다. 이러한 기반은 신뢰할 수 있는 워크로드가 빌드되는 기본 기능을 제공합니다.
물리적 인프라 복원력: Azure 데이터 센터는 전력, 냉각 및 네트워크 연결과 같은 중복 인프라를 사용하여 설계되었습니다. Azure 패브릭 컨트롤러는 하드웨어 오류를 자동으로 격리하고 관리합니다. 오류를 감지하고 고객의 개입 없이 정상 하드웨어로 워크로드 마이그레이션을 오케스트레이션합니다.
지역: Azure 전 세계 70개 이상의 지역에서 운영됩니다. 이 지리적 배포를 통해 워크로드는 데이터 상주 요구 사항을 따르는 동시에 계획된 장애 조치(failover) 기능을 통해 지역 전체의 중단 및 중단을 견딜 수 있습니다. 자세한 내용은 Azure 지역 개요를 참조하세요.
가용성 영역: 많은 Azure 지역에는 동일한 지역 내에서 물리적으로 분리된 데이터 센터가 포함됩니다. 이러한 가용성 영역은 고속, 짧은 대기 시간 네트워크로 연결됩니다. 각 영역에는 많은 Azure 서비스에 대한 동기 복제 기능을 유지하면서 데이터 센터 수준 오류로부터 보호하기 위한 독립적인 전원, 냉각 및 네트워킹이 있습니다. 자세한 내용은 가용성 영역이란?을 참조하세요.
안전한 배포: Azure 광범위한 서비스 중단의 위험을 최소화하기 위해 플랫폼 업데이트 및 서비스 변경에 대해 제어되고 시차가 있는 배포 프로세스를 구현합니다. 플랫폼은 문제를 감지할 때 자동화된 롤백 기능을 사용하여 장애 도메인, 가용성 영역 및 지역 전체와 같은 업데이트를 점진적으로 롤아웃합니다. 이 접근 방식을 사용하면 플랫폼 변경으로 인해 고객 워크로드에 안정성 위험이 발생하지 않습니다.
Azure 이러한 플랫폼 수준 기반을 자동으로 제공합니다. 신뢰할 수 있는 워크로드를 빌드하는 기본 계층을 형성합니다. 그러나 여전히 서비스를 올바르게 구성하고 특정 비즈니스 요구 사항을 충족하는 방식으로 이러한 기능을 결합해야 합니다.
안정성을 지원하는 Azure 서비스
Azure 안정성 개념을 아키텍처의 실행 가능한 구성 요소로 변환하는 플랫폼 기능을 제공합니다. 이러한 기능은 복원력 있는 아키텍처를 사용하도록 설정하기 위해 함께 작동하며, 많은 Azure 서비스에는 다음 패턴의 기본 제공 구현이 포함됩니다.
| Capability | Description |
|---|---|
|
|
AI 기반 기능을 사용하여 안정성을 평가하고 개선합니다. 이러한 기능은 워크로드 패턴을 분석하고, 잠재적 위험을 식별하며, 팀이 사후 문제 해결에서 사전 안정성 관리로 이동하는 데 도움이 되는 권장 사항을 제공합니다. 이러한 기능은 안정성 신호를 표시하고 팀이 시간이 지남에 따라 안정성을 우선 순위 지정하고 개선하는 데 도움이 되는 실행 가능한 권장 사항으로 변환합니다. Azure 다음을 비롯한 여러 AI 기반 안정성 서비스를 제공합니다. - Azure 복원력 기능 - Azure Copilot 에이전트의 복원력 기능(미리 보기) - SRE 에이전트 Azure 이러한 서비스는 워크로드 패턴을 분석하고 전반적으로 안정성 상태를 최적화하기 위한 개선 사항을 제안합니다. |
|
|
중복 인스턴스 간에 트래픽을 라우팅하고 장애 조치(failover)를 자동으로 처리하여 안정성을 구현합니다. 이 기능은 개별 구성 요소가 실패할 때 서비스 가용성을 유지하는 데 필수적입니다. Azure 다음을 포함하여 여러 계층에서 부하 분산을 제공합니다. - 계층 4 TCP/UDP 트래픽 분포에 대한 Azure Load Balancer - 애플리케이션 인식 상태 검사를 사용하여 계층 7 HTTP 라우팅에 대한 Azure Application Gateway - 신속한 장애 조치(failover)를 사용하여 글로벌 HTTP 부하 분산을 위한 Azure Front Door - DNS 기반 전역 엔드포인트 배포를 위한 Azure Traffic Manager 시나리오에 사용할 부하 분산 장치를 결정하는 데 도움이 필요한 경우 부하 분산 옵션을 참조하세요. |
|
|
데이터 손실 및 손상으로부터 보호하고 문제가 발생한 후 복구할 수 있습니다. Azure 다음을 비롯한 여러 백업 및 복구 기능을 제공합니다. - 가상 머신, Blob 컨테이너, 파일 및 일부 데이터베이스에 대해 구성 가능한 보존을 사용하여 중앙 집중식 백업에 대한 Azure Backup - 대부분의 데이터베이스 서비스를 포함하여 많은 Azure 서비스의 네이티브 백업 및 복원 기능 - 구성 백업, 드리프트 보호 및 신속한 환경 재현을 위한 코드 도구로 Bicep 및 기타 인프라 각 Azure 서비스의 안정성 가이드를 검토하여 서비스에서 지원하는 백업 방법을 이해합니다. |
|
|
지역 간 데이터 복제 및 자동화된 장애 조치 기능을 통해 지역 오류로부터 복구할 수 있습니다. Azure Site Recovery 자동화된 복제 및 장애 조치 시퀀싱을 사용하여 가상 머신 워크로드에 대한 재해 복구를 오케스트레이션합니다. 또한 많은 Azure 서비스는 다음을 비롯한 기본 제공 지역 복제 기능을 제공합니다. - 네이티브 지역 간 데이터 복제 및 장애 조치(failover) 기능을 사용하여 Azure Cosmos DB - 네이티브 지역 간 장애 조치(failover) 기능을 사용하여 Azure API Management 서비스 안정성 가이드는 각 서비스에 사용할 수 있는 모든 지역 복제 옵션을 자세히 설명합니다. |
|
|
안정성 상태에 대한 포괄적인 가시성을 제공하고 문제에 대한 사전 대응을 지원합니다. Azure 다음을 비롯한 여러 관찰성 서비스를 제공합니다. - 실시간 모니터링, 경고 및 종속성 추적을 위한 Azure Monitor 및 Application Insights - 전체 워크로드의 상태를 모니터링하는 Azure Monitor 상태 모델 - 워크로드에 영향을 줄 수 있는 Azure 서비스 문제에 대한 개인 설정된 경고 및 지침에 대한 Azure Service Health 이러한 기능을 함께 사용하면 안정성 요구 사항을 충족하는지 여부를 이해하고 문제가 발생할 때 신속하게 대응할 수 있습니다. |
|
|
워크로드가 오류 조건에서 예상대로 작동하는지 확인하고 문제가 사용자에게 영향을 미치기 전에 솔루션이 안정성 요구 사항을 충족하는지 확인하는 데 도움이 됩니다. Azure 다음을 포함한 안정성 테스트 서비스를 제공합니다. - 실제 오류에 대한 자체 복구 동작 및 복원력의 유효성을 검사하는 제어된 오류 주입 실험에 대한 Azure Chaos Studio - 성능 및 기능 테스트를 위한 Azure 앱 테스트 스트레스가 있는 경우를 포함하여 애플리케이션의 작동 방식을 이해합니다. |
Azure 서비스에서 안정성 사용
이 플랫폼은 수십 개의 Azure 서비스를 통해 서비스 계층 안정성 기능을 제공하며, 각각 특정 강점과 사용 사례를 제공합니다. 각 서비스의 안정성 가이드는 다음과 같은 다양한 시나리오에서 서비스를 계속 사용할 수 있는 방법에 대한 세부 정보를 제공합니다.
- 일시적인 오류입니다. 일시적인 오류입니다. 서비스 가이드는 Microsoft 제공된 SDK 재시도 및 사용과 같이 영향을 최소화하기 위한 모범 사례에 대한 권장 사항을 제공합니다.
- 가용성 영역이 실패하므로 서비스에서 고가용성을 유지하기 위해 요청을 자동으로 리디렉션할 수 있습니다.
- 지역 전체 오류로 인해 서비스가 보조 지역으로 장애 조치(failover)되어 지역 중단 중에 계속 작동할 수 있습니다.
많은 Azure 서비스에 대한 안정성 가이드를 보려면 서비스별 안정성 가이드를 참조하세요.
신뢰할 수 있는 워크로드 디자인
안정성은 대상 정의, 실패 및 빠른 복구 설계, 가정 테스트 및 운영 학습을 통한 개선의 연속 주기에서 비롯됩니다. Azure Well-Architected Framework 및 서비스 안정성 가이드를 사용하여 각 서비스가 기본적으로 제공하는 내용과 명시적 구성이 필요한 사항을 이해합니다. 안정성을 구현하는 구조적 접근 방식은 Azure Well-Architected Framework 안정성 완성도 모델을 참조하세요.
디자인할 때 기본 개념을기술 개념과 연결합니다. 비즈니스 연속성 및 공동 책임과 같은 기본 개념은 달성해야 하는 결과를 정의합니다. 중복성, 복제, 백업, 장애 조치(failover) 및 장애 복구(failback)와 같은 기술 개념은 아키텍처 및 작업에서 이러한 결과를 구현하는 방법을 정의합니다. 서비스 수준 계약은 서비스 공급자로부터 받는 보장을 이해하는 데 도움이 됩니다.
주권 및 데이터 상주
안정성을 설계할 때 지역 선택, 복제 전략 및 장애 조치(failover) 경로에 영향을 미치기 때문에 주권 및 데이터 상주 요구 사항을 조기에 포함합니다. 장애 조치(failover) 또는 데이터 이동이 제한된 경계를 넘어선 경우에도 복원력 있는 아키텍처는 규정 준수 요구 사항을 충족하지 못할 수 있습니다. 자세한 내용은 안정성 및 주권을 참조하세요.
복원력 있는 플랫폼 기반과 신중한 워크로드 디자인 및 운영을 결합하여 Azure 안정성을 구현합니다. Azure 제공하는 항목과 디자인 및 구성 결정을 내려야 하는 위치를 이해하면 오류가 발생하더라도 비즈니스 기대치를 지속적으로 충족하는 시스템을 빌드할 수 있습니다.