
- IT 인프라에서 가용성, 내결함성 관련 용어와 개념
- Azure 서비스가용성을 극대화하기 위한 기술과 Azure 아키텍처 구성요소를 이해하고 설명
용어와 개념
Mission-Critical vs Business-Critical
Mission-Critical
- 오작동시 사람의 생명에 영향을 미치는 시스템, 서비스
- 원자력 발전소 관제 시스템
- 항공관제시스템
- 119 응급 콜 센터
Business-Critical
- 오작동시 회사의 수익이나 생산성에 영향을 미치는 시스템, 서비스
- Internet 전자결제시스템
- 전자상거래 사이트
가용성(Availability)
- 시스템에 오류가 발생하더라고 고객에게 지속적으로 서비스를 제공하는 것.
- 궁극적인 목적은 시스템에 오류가 발생해도 7일 동안 24시간동안 사용자에게 지속적인 서비스를 제공하는 것.
- 가용성(%) - (MY -MF) * 100 / MY
- MY =365 24 60 (일년을 분으로)
- MF(mean time of failure)는 일년중 오류에 의해 서비스가 정지된 시간을 분으로 환산
- MF를 환산할 때 계획된 유지 보수에 의한 서비스 정지시간은 제외
- 예를 들어 일년동안 총 서비스 다운이 52.5분이다.
- (525600-52.5)*100/525600 = 99.990011415
- 이 시스템이 제공하는 서비스의 가용성은 99.99%
Five 9s
- Mission Critical = 99.999% 요구
- Business Criticall = 99.9% - 99.99% 요구

MTBF를 이용한 가용성 계산
- 가용성 = MTBF * 100 / (MTBF + MTTR)
- MTBF = Mean Time Between Failure
- MTTR = Mean Time to Repair 평균복구시간
- 만약 특정 시스템이 10,000시간동안 오류없이 동작하다 오류발생 후 복구하는데 2시간이 소요된다면
- 가용성 = 10000 * 100 / (10000+2) = 99.98%
- 가용성을 높이기 위해서는 신뢰성이 높은 하드웨어와 소프트웨어를 구매할 것
내결함성 (Fault Tolerance)
- 시스템을 구성하는 하드웨어나 소프트웨어에 오류가 발생해도 지속적으로 서비스를 제공할 수 있는 능력
- 시스템 하드웨어의 내결함성 (표준기술이나 장비들)
- 하드디스크(RAID 1 미러링 , 5 분산 디스크레벨 표준), 네트워크 카드(Dual NIC or Network Teaming) active actvie를 사용, 램(RAID Memory), 전원공급장치(UPS)
- 내결함성을 방지하기위한 하드웨어적으로는 이런것들이 있다라고 말할 수 있다.
- 소프트웨어의 내결함성
Azure 서비스
가용성 옵션

가용성 집합 Availability Set
- 가용성 집합에 포함된 각각의 가상 머신은 업데이트 도메인 및 장애 도메인에 할당
- 다른 독립적인 렉에 형성, 분산처리한다.
- 하이퍼바이저 : 하드웨어를 추상화 시켜주는 역할
서로 동기화를 계속하고 있다 죽으면 바로 실행될 수 있도록
- Live migration : 작동중에서 이주, 다른 하이퍼바이저 서버로 옮기는 것
- 가용성 집합 내에 최대 100 대의 가상 머신
- 가용성 집합은 2개의 개념을 요약:
- Fault Domain (Rack) 오류에서 VM을 격리
Azure 데이터센터 내의 여러 하드웨어에서 오류 발생 시에 워크로드를 물리적으로 분리 (랙분리!)
- Update Domain – 호스트 업데이트로부터 VM을 격리
예약된 유지관리,성능,보안업데이트는 업데이트도메인을 통해 순서를 결정
기본 5개에서 최대 12개. VM은 hypervisor를 통해 안전하게 재부팅 됨
- VM 의 업데이트도 중요 Host와 Guste들의 안정화가 이루어저야 한다.
가용영역 Availability Zones
- Azure 리전내에서 물리적으로 위치 구분
- 가용성 세트를 한단계 끌어올린 요소
- 독립적인 전원,냉각 및네트워크기능을 갗춘 하나이상의 데이터센터를 포함
- 격리와 경계역할을 수행
- 한 가용영역이 다운되면 다른 가용영역이 계속 작동
- 고가용성을 사용자가 관리함

고가용성 구현

재해복구 구현

- 지역별 가용성 영역과 가용석 세트를 지역당 재해복구를 하도록 도와주는 친구가 Trafic Manager
- 리전간의 로드밸런싱
- RPO 최소복원시점, RTO 최소복원시간(소요)

리소스 그룹
- 동일한 수명주기를 갖는 리소스들의 묶음
- 리소스는 리소스 그룹으로 이동할 수 있음
- 리소스는 하나의 리소스그룹에 소속됨
- 역할기반(RBAC)를 사용하여 리소스나 그룹별 레벨의 보안 유지

- 각 서비스로 독립적으로 리소스그룹을 설정할 수 있고 (쿠버처럼 pod에 하나의 컨테이너를 만들어 관리하듯이)
리소스 매니저
- Azure를 관리하는 계층
- 리소스 or 리소스그룹을 생성, 구성, 관리, 삭제
- 리소스 조직화 및 자동화
- Azure AD를 통한 접근제어
- 사용 도구 : Azure포털, CLI, Powersehll, 개발 API
