가용성

위키원
125.141.56.68 (토론)님의 2020년 8월 3일 (월) 10:58 판 (새 문서: '''가용성'''(Availability)이란 물질이 용매에 잘 녹는 성질이라는 뜻이다. 정보기술에서는 서버 및 네트워크 등의 시스템이 장애 없이 정상적...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)
이동: 둘러보기, 검색

가용성(Availability)이란 물질이 용매에 잘 녹는 성질이라는 뜻이다. 정보기술에서는 서버 및 네트워크 등의 시스템이 장애 없이 정상적으로 서비스를 수행할 수 있는 정도를 말한다.

개요

가용성은 가동률과 비슷한 의미로, 수식으로 표현하면 사용 시간(Uptime)을 전체 사용 시간(Uptime+Downtime)으로 나눈 값을 말한다. 이 값이 높으면 높을수록 "가용성이 높다"라고 표현하며, 가용성이 높은 것을 고가용성이라고 한다.

정의

</br>이 식은 가용성의 식이다. 이것에 대해 "사이트 신뢰성 엔지니어링"은 더 섬세하게 정의한다. 다음은 "트랜잭션 처리의 원리"에서 말하는 것이다. TP 시스템에 필요한 중요한 요구사항은 시스템이 항상 가동상태를 유지해야 한다는 것이다. 이것은 가용성이 매우 높은 시스템이어야 한다는 뜻이다. 그런 시스템을 흔히 24X365라고도 하는데, 매일 24시간 연간 365일, 즉 연중무휴로 가동하는 시스템이라는 의미이다. 가용성은 두 가지 요인에 의해서 감소하는데, 그중 한 요인은 시스템에 장애가 발생하는 비율이다. 장애라는 말은 시스템이 잘못 응답하거나 응답을 하지 않음을 의미한다. 시스템의 다른 조건이 같을 때 장애가 자주 발생한다면 그 시스템은 가용성이 낮다고 말한다. 다른 요인 하나는 복구 시간이다. 시스템의 다른 조건이 같을 때 장애가 발생한 이후에 시스템을 복구하는 데 걸리는 시간이 길어질수록 시스템의 가용성은 낮아진다. 이런 개념은 평균 가동시간(mean time between failure,MTBF)과 평균 복구 시간(mean time to repair,MTTR)으로 표현된다. 평균가동시간은 장애가 발생하기 전에 시스템이 가동되는 평균가동시간이다. 평균 가동시간은 시스템이 가진 신뢰성의 척도를 대표한다. 평균 복구 시간은 장애가 발생한 이후에 시스템을 수리하거나 복구하는 데 걸리는 시간을 뜻한다. 이 두 척도를 이용하여 가용성을로 정의할 수 있다. 그러므로 가용성은 신뢰성이 증가할수록, 복구 시간이 감소할수록 향상된다.

요청 성공률을 기초로 한 가용성

"사이트 신뢰성 엔지니어링"에서는 시간 기준의 가용성을 대안으로 요청 성공률에 기초한 가용성을 정의한다. "그러나 구글에서는 시간 기준의 가용성 지표는 그다지 의미가 없다. 그 이유는 우리는 전 세계에 분산된 서비스를 운영하기 때문이다. 구글이 채택하고 있는 장애 분리(fault isolation) 방식 덕분에 우리는 특정 서비스의 트래픽 중 일부를 주어진 시간 동안 세계의 어느 한 지역에 제공하고 있는 셈이다(다시 말하면, 우리는 전체 시간 중 최소 일부는 '정상 동작 중인' 상태다). 그래서 우리는 업타임과 관련된 지표들 대신 요청 성공률(request success rate)에 기초한 가용성을 정의한다. [식 3-2]는 특정한 운영 시간 대비 성공률에 기반한 지표들을 계산하는 수식이다."</br> 예를 들어 하루에 250만 개의 요청을 처리하는 시스템의 경우 하루에 발생하는 에러가 250개 이내라면 일일 가용성 목표치 99.99%를 달성할 수 있다.