안정성

완료됨

의료 기관에 대해 임상 시스템을 실행한다고 가정해 보겠습니다. 임상의 및 의료 담당자는 가동 중지 시간을 거의 허용하지 않습니다. 최고 품질의 의료 서비스를 항상 제공할 수 있도록 24시간 내내 임상 IT 시스템에 액세스할 수 있어야 합니다.

임상의의 요구 사항을 24시간 내내 충족하기 위해 애플리케이션은 사용자에게 미치는 영향을 최소화하면서 오류를 처리할 수 있어야 합니다. 해당 애플리케이션이 지역화된 인시던트 및 대규모 재해 모두에 작동을 유지하도록 보장하는 방법은 무엇인가요?

이 단원에서는 아키텍처 설계에 안정성 핵심 요소를 포함하는 방법을 알아봅니다.

안정성이란 무엇인가요?

복잡한 애플리케이션의 많은 작업은 규모에 관계 없이 잘못될 수 있습니다. 개별 서버 및 하드 드라이브가 실패할 수 있습니다. 배포 문제로 인해 데이터베이스의 모든 테이블이 의도치 않게 삭제될 수 있습니다. 전체 데이터 센터에 연결할 수 없을 수 있습니다. 랜섬웨어 인시던트는 모든 데이터를 악의적으로 암호화할 수 있습니다. 애플리케이션이 신뢰할 수 있는 기능을 제공하고 지역적인 인시던트 및 광범위한 영향을 미치는 인시던트를 처리할 수 있도록 하는 것이 중요합니다.

안정성을 위한 설계는 부분 네트워크 중단 같은 소규모 인시던트 및 임시 조건을 통해 작동 시간을 유지하는 데 중점을 둡니다. 각 구성요소에 고가용성을 통합하여 애플리케이션에서 지역화된 실패를 처리하도록 할 수 있습니다. 이 애플리케이션 디자인은 단일 실패 지점을 제거합니다. 이러한 설계는 또한 인프라 유지 관리의 영향을 최소화합니다. 고가용성 설계는 일반적으로 인시던트의 영향을 신속하게 자동으로 제거하는 것을 목표로 하며 거의 영향을 주지 않고 시스템이 계속 요청을 처리할 수 있도록 보장합니다.

또한 안정성을 위한 설계는 데이터 손실 및 대규모 재해 복구에 중점을 둡니다. 이러한 유형의 인시던트를 복구하려면 적극적 개입이 필요한 경우가 많지만 자동화된 복구 단계를 통해 복구에 소요되는 시간을 줄일 수 있습니다. 이러한 유형의 인시던트 발생 시 가동이 일정 기간 동안 중지되거나 데이터가 영구적으로 손실될 수 있습니다. 재해 복구에는 실행 못지않게 신중한 계획이 중요합니다.

아키텍처 설계에 고가용성 및 복구 기능을 포함시키면 사업을 가동 중지 시간 및 손실된 데이터로 인한 재정적 손실에서 보호해 줍니다. 또한 고객의 신뢰 상실로 인한 평판 손실로부터 비즈니스를 보호합니다.

안정성을 위한 아키텍처는 애플리케이션이 고객에게 한 약속을 충족할 수 있도록 지원합니다. 최종 사용자에게 시스템을 제공하고 시스템이 모든 오류로부터 복구될 수 있도록 하고자 합니다.

고가용성 아키텍처 빌드

가용성의 경우에는 커밋하고 있는 SLA(서비스 수준 약정)를 식별합니다. SLA 관련 애플리케이션의 잠재적인 고가용성 기능을 검사하고 적절한 검사 유무와 개선 필요성 여부를 식별합니다. 아키텍처의 구성 요소에 중복성을 추가하는 것이 목표이므로 중단이 발생할 가능성이 별로 없습니다.

고가용성 설계 구성 요소의 예로는 클러스터링 및 부하 분산이 있습니다.

  • 클러스터링은 단일 VM을 조정된 VM 집합으로 바꿉니다. 하나의 VM이 실패하거나 연결될 수 없는 경우 서비스는 요청을 처리할 수 있는 다른 VM을 장애 조치(failover)할 수 있습니다.

  • 부하 분산은 서비스의 많은 인스턴스에 요청을 분산하면서 실패한 인스턴스를 검색하고 해당 인스턴스로 요청이 라우팅되지 않도록 방지합니다.

오류를 복구할 수 있는 아키텍처 빌드

복구 기능의 경우 가능한 데이터 손실 및 주요 가동 중지 시간 시나리오를 검사하는 분석을 수행해야 합니다. 분석에는 복구 전략에 대한 탐색 및 각 전략에 대한 비용과 편익 간 균형 유지가 포함되어야 합니다. 이 연습에서는 조직의 우선 순위에 대한 중요한 인사이트를 제공하여 애플리케이션의 역할을 명확하게 합니다. 분석 결과에는 애플리케이션에 대한 다음 기간 값이 포함되어야 합니다.

  • 복구 지점 목표(RPO): 허용 가능한 데이터 손실의 최대 기간입니다. RPO는 볼륨 단위가 아닌 시간 단위로 측정됩니다. "30분 동안의 데이터", "4시간 동안의 데이터" 같은 식입니다. RPO는 데이터 도난이 아닌 데이터 손실의 제한 및 복구에 관한 것입니다.

  • 복구 시간 목표(RTO): 허용되는 최대 가동 중지 시간으로, "가동 중지 시간"은 사양에 따라 정의됩니다. 예를 들어 재해 발생 시 허용되는 가동 중지 시간이 8시간이면 RTO는 8시간입니다.

RPO 및 RTO를 정의했으면 이러한 목표를 달성하기 위해 아키텍처에 백업, 복원, 복제 및 복구 기능을 설계할 수 있습니다.

모든 클라우드 공급자는 애플리케이션의 가용성 및 복구 기능을 개선하는 데 사용할 수 있는 서비스 및 기능 모음을 제공합니다. 가능하면 기본 서비스 및 모범 사례를 사용하고 직접 만들어 사용하지 마세요.

하드 드라이브 장애 발생, 데이터 센터 연결 불가, 해커 공격 가능성 등 여러 문제가 발생할 수 있습니다. 가용성 및 복구 기능을 사용하여 고객과 좋은 평판을 유지 관리하는 것이 좋습니다. 가용성은 네트워크 중단 등의 조건을 통한 가동 시간의 유지 관리에 중점을 두며, 복구 기능은 재해 발생 후 데이터 검색에 중점을 둡니다.

지식 점검

1.

고객에게 우수한 SLA(서비스 수준 약정)을 제공하기 위해 시스템의 가용성을 향상하려고 한다고 가정해 보겠습니다. 다음 중 사용할 수 있는 기본 원칙은 무엇인가요?

2.

다음 중 정의된 RPO(복구 지점 목표)의 영향을 받는 것은 무엇인가요?