You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
이에 대해 살펴보고 현재 프로젝트에서 어떤 지표로 적용하면 인사이트를 줄 수 있는지 확인해보자.
시간을 기준으로 한 가용성
<위키백과>
가용성(可用性, Availability)이란 서버와 네트워크, 프로그램 등의 정보 시스템이 정상적으로 사용 가능한 정도를 말한다.
가동률과 비슷한 의미이다. 가용성을 수식으로 표현할 경우, 가용성(Availability)이란 정상적인 사용 시간(Uptime)을
전체 사용 시간(Uptime+Downtime)으로 나눈 값을 말한다.
이 값이 높을수록 "가용성이 높다"고 표현한다. 가용성이 높은 것을 고가용성(HA, High Availability)이라고 한다.
가용성 = Uptime / Uptime + Downtime
사이트 신뢰성 엔지니어링 에서는 조금 더 디테일하게 정의한다.
가용성 = Uptime / Uptime + (unplanned) Downtime
즉 계획되지 않은 갑작스러운 Downtime 을 의미한다. 예를 들어 배포를 위해 서버를 내리고 바꾸는 과정은
Downtime 에 들지 않는다는 것이다.
<트랜잭션 처리의 원리 중..>
TP 시스템에 필요한 중요한 요구사항은 시스템이 항상 가동상태를 유지해야 한다는 것이다.
이것은 가용성이 매우 높은 시스템이어야 한다는 뜻이다. 그런 시스템을 흔히 '24 * 365' 라고도 하는데,
매일 24시간 연간 365일, 즉 연중 무휴로 가동하는 시스템이라는 의미이다.
가용성이 높은 시스템이란 정확하게 가동되면서 기대하는 결과가 나오는 시스템이다. 가용성은 두 가지 요인에
의해서 감소한다. 한 요인은 시스템에 장애가 발생하는 비율이다. 장애라는 말은 시스템이 잘못 응답하거나 응답을
하지 않음을 의미한다.
시스템의 다른 조건이 같을 때 장애가 자주 발생한다면 그 시스템은 가용성이 낮은 시스템이다. 또 하나의
요인은 복구시간이다. 시스템의 다른 조건이 같을 때 장애가 발생한 후에 시스템을 복구하는 데 걸리는 시간이
길수록 시스템의 가용성은 낮아진다.
이런 개념은 평균가동시간 (mean time between failure, MTBF)와 평균복구시간 (mean time to repair, MTTR)
로 표현된다.
평균가동시간은 장애가 발생하기 전에 시스템이 가동되는 평균시간이다. 평균가동시간은 시스템 신뢰성의 척도다.
평균복구시간은 장애가 발생한 후에 시스템을 수리하거나 복구하는 데 걸리는 시간이다.
이들 두 척도를 이용하여 가용성을 `MTBF / MTBF + MTTR` 로 정의할 수 있다.
그러므로 가용성은 신뢰성이 증가할수록, 복구시간이 감소할수록 향상된다.
가용성 = 평균가동시간 / 평균가동시간 + 평균복구시간
요청 성공률을 기초로한 가용성
사이트 신뢰성 엔지니어링에서는 시간 기준의 가용성의 대안으로 요청 성공률에 기초한 가용성을 정의한다.
가용성 = 성공한 요청 수 / 전체 요청 수
예를 들어 하루에 250만 개의 요청을 처리하는 시스템의 경우 하루에 발생하는 에러가 250개 이내라면,
일일 가용성 목표치 99.99%를 달성할 수 있다.
구글에서는 현재 요청 성공률을 기초로한 가용성 지표를 설정하여 사용중이다.
이유는 구글의 서버들은 전 세계에 분산되어 있기 때문에 (장애분리) 전체 시간 중 최소 일부는 항상
정상 동작중인 상태라 업타임과 관련된 지표들이 크게 인사이트로 다가오지 않아서 요청 성공률을 기반으로
가용성을 정의한다.
가용성 향상
구글에서는 다음을 기준으로 삼아 목표 가용성 수준을 결정한다.
1) 사용자는 어느 정도 수준의 서비스를 기대하는가?
2) 이 서비스가 수익과 직접적으로 연관이 있는가?
3) 유료 서비스 인가 아니면 무료 서비스인가
4) 시장에 경쟁자가 있다면 그 경쟁자는 어느 정도 수준의 가용성을 제공하는가
5) 이 서비스[]