절충 및 위험 이해 - AWS 권장 가이드

절충 및 위험 이해

복원력 있는 아키텍처는 잘 테스트되고 간단하며 신뢰할 수 있는 몇 가지 메커니즘을 사용하여 장애에 대응해야 합니다. 가장 높은 수준의 복원력을 달성하려면 워크로드가 가능한 한 많은 장애 모드를 자동으로 감지하고 장애를 복구해야 합니다. 이렇게 하려면 복원력 분석을 수행하는 데 광범위한 투자가 필요합니다. 즉, 더 높은 수준의 복원력을 달성하려면 절충이 필요합니다. 그러나 절충을 계속함에 따라 복원력 목표에 비해 수익이 감소하는 지점에 도달합니다. 다음은 가장 일반적인 절충 조건입니다.

  • 비용 - 중복 구성 요소, 향상된 관찰성, 추가 도구 또는 리소스 사용률 증가로 인해 비용이 증가합니다.

  • 시스템 복잡성 - 완화 솔루션을 포함하여 장애 모드를 감지하고 이에 대응하며 관리형 서비스를 사용하지 않을 경우 시스템 복잡성이 증가합니다.

  • 엔지니어링 작업 - 장애 모드를 감지하고 이에 대응하는 솔루션을 빌드하려면 추가적인 개발자 시간이 필요합니다.

  • 운영 오버헤드 - 더 많은 장애 모드를 처리하는 시스템을 모니터링하고 운영하면 특히 관리형 서비스를 사용하여 특정 장애 모드를 완화할 수 없는 경우 운영 오버헤드가 증가할 수 있습니다.

  • 지연 시간 및 일관성 - 가용성을 우선하는 분산 시스템을 빌드하려면 PACELC 이론에 설명된 대로 일관성과 지연 시간이 절충되어야 합니다.

수익 감소 지점에 도달한 경우 수행되는 절충에 따라 복원력 목표를 달성할 확률

사용자 스토리에서 식별된 장애 모드에 대한 완화 조치를 고려할 때 수행해야 할 절충을 고려합니다. 보안과 마찬가지로 복원력은 최적화 문제입니다. 식별된 장애로 인한 위험을 방지, 완화, 이전 또는 허용할지 결정해야 합니다. 피할 수 있는 몇 가지 장애 모드, 허용할 수 있는 장애, 전송할 수 있는 몇 가지 장애가 있을 수 있습니다. 식별한 여러 장애 모드를 완화하도록 선택할 수 있습니다. 어떤 접근 방식을 취할지 결정하려면 다음 두 가지 질문을 하여 평가를 수행합니다. 실패가 발생할 가능성은 얼마나 되나요? 이 경우 워크로드에 미치는 영향은 무엇인가요?

가능성이란 이벤트가 발생할 확률입니다. 예를 들어 사용자 스토리에 단일 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에서 작동하는 구성 요소가 있는 경우 시스템 작동 중 패치 절차 또는 운영 체제 오류로 인해 구성 요소가 중단될 수 있습니다. 또는 기본 인스턴스와 보조 인스턴스 간에 데이터를 동기화하는 Amazon Relational Database Service(Amazon RDS)에서 관리하는 데이터베이스는 완전히 사용할 수 없게 될 가능성도 있습니다(그럴 가능성은 낮음).

영향은 이벤트로 인해 발생할 수 있는 피해의 추정치입니다. 재무 및 평판 관점에서 평가해야 하며, 이는 영향을 미치는 사용자 스토리의 가치에 관련됩니다. 예를 들어 데이터베이스가 압도되면 전자 상거래 시스템의 새 주문 수락 기능에 상당한 영향을 미칠 수 있습니다. 그러나 로드 밸런서 이면의 인스턴스 20개 플릿에서 단일 인스턴스가 손실될 경우 거의 영향을 미치지 않을 수 있습니다.

이러한 질문에 대한 답변은 위험을 완화하기 위해 해야 하는 절충 비용과 비교할 수 있습니다. 위험 임계치와 복원력 목표 관점에서 이 정보를 고려하면 적극적으로 완화하려는 장애 모드에 대한 의사 결정을 도움을 줍니다.