복원력에 대한 엔지니어링 이해

완료됨

Microsoft는 복원력을 "정상적인 운영에 대한 오류와 과제에 직면하여 고객의 기대를 충족하는 비즈니스 프로세스 또는 서비스의 기능"으로 정의합니다. Microsoft Online Services의 규모에서 복원력은 온라인 서비스의 가용성을 유지하는 데 매우 중요합니다. Microsoft는 다음과 같은 사실을 알고 있기 때문에 복원될 수 있는 서비스를 빌드합니다.

  • 하드웨어가 실패합니다. 하드 드라이브의 MTFB(평균 무고장 시간)가 100,000시간이라고 가정합니다. 단일 하드 드라이브의 경우에는 11.5년마다 하나의 관리할 수 있는 오류가 발생하는 것 같습니다. 그러나 10,000,000개의 하드 드라이브가 있다면 약 30초마다 한 번씩 오류가 발생하게 됩니다. 일반적인 하드웨어 구성 요소의 오류에 대한 복원은 온라인 서비스를 설계하고 빌드하는 방법의 주요 기능입니다.
  • 인간은 실수를 합니다. 일반적인 IT 구현에 종사하는 사람이 100개의 서버 시스템에서 하루에 100개의 작업을 수행한다고 가정합니다. 99%의 정확도에서도 여전히 하루에 한 번의 실수는 발생하게 됩니다. 250,000개 서버로 확장한다면 이는 곧 하루에 2500개의 실수가 발생하는 것입니다.
  • 소프트웨어에 버그가 있습니다. 서비스를 최신 상태로 유지하려면 소프트웨어 업데이트를 지속적으로 배포해야 합니다. 복원 서비스는 소프트웨어의 새로운 버그와 이전에 발견되지 않은 버그로부터 스스로를 보호해야 합니다.

Microsoft는 Microsoft의 하이퍼스케일 클라우드와 서비스 자동화를 사용하여 여러 오류 모드에 대해 서비스를 복원할 수 있도록 지원함으로써 이러한 문제에 대응합니다.

복원 원칙을 위한 엔지니어링의 그래픽 표현 - 활성/활성 서비스 디자인, 결함 격리, 블라스트 반경 감소, 지속적인 개선

활성/활성 서비스 디자인

가능한 한, 활성/활성 복원력으로 서비스를 디자인하고 배포합니다. 이는 서비스의 중요한 구성 요소가 실패할 경우 가용성 손실 없이도 동일한 구성 요소를 인수할 수 있음을 의미합니다. 활성/활성 배포는 활성 구성 요소가 실패한 경우 수동 구성 요소가 워크로드를 처리하는 데 시간이 걸려 서비스 가용성 및 데이터 무결성이 일시적으로 중단되는 이전 활성/수동 모델을 대체합니다. 활성/활성 서비스 디자인은 다른 배포 모델에 비해 크게 향상되었으며 다양한 종류의 서비스 오류에 대해 복원을 제공합니다.

결함 격리

결함 격리는 한 구성 요소의 결함으로 인해 다른 구성 요소가 실패하는 것을 방지하여 서비스 복원을 높입니다. 결함 격리는 구성 요소 오류로부터 자동 복구에 필요한 범위를 줄여 활성/활성 서비스 디자인을 보완합니다. Microsoft는 오류가 다른 시스템 구성 요소에 확산되고 영향을 주지 않도록 클라우드 서비스의 장애 영역 크기를 줄이기 위해 지속적으로 노력하고 있습니다.

결함 격리에 사용하는 몇 가지 전략은 다음과 같습니다.

  • 서비스 구성 요소 내 및 서비스 구성 요소 간의 세분화된 결함 제어: 예를 들어 Exchange Online 데이터베이스 가용성 그룹은 서비스 내 오류의 영향을 특정 가용성 그룹으로 제한합니다.
  • 서비스 가용성을 위한 다중 프로토콜 관리: 예를 들어 SharePoint Online을 통한 파일 액세스 가능성으로 인해 Teams의 파일에 액세스하는 데 영향을 주는 인시던트를 완화할 수 있습니다.
  • 지역화 및 세분화된 시스템 디자인: Microsoft 서비스 디자인은 논리적 및 물리적 서비스 인프라를 더 작은 단위로 분리합니다. 이를 통해 소규모 및 대규모 서비스의 관리 유연성을 사용하여 범위에 따라 적절하게 인시던트에 대응할 수 있습니다.
  • 부하 분산 및 제한: Microsoft 서비스는 일반 서비스 작업의 일부로 시스템 구성 요소 간의 트래픽과 데이터 순서를 정기적으로 섞습니다. 필수가 아닌 서비스 쪽 트래픽은 전자 메일 배달과 같은 중요한 트래픽을 위해 제한됩니다. 이렇게 하면 구성 요소 오류나 서비스 인시던트 발생 시 시스템에서 중요한 서비스의 우선 순위를 자동으로 지정할 수 있습니다.

감소된 블라스트 반경

오류 격리와 밀접한 관련이 있는 것은 인시던트의 "폭발 반경"의 개념입니다. 인시던트가 발생하면 폭발 반경은 인시던트가 온라인 서비스에 미치는 영향을 광범위하게 나타냅니다. Microsoft는 잠재적 인시던트의 블라스트 반경을 줄이기 위해 지속적으로 노력하고 있습니다. 인시던트 대응 사후 분석에서 허용할 수 없는 블라스트 반경이 있는 인시던트 유형을 발견하는 경우, 향후 유사한 인시던트의 영향을 줄이도록 설계된 서비스 업데이트에 투자하여 대응합니다.

지속적인 개선

인시던트 발생 시 인시던트 대응 프로세스를 통해 각 인시던트가 해결될 수 있도록 관리됩니다. Microsoft는 표준화된 메트릭을 사용하여 인시던트가 서비스 가용성 및 성능에 미치는 영향을 추적합니다. 고객에게 중대한 영향을 미치는 인시던트에는 인시던트 사후 검토가 적용됩니다. 인시던트 사후 검토로 인한 주요 조사 결과 및 완화 사항은 영향을 받는 고객이 볼 수 있도록 서비스 상태 대시보드에 게시됩니다.

인시던트 사후 검토는 향후 유사한 문제를 방지하거나 문제의 범위를 제한할 수 있는 복원력 향상을 식별하는 데 도움이 됩니다. 인시던트 진행 중 얻은 개선 사항이 서비스 팀 전반에 공유되므로 각 팀은 유사한 인시던트를 직접 경험하지 않고도 개선 사항을 구현할 수 있습니다.

자세한 정보