면책 공고는 일반적인 제품 방향을 소개하기 위한 것입니다. 정보 제공 목적으로만 사용되며 어떠한 계약에도 포함되지 않을 수 있습니다. 자료, 코드 또는 기능을 제공하겠다는 약속이 아니며 구매 결정 시 이 문서에 의존해서는 안됩니다. Oracle은 단독 재량으로, Oracle 제품의 기능 개발, 출시 및 그 시기와 가격을 결정 및 변경할 수 있습니다.
이 FAQ는 Oracle이 핵심 인프라 서비스 및 호스팅 플랫폼의 복원성과 지속적인 가용성을 달성하는 방법에 대한 일반적인 질문과 답변입니다. Oracle Cloud 고객은 다음과 같은 이유로 이러한 답변에 관심이 있을 수 있습니다.
아니요. 구분하지 않습니다. 대신, Oracle은 종속성 수준, 가용성 범위, 데이터 평면 vs 제어 평면을 기준으로 서비스를 분류합니다. 이 범주는 가용성, 지속성, 성능 및 편리성 사이에서 다양하고 유용한 절충 효과를 제공하도록 설계되었습니다.
종속성 수준
종속성 블록 다이어그램에서는 이러한 수준을 레이어 또는 계층으로 간주할 수 있습니다. 각 레이어는 아래에 나열된 레이어에만 종속될 수 있습니다.
아래에서부터 위로:
가용성 범위
서비스 가용성 및 내구성 목표를 달성하기 위해, 각 서비스에 대해 다음 가용성 범위 중 하나가 선택됩니다:
제어 평면 vs 데이터 평면
서비스의 데이터 평면은 애플리케이션에서 사용될 서비스의 기능을 구현하는 데이터 처리 인터페이스 및 구성요소의 모음입니다. 예를 들어 가상 클라우드 네트워크(VCN) 데이터 평면에는 네트워크 패킷 처리 시스템, 가상화된 라우터 및 게이트웨이가 포함되며 블록 볼륨 데이터 평면에는 볼륨 데이터에 대한 iSCSI 프로토콜 구현과 복제된 내결함성 스토리지 시스템이 포함됩니다.
서비스의 제어 평면은 다음 작업을 담당하는 API 및 구성요소의 집합입니다:
모든 유형의 서비스에 회복 탄력성과 가용성을 제공하기 위해 Oracle은 동일한 엔지니어링 원칙을 적용합니다. 내결함성이 있고 확장 가능한 분산 시스템을 구축하기 위한 근본적인 엔지니어링 과제는 모든 유형의 서비스에 동일하기 때문입니다.
회복 탄력성과 지속적 가용성을 달성하려면 클라우드 규모 시스템에서 성능 저하, 처리되지 않은 오류와 같은 사용 불가 문제의 원인을 모두 파악하고 처리해야 합니다. 그 사유는 수도 없이 많기 때문에, Oracle은 이들을 근본적 특성에 따라 범주로 분류합니다
기존에는 엔터프라이즈 IT 시스템에 대한 가용성 분석은 하드웨어 장애 범주에 중점을 두었습니다. 그러나 클라우드 시스템의 경우 하드웨어 실패는 비교적 사소하고, 잘 파악된 문제입니다. 이제 대부분의 단일 하드웨어 장애 지점은 쉽게 피하거나 완화할 수 있습니다. 예를 들어 랙에 이중 전원 공급 장치와 그에 연결된 전원 분산 장치를 두는 방법도 있으며, 여러 구성요소는 핫 스왑 가능합니다. 자연 재해 등으로 인해 상당한 규모의 하드웨어 장애와 손실이 발생할 수 있습니다. 그러나 Oracle의 경험과 다른 클라우드 공급업체의 사후 퍼블릭 보고서에 따르면 전체 데이터 센터의 장애나 손실은 다른 비가용성 원인에 비해 매우 드뭅니다. 대규모 하드웨어 장애도 물론 처리해야 하지만(예: 재해 복구 및 기타 매커니즘을 통해) 만연한 가용성 문제와는 거리가 멉니다.
클라우드 규모 시스템 관련 사용 불가의 주요 원인은 다음과 같습니다:
이러한 당면 과제는 클라우드 규모 분산 시스템의 '물리학 법칙'을 따르는 보편적인 과제입니다.
앞의 각 범주에 대해 Oracle은 검증된 엔지니어링 전략을 사용하여 문제를 처리합니다. 그 중 가장 중요한 것은 다음과 같습니다:
아키텍처 및 시스템 설계 원칙
다양한 원칙이 있지만 회복 탄력성 및 가용성과 가장 크게 관련된 항목을 중점적으로 다루겠습니다.
복구 지향 컴퓨팅
상대적으로 국지적인 영향을 미치는 운영자 실수와 소프트웨어 버그를 처리하기 위해 Oracle은 복구 지향 컴퓨팅1 원칙을 따릅니다. 간단히 말해, 문제가 발생하지 않으리라고 보장하기보다는(테스트 불가능) 테스트 가능한 방식으로 드러나지 않게 문제를 처리하는 데 초점을 맞추고 있다는 뜻입니다. Oracle은 특히 문제의 평균 포착 시간, 평균 진단 시간, 평균 완화 시간을 한데 합친 개념인 평균 복구 시간(Mean Time to Recovery, MTTR)을 최소화하는 데 중점을 두고 있습니다.
당사의 목표는 사용자들이 발생한 문제로 인한 불편을 채 겪기도 전에 빠르 문제를 해결하는 것입니다. 다음과 같은 특징은 이러한 목표를 달성하는 데 도움이 됩니다:
문제의 영향 최소화
광범위한 영향을 미칠 수 있는 오류와 버그를 처리하기 위해 모든 문제의 '폭발 반경'을 최소화하는 매커니즘을 구성합니다. 즉, 특히 까다로운 멀티테넌트 '노이지 네이버' 문제, 오버로드, 용량 감소, 분산 스래시 등 문제의 영향을 받는 고객, 시스템 또는 리소스의 수를 최소화하는 데 집중한다는 뜻입니다. 다양한 격리 경계 및 변경 관리 관행을 사용하여 이 목표를 달성합니다(다음 섹션 참고).
설계 원칙에서 비롯되는 아키텍처 개념
다양한 개념이 있지만, 폭발 반경의 제한 개념을 중점적으로 다루겠습니다.
Oracle의 퍼블릭 API에 명시된 배포 개념: 리전, 가용성 도메인 및 결함 도메인
결함 도메인은 비교적 새로운 개념이기 때문에 좀 더 자세히 다루겠습니다.
결함 도메인은 시스템이 실제로 변경 중일 때 발생하는 문제(예: 배포, 패치, 하이퍼바이저 재시작, 물리적 유지보수)의 폭발 반경을 제한하는 데 사용됩니다.
이로 인해 주어진 가용성 도메인 내의 최대 하나의 결함 도메인에 포함된 리소스가 언제든 변경될 수 있습니다. 변경 프로세스에 문제가 발생하면 해당 결함 도메인의 일부 또는 모든 리소스를 잠시 동안 사용하지 못할 수 있지만 가용성 도메인의 다른 결함 도메인은 영향을 받지 않습니다. 단일 가용성 도메인 내에서 높은 가용성으로 쿼럼 기반 복제 시스템(예: Oracle Data Guard)이 호스트될 수 있도록, 각 가용성 도메인에는 최소 3개의 결함 도메인이 포함됩니다.
결과적으로 소프트웨어 버그, 구성 오류, 운영자 실수, 변경 절차 중에 발생하는 성능 문제 등 흔히 발생하는 가용성 문제의 범주에 대해 각 결함 도메인은 가용성 도메인 내에서 별도의 논리적 데이터 센터로 작동합니다.
결함 도메인은 몇 가지 국지적인 하드웨어 장애도 방지합니다. 결함 도메인의 속성상, 서로 다른 결함 도메인에 배포된 리소스는 해당 가용성 도메인 내에서 발생할 수 있는 단일 하드웨어 장애 지점을 공유하지 않도록 최대한 보장합니다. 예를 들어, 서로 다른 결함 도메인의 리소스는 동일한 TOR(Top-of-rack) 네트워크 스위치를 공유하지 않습니다. 스위치의 표준 설계에 중복성이 없기 때문입니다.
그러나 결함 도메인이 하드웨어 또는 물리적 환경의 문제를 방지하는 기능은 로컬 수준에서 중지됩니다. 가용성 도메인 및 영역과 반대로 결함 도메인은 인프라의 대규모 물리적 격리를 제공하지 않습니다. 드문 경우지만 자연 재해 또는 가용성 도메인 전체 인프라 오류가 발생하면 여러 결함 도메인의 리소스가 동시에 영향을 받을 수 있습니다.
Oracle 내부 서비스는 고객이 사용하는 것과 동일한 방식으로 결함 도메인을 사용합니다. 예를 들어 블록 볼륨, 오브젝트 스토리지, 파일 스토리지 서비스는 3개의 개별 결함 도메인에 데이터 복제본을 저장합니다. 모든 제어 평면 및 데이터 평면의 모든 구성 요소는 3개 결함 도메인(또는 다중 가용성 도메인 영역, 여러 가용성 도메인)에서 호스팅됩니다.
서비스 셀
서비스 셀은 시스템이 실제로 변경되지 않는 경우에도 발생하는 문제의 폭발 반경을 제한하는 데 사용됩니다. 다중 테넌트 클라우드 시스템의 워크로드가 언제든 극단적인 방식으로 변경될 수 있고, 대규모 분산 시스템에서 언제든 복잡한 대규모 부분 실패가 발생할 수 있기 때문에 이러한 문제가 발생할 수 있습니다. 이러한 시나리오는 미묘한 숨겨진 버그 또는 새로운 성능 문제를 유발할 수 있습니다.
또한 서비스 셀은 시스템이 활발하게 변경될 때 드물지만 까다로운 일부 시나리오에서 폭발 반경을 제한합니다. 대표적인 예로, 개별 결함 도메인에 대한 배포가 성공적인 것처럼 보이는 경우에도(오류 또는 성능 변화 없음) 두 번째 또는 마지막 결함 도메인이 업데이트되는 즉시(운영 워크로드를 지원하는 전체 클라우드 규모) 시스템 내부의 새로운 상호작용이 성능 문제를 야기할 수 있습니다.
서비스 셀은 Oracle Cloud API 또는 SDK에서 명시적으로 명명된 개념이 아니라 아키텍처 패턴입니다. 모든 멀티테넌트 시스템은 이 아키텍처 패턴을 사용할 수 있으며, 클라우드 플랫폼의 특별한 지원이 필요하지 않습니다.
서비스 셀은 다음과 같은 방식으로 작동합니다:
결과적으로 각 서비스 셀은 단일 가용성 도메인 또는 영역 내에서 또 하나의 '논리적 데이터 센터', 즉 성능 격리 및 결함 격리의 논리적 그룹입니다.
요컨대 서비스 셀과 결함 도메인은 다음과 같은 방식으로 상호 보완합니다:
Oracle은 결함 도메인 및 서비스 셀의 속성을 단일화된 전략으로 결합하여 배포 및 패치를 수행합니다.
서비스 엔지니어링 절차
테스트 및 운영 탁월성은 모두 클라우드 시스템의 안정성에 중요하기 때문에 여러 엔지니어링 절차가 필요합니다. 다음은 앞 섹션에서 언급한 개념을 활용하는 보다 중요한 항목들입니다:
네. 각 리전에서 모든 가용성 도메인은 동일한 서비스 집합을 제공합니다.
단일 가용성 도메인 리전에서 고객은 결함 도메인(그룹 간 장애 모드를 비상관화한 논리적 그룹)을 사용하여 개별 '논리적 데이터 센터'의 속성을 대부분 획득할 수 있습니다. 고객은 재해 복구(DR)를 위해 여러 리전을 사용할 수도 있습니다.
다중 가용성 도메인 리전에서도 고객은 동일한 방식으로 결함 도메인을 사용할 수 있습니다. 또한 고객은 가용성 도메인 로컬 서비스, 가용성 도메인 간 복구 기능(예: Data Guard와 DBaaS) 및 리전 서비스(오브젝트 스토리지, 스트리밍)를 결합하여 상위 수준 '논리적 데이터 센터'(가용성 도메인)에 걸쳐 완전한 HA를 달성할 수도 있습니다. 마지막으로, 고객은 DR을 위해 여러 리전을 사용할 수도 있습니다.
모든 경우 고객은 서비스 셀이라는 개념을 사용하여 분산 스래시와 같은 가장 심각한 문제조차도 더 효과적으로 격리할 수 있습니다.
Oracle은 결함 도메인, 서비스 셀, 그리고 단계별 배포 및 검증을 위한 운영 절차를 통해 이를 달성합니다. 본 문서의 앞부분을 참고하세요.
네. 복원성 및 지속적인 가용성을 보장하기 위해 결함 격리 및 성능 격리를 구분한 별도 논리적 그룹인 여러 논리적 데이터 센터에 모든 범주 서비스가 배포됩니다.
Oracle은 단일 가용성 도메인 영역에서 '다중 논리적 데이터 센터'의 매커니즘으로 결함 도메인을 제공합니다. 자세한 내용은 본 문서의 다른 부분에서 확인할 수 있습니다.
다중 가용성 도메인 영역에서 동기적으로 복제된 데이터의 물리적 내구성을 더욱 높여주는 서비스 및 기능을 제공합니다(리전의 가용성 도메인 간 거리와 빛의 속도 덕분에 적당한 성능과 비용 가능).
여러 리전에 걸친 자동 HA 또는 페일오버 매커니즘을 제공하지 않습니다. 리전 간에 긴밀한 결합 관계가 생성되고 여러 리전에서 동시에 문제가 발생할 위험이 있기 때문입니다. 그 대신, 리전 간 다양한 형식의 비동기 복제를 지원하고 비동기 복제 및 백업 등의 기능을 지속적으로 업데이트하여 여러 리전에 걸친 재해 복구를 보장합니다.
이는 복잡한 질문이므로, 그 의미를 분명히 하기 위해 내포된 내용들을 다음과 같이 풀어 써 보겠습니다.
두 가지 답을 드릴 수 있습니다.
Oracle은 종속적인 서비스 전반에 걸쳐 관련된 장애를 크게 줄이는 아키텍처 원칙을 사용합니다. 일부 경우 이 기술은 가용성 SLA(Service Level Agreement)에 부합하는 선에서 무시할 수 있는 상관관계 장애가 발생할 확률을 낮춥니다.
특히 이 문서의 앞부분에서 설명한 대로 서비스 셀을 사용합니다. 내부 서비스 A가 종속성 중 하나인 서비스 B의 문제로 영향을 받는 경우 서비스 B의 문제는 단일 셀로 제한될 수 있으므로 셀은 이 문제 해결에 유용합니다. 서비스 B를 사용하는 다른 서비스, 고객의 자체 애플리케이션은 영향을 받지 않는 다른 셀을 사용 중일 수 있습니다. 이는 변화하는(증가하는) 숨겨진 내부 매개변수인 셀 개수에 따라 달라지는 확률적 인수이므로 서비스 A 및 B의 독립형 서비스 SLA 이상으로는 정량화 또는 보증이 제공되지 않습니다. 그러나 실제로는 서비스 간 장애를 상당히 비상관화할 수 있습니다.
제어 평면에 대한 워크플로우 및 메타데이터 서비스, 스트리밍/메시징 서비스와 같은 많은 공유 내부 서비스는 서비스 셀을 사용하여 이를 사용하는 업스트림 서비스에 대한 중단을 비상관화합니다.
낮은 수준의 구현과 서비스 세부정보가 변경될 수 있으므로, 다음 지침은 높은 수준의 지침입니다. 그러나 컴퓨트, 스토리지, 네트워킹 및 인증/인가의 주요 차원에 대해서는 다음과 같은 종속성을 명시합니다.
제어 평면의 경우 공통 종속성은 다음과 같습니다.
일부 제어 평면은 분명 서비스별 종속성을 보유합니다. 예를 들어 베어메탈 또는 VM 인스턴스를 시작할 때 컴퓨트 제어 평면은 다음 요소에 따라 달라집니다.
핵심 서비스 데이터 평면의 일반적인 원칙은 높은 가용성, 신속한 진단 시간 및 신속한 복구 시간을 달성하기 위해 각 데이터 평면이 의도적으로 최소한의 종속성을 갖도록 설계하는 것입니다. 그 원칙의 결과는 다음과 같습니다:
IaaS 데이터 평면의 경우 일반적인 원칙은 순환 종속성을 피하기 위해 핵심 또는 하위 레벨 데이터 평면에만 종속되는 것입니다.
네. Oracle Cloud Infrastructure 서비스는 리전 독립적인 서비스로 설계되어 있기 때문에, Oracle Cloud Infrastructure 리전의 서비스가 다른 Oracle Cloud Infrastructure 리전 및/또는 글로벌 제어창에서 분리되어 있더라도 계속 작동할 수 있습니다. 서비스 API 엔드포인트를 포함한 데이터 평면 및 제어 평면 기능은 리전이 격리되어 있더라도 계속 사용할 수 있습니다.
많은 Oracle Cloud Infrastructure 서비스는 Oracle Cloud Infrastructure Object Storage에서 제공하는 리전 간 오브젝트 복사 기능과 같은 리전 간 기능을 제공합니다. Oracle Cloud Infrastructure의 리전 간 기능은 항상 코어 서비스상의 계층으로 설계되므로 리전 간 기능에 영향을 주는 경우에도 리전 격리가 핵심 서비스에 영향을 주지 않습니다. 예를 들어 Oracle Cloud Infrastructure 오브젝트 스토어 리전 간 복사 기능은 오브젝트 스토어 서비스의 계층으로 설계되므로 특정 지역을 격리해도 관련 지역 간 복사 기능은 영향을 받을 수 있지만 해당 지역의 핵심 오브젝트 스토리지 서비스에 영향을 주지 않습니다.
네. Oracle Cloud Infrastructure 서비스는 모든 논리적 데이터 센터의 데이터 평면 기능이 해당 리전의 제어 평면과 격리된 경우에도 계속 운영되도록 설계되었습니다. 예를 들어 데이터 센터가 컴퓨트, 블록 스토리지, VCN 및/또는 ID 및 접근 관리의 컨트롤 플레인 기능과 격리되어 있더라도 논리적 데이터 센터의 Oracle Cloud Infrastructure(OCI) 컴퓨트 인스턴스는 연결된 블록 볼륨 및 관련 가상 네트워크 기능과 함께 계속 작동합니다.
네. Oracle Cloud Infrastructure는 모든 상용 리전의 여러 중복 제공업체를 거쳐 인터넷에 연결됩니다. 이러한 연결에는 BGP(Border Gateway Protocol)가 사용됩니다.