IT STUDY LOG
[서비스 모니터링] 04. 서비스 수준 목표 본문
# 학습 목표
- 서비스 수준 척도(SLI), 서비스 수준 목표(SLO), 서비스 수준 협약(SLA)의 의미를 이해할 수 있다.
- 메트릭을 이용한 주요 SLO를 이해하고, 어떻게 목표를 세우는지 알 수 있다.
# 학습 내용
1. 서비스 수준 관련 용어
- 서비스를 운영하는 데 있어서, 사용자에게 필요한 적정 수준을 정의하고 제공하기 위해, 서비스 제공자와 사용자는 서로 서비스 수준 협약(Service Level Agreements, SLA) 체결
- but, 고객과의 약속은 "어느 정도의 서비스를 제공해야 제대로 제공했다고 말할 수 있는 것인지"를 정확하게 명시해야 함
∴ SRE 엔지니어는 척도를 통한 목표를 이해하고, 실제로 목표를 세우는 방법을 알아야 함
SLI (서비스 수준 척도, Service Level Indicator)
- 서비스 수준을 판단할 수 있는 몇 가지를 정량적으로 측정한 값
주요 SLI
- 응답 속도: 요청에 대한 응답이 리턴되기까지의 시간
- 에러율: 전체 요청 수 대비
- 처리량(throughput): 초당 처리할 수 있는 요청 수
- 가용성: 서비스가 사용 가능한 상태로 존재하는 시간의 비율
- 내구성: 데이터 저장이 중요한 목적인 서비스의 경우 특히 중요
SLO (서비스 수준 목표, Service Level Objectives)
- SLI에 의해 측정된 서비스 수준의 목푯 값, 또는 일정 범위의 값을 의미
SLI ≤ 목표치 최소값 ≤ SLI ≤ 최댓값 |
SLA (서비스 수준 협약, Service Level Agreements)
- "SLO를 달성하지 못하면 어떻게 되는지"를 적어놓은 약속으로 SRE가 직접 관여하지는 않음
2. 지표 설정과 주요 목표 설정
지표 설정
- 서비스나 시스템에 있어 중요한 지표를 판단하는 근거가 있어야 하며, 적절한 SLI의 선정은 시스템의 분류에 따라 달라질 수 있음
사용자가 직접 대면하는 시스템 | 저장소 시스템 | 빅데이터 시스템 |
보통 프론트엔드에 해당하며, 이 경우 가용성, 응답 시간, 처리량이 중요 | 응답 시간, 가용성, 내구성이 중요합 | 데이터 파이프라인이 이에 해당하며, 처리량, 그리고 엔드포인트 간 응답 시간이 중요 |
척도 수집
- 측정 원본을 합산하거나, 평균을 내거나 하는 방법이 있겠지만, 대부분의 경우 분포가 중요
- 일부 요청이 빠르게 처리되어도, 나머지 요청이 균일하게 느리다면 실제로 서비스는 느린 것으로 간주됨
- 평균은 이러한 흐름의 변화를 감지하기 어려움
척도의 표준화
- SLO를 설정할 때, 주요 SLI의 정의를 표준화시키면 편리함
- SLI 정의 표준화의 예시
- 집계 간격: 1분
- 집계 범위: 하나의 클러스터에서 수행되는 모든 태스크
- 측정 빈도: 매 10분
- 집계에 포함할 요청: 전체 HTTP GET 요청
목표 설정하기
- 성능에 중점을 둔 SLO의 예시
- GET 호출의 90%는 1ms 이내에 수행되어야 함
- GET 호출의 99%는 10ms 이내에 수행되어야 함
- GET 호출의 99.9%는 100ms 이내에 수행되어야 함
'devops bootcamp 4 > DevOps 인프라 관리' 카테고리의 다른 글
[성능 테스트] 02. 부하 테스트 기본 (0) | 2023.06.06 |
---|---|
[성능 테스트] 01. 가용성과 확장성 (0) | 2023.06.06 |
[서비스 모니터링] 03. Prometheus + Grafana (0) | 2023.06.02 |
[서비스 모니터링] 02. 쿠버네티스 클러스터 모니터링 (0) | 2023.06.02 |
[서비스 모니터링] 01. 모니터링의 목표와 측정 항목 (0) | 2023.06.02 |
Comments