고장 모드 분석 수행에 대한 권장 사항
이 Power Platform Well-Architected Reliability 체크리스트 권장 사항에 적용:
제목:03 | FMA(실패 모드 분석)를 사용하여 솔루션 구성 요소의 잠재적 오류를 식별하고 우선 순위를 지정합니다. FMA를 수행하면 각 실패 모드의 위험과 영향을 평가하는 데 도움이 됩니다. 워크로드가 어떻게 응답하고 복구하는지 결정합니다. |
---|
이 가이드에서는 워크로드에 대한 FMA(실패 모드 분석)를 수행하기 위한 모범 사례를 설명합니다. FMA는 워크로드 내의 잠재적인 장애 지점과 관련 흐름을 파악하고 그에 따라 완화 조치를 계획하는 관행입니다. 흐름의 각 단계에서 여러 오류 유형의 폭발 반경을 식별하면 새 워크로드를 설계하거나 기존 워크로드를 리팩터링하여 광범위한 오류 영향을 최소화하는 데 도움이 됩니다.
FMA의 핵심 원칙은 적용하는 복원력 레이어 수에 관계없이 오류가 발생한다는 것입니다. 환경이 복잡할수록 더 많은 유형의 오류에 노출됩니다. 이러한 현실을 고려하여 FMA를 사용하면 대부분의 오류 유형을 견디고 오류가 발생할 때 정상적으로 복구하도록 워크로드를 설계할 수 있습니다.
FMA를 완전히 건너뛰거나 불완전한 분석을 수행하는 경우 워크로드는 차선책 설계로 인해 예상치 못한 동작이 발생하고 가동 중단이 발생할 위험이 있습니다.
정의
용어 | 정의 |
---|---|
실패 모드 | 하나 이상의 워크로드 구성 요소의 성능이 저하되거나 사용할 수 없을 정도로 심각한 영향을 받을 수 있는 문제 유형입니다. |
완화 | 사전에 또는 사후에 문제를 해결하기 위해 식별한 활동입니다. |
검색 | 귀하의 데이터와 앱을 모니터링하고 경고하는 프로세스와 절차. |
주요 디자인 전략
FMA의 맥락에서는 전제 조건을 이해하는 것이 중요합니다. 흐름 식별을 위한 권장 사항을 검토 및 구현하고 중요도에 따라 우선 순위를 지정하는 것부터 시작하세요. 데이터 아티팩트는 이러한 흐름 내의 데이터 경로를 설명하는 데 중추적인 역할을 합니다. FMA 접근 방식을 자세히 살펴보면 중요한 흐름의 구성 요소 계획, 종속성(내부 및 외부 모두) 식별, 완화 전략 고안에 집중할 수 있습니다.
전제 조건
흐름 식별 및 평가에 대한 권장 사항을 검토하고 구현하세요. 중요도에 따라 사용자 및 시스템 흐름을 식별하고 우선순위를 지정했다고 가정합니다.
수집한 데이터와 작업에서 생성한 아티팩트는 흐름 전반에 걸쳐 관련된 데이터 경로에 대한 구체적인 설명을 제공합니다. FMA 작업을 성공적으로 수행하려면 아티팩트의 정확성과 철저함이 중요합니다.
FMA 접근법
중요한 흐름을 결정한 후에는 필요한 구성 요소를 계획할 수 있습니다. 다음으로, 각 흐름을 단계별로 따라 타사 서비스 및 잠재적인 실패 지점을 포함한 종속성을 식별하고 완화 전략을 계획하세요.
워크로드 분해
아이디어 구상에서 설계로 이동할 때 워크로드를 지원하는 데 필요한 구성 요소 유형을 식별해야 합니다. 워크로드에 따라 계획해야 하는 필수 구성 요소가 결정됩니다.
초기 아키텍처 디자인을 만든 후 흐름을 오버레이하여 해당 흐름에 사용되는 개별 구성 요소를 식별하고 흐름과 해당 구성 요소를 설명하는 목록 또는 워크플로 다이어그램을 만들 수 있습니다. 구성 요소의 중요도를 이해하려면 흐름에 할당한 중요도 정의를 사용하세요. 구성 요소 오작동이 흐름에 미치는 영향을 고려하세요.
종속성 식별
단일 실패 지점 분석을 수행하기 위해 워크로드 종속성을 식별합니다. 워크로드를 분해하고 흐름을 오버레이하면 워크로드 내부 및 외부 종속성에 대한 통찰력을 얻을 수 있습니다.
내부 종속성은 워크로드가 작동하는 데 필요한 워크로드 범위의 구성 요소입니다. 일반적인 내부 종속성에는 API 또는 Azure Key Vault와 같은 비밀/키 관리 솔루션이 포함됩니다. 이러한 종속성의 경우 가용성 서비스 수준 계약(SLA) 및 확장 제한과 같은 안정성 데이터를 캡처합니다. 외부 종속성은 다른 애플리케이션이나 타사 서비스와 같이 워크로드 범위 밖의 필수 구성 요소입니다. 일반적인 외부 종속성에는 Microsoft Entra ID 및 Power Platform 인프라와 같은 인증 솔루션이 포함됩니다.
워크로드의 종속성을 식별 및 문서화하고 이를 흐름 문서화 아티팩트에 포함합니다.
실패 포인트
워크로드의 중요한 흐름에서 각 구성 요소를 고려하고 해당 구성 요소와 해당 종속성이 오류 모드의 영향을 받을 수 있는 방법을 결정합니다. 복원력 및 복구를 계획할 때 고려해야 할 실패 모드가 많이 있다는 점을 기억하세요. 하나의 구성 요소는 언제든지 두 가지 이상의 오류 모드에 의해 영향을 받을 수 있습니다. 이러한 실패 모드에는 다음이 포함됩니다.
- 지역 중단: 전체 Power Platform 또는 Azure 지역을 사용할 수 없습니다
- 서비스 중단: 하나 이상의 Power Platform 또는 Azure 서비스를 사용할 수 없습니다
- 분산 서비스 거부(DDoS) 또는 기타 악의적인 공격
- 앱 또는 구성 요소 구성 오류
- 연산자 오류
- 계획된 유지 관리 중단
- 구성 요소 오버로드
각 유형의 고장 모드 가능성을 고려하세요. 다중 영역 또는 다중 지역 중단과 같은 일부 오류는 발생할 가능성이 매우 낮으며 중복성 이상의 완화 계획을 추가하는 것은 리소스와 시간을 잘 활용하지 못합니다.
완화
완화 전략은 탄력성을 높이는 것과 성능 저하를 고려한 설계라는 두 가지 광범위한 범주로 나뉩니다.
복원력을 강화한다는 것은 애플리케이션 설계가 내구성에 대한 모범 사례를 따르도록 하는 것을 의미합니다. 예를 들어 모놀리식 애플리케이션을 격리된 앱과 마이크로서비스로 분할하고 재시도 정책과 같은 플랫폼 제공 복원력 구성을 사용합니다. 자세한 내용은 중복성에 대한 권장 사항 및 자기 보존을 위한 권장 사항을 참조하세요.
성능 저하를 고려하여 설계하려면 흐름의 하나 이상의 구성 요소를 비활성화할 수 있지만 해당 흐름을 완전히 비활성화하지는 않는 잠재적 오류 지점을 식별합니다. 엔드투엔드 흐름의 기능을 유지하려면 하나 이상의 단계를 다른 구성 요소로 다시 라우팅하거나 실패한 구성 요소가 기능을 실행하여 사용자 환경에서 해당 기능을 더 이상 사용할 수 없다는 점을 수락해야 할 수 있습니다. 전자 상거래 애플리케이션 예로 돌아가면, 마이크로서비스와 같은 실패한 구성 요소로 인해 추천 엔진을 사용할 수 없게 될 수 있지만 고객은 계속해서 제품을 검색하고 거래를 완료할 수 있습니다.
또한 종속성과 관련된 완화를 계획해야 합니다. 강력한 종속성은 애플리케이션 기능 및 가용성에 중요한 역할을 합니다. 없거나 오작동이 발생하면 상당한 영향을 미칠 수 있습니다. 약한 종속성이 없으면 특정 기능에만 영향을 미칠 수 있으며 전체 가용성에는 영향을 미치지 않습니다. 이러한 구별은 서비스와 해당 종속성 간의 고가용성 관계를 유지하는 데 드는 비용을 반영합니다. 애플리케이션에 필수적인 구성 요소를 식별하는 데 도움이 되도록 종속성을 강함 또는 약함으로 분류합니다.
애플리케이션이 없이는 작동할 수 없는 강력한 종속성을 갖고 있는 경우 이러한 종속성의 가용성 및 복구 목표는 애플리케이션 자체의 목표와 일치해야 합니다. 애플리케이션 수명 주기가 종속성 수명 주기와 밀접하게 결합되어 있는 경우 특히 새 릴리스의 경우 애플리케이션의 운영 민첩성이 제한될 수 있습니다.
검색
분석에서 오류 지점을 올바르게 식별하고 완화 전략을 적절하게 계획하려면 오류 감지가 필수적입니다. 여기서 탐지란 인프라, 데이터, 애플리케이션을 모니터링하고 문제가 발생할 때 경고하는 것을 의미합니다. 탐지를 최대한 자동화하고 운영 프로세스에 중복성을 구축하여 항상 경고를 포착하고 비즈니스 요구 사항을 충족할 만큼 신속하게 대응할 수 있도록 하세요. 자세한 내용은 모니터링 권장 사항을 참조하세요.
결과
분석 결과를 얻으려면 결과, 흐름 구성 요소 및 완화와 관련하여 내린 결정, 실패가 워크로드에 미치는 영향을 효과적으로 전달하는 문서 세트를 만듭니다.
분석에서 심각도와 가능성을 기준으로 식별한 오류 모드와 완화 전략의 우선순위를 지정하세요. 이 우선순위를 사용하여 완화 전략을 설계하는 데 시간, 노력 및 리소스를 소비할 만큼 일반적이고 심각한 오류 모드에 대한 문서화의 초점을 맞추세요. 예를 들어, 발생 또는 감지가 매우 드물게 발생하는 일부 오류 모드가 있을 수 있습니다. 이를 중심으로 완화 전략을 설계하는 것은 비용을 들일 가치가 없습니다.
문서 시작 지점은 예제 표를 참조하세요.
초기 FMA 연습 중에 작성하는 문서는 대부분 이론적 계획입니다. FMA 문서는 정기적으로 검토하고 업데이트하여 작업량에 따라 최신 상태를 유지해야 합니다. 카오스 테스트와 실제 경험은 시간이 지남에 따라 분석을 개선하는 데 도움이 됩니다.
예
다음 표는 Microsoft Dataverse 백엔드 및 API가 APIM에 호스팅되어 타사 시스템과 상호 작용하는 Power Apps 캔버스 앱으로 호스팅되는 비용 애플리케이션의 FMA 예를 보여줍니다.
사용자 흐름: 사용자 로그인, 경비 청구서 제출 및 경비 보고서와의 상호 작용
구성 요소 | 위험 | 가능성 | 효과/완화/참고 | 중단 |
---|---|---|---|---|
Microsoft Entra ID | 서비스 중단 | 낮은 값 | 전체 워크로드가 중단되었습니다. Microsoft 수정 여부에 따라 다릅니다. | 전체 |
Microsoft Entra ID | 구성 오류 | 보통 | 사용자가 로그인할 수 없습니다. 다운스트림 효과가 없습니다. 헬프 데스크에서는 구성 문제를 ID 팀에 보고합니다. | None |
Power Apps | 서비스 중단 | 낮은 값 | 외부 사용자에 대한 전체 중단. Microsoft 수정 여부에 따라 다릅니다. | 전체 |
Power Apps | 지역 중단 | 매우 낮음 | 외부 사용자에 대한 전체 중단. Microsoft 수정 여부에 따라 다릅니다. | 전체 |
Power Apps | DDoS 공격 | 보통 | 중단 가능성. Microsoft DDoS(L3 및 L4) 보호를 관리합니다. | 부분적인 가동 중단 가능성 |
Dataverse | 서비스 중단 | 낮은 값 | 전체 워크로드가 중단되었습니다. Microsoft 수정 여부에 따라 다릅니다. | 전체 |
Dataverse | 지역 중단 | 매우 낮음 | 자동 장애 조치(failover) 그룹은 보조 지역으로 장애 조치됩니다. 장애 조치(failover) 중에 가동 중단이 발생할 수 있습니다. RTO(복구 시간 목표) 및 RPO(복구 지점 목표)는 안정성 테스트 중에 결정됩니다. | 잠재적 풀 |
Dataverse | 악의적인 공격(삽입) | 보통 | 최소한의 위험. | 잠재적 위험도가 낮음 |
API 관리 | 서비스 중단 | 낮은 값 | 외부 사용자에 대한 전체 중단. Microsoft 수정 여부에 따라 다릅니다. | 전체 |
API 관리 | 지역 중단 | 매우 낮음 | 외부 사용자에 대한 전체 중단. Microsoft 수정 여부에 따라 다릅니다. | 전체 |
API 관리 | DDoS 공격 | 보통 | 중단 가능성. Microsoft DDoS(L3 및 L4) 보호를 관리합니다. | 부분적인 가동 중단 가능성 |
Power Platform 솔루션 | 구성 오류 | 보통 | 잘못된 구성은 배포 중에 발견되어야 합니다. 구성 업데이트 중에 이러한 일이 발생하면 관리자는 변경 사항을 롤백해야 합니다. 구성 업데이트로 인해 잠시 외부 중단이 발생합니다. | 전체 가동 중단 가능성 |
Power Platform 간편 사용
Power Platform은 Application Insights와 통합되며, 이는 Azure Monitor 에코시스템의 일부입니다. 이 통합을 사용하여 할 수 있는 작업:
Dataverse 데이터베이스 및 모델 기반 앱 내에서 애플리케이션이 수행하는 진단, 성능 및 작업에 대해 Application Insights의 Dataverse 플랫폼이 캡처한 원격 측정을 구독하세요. 이 원격 분석은 오류 및 성능과 관련된 문제를 진단하고 해결하는 데 사용할 수 있는 정보를 제공합니다.
캔버스 앱을 Application Insights에 연결하여 이러한 분석을 사용하여 문제를 진단하고, 사용자가 실제로 앱에 무엇을 하는지 파악하고, 비즈니스 결정을 개선하고, 앱의 품질을 개선할 수 있습니다.
Application Insights로 흐르도록 Power Automate 원격 분석을 구성합니다. 이 원격 분석을 사용하여 클라우드 흐름 실행을 모니터링하고 클라우드 흐름 실행 실패에 대한 경고를 생성할 수 있습니다.
원격 측정 데이터를 캡처합니다. Microsoft Copilot Studio 부조종사 Azure에서 사용하기 위해 Application Insights. 이 원격 측정을 사용하면 조종사와 주고받는 기록된 메시지 및 이벤트, 사용자 대화 중에 트리거되는 토픽, 토픽에서 보낼 수 있는 사용자 정의 원격 측정 이벤트를 모니터링할 수 있습니다.
Power Platform Microsoft Purview 규정 준수 포털에서 리소스 로그 활동을 확인하세요. 대부분의 이벤트는 활동 후 24시간 이내에 이용 가능합니다. 실시간 모니터링에는 이 정보를 사용하지 마세요. Power Platform의 활동 로깅에 대한 자세한 내용은 다음을 참조하세요.
- Power Apps
- Power Automate
- Copilot Studio
- Power Pages
- Power Platform 커넥터
- 데이터 손실 방지
- Power Platform 관리 로그
- Dataverse 감사
안정성 체크리스트
전체 권장 사항 세트를 참조하세요.