Code States/TIL

[0605] 서비스 모니터링 - 서비스 수준 목표

ki1111m2 2023. 6. 5. 14:25

학습 목표

서비스 수준 목표

  • 서비스 수준 척도(SLI), 서비스 수준 목표(SLO), 서비스 수준 협약(SLA)의 의미를 이해할 수 있다.
  • 메트릭을 이용한 주요 SLO를 이해하고, 어떻게 목표를 세우는지 알 수 있다.

  • SLI (Service Level Indicator, 서비스 수준 척도)
    • 서비스 수준을 판단할 수 있는 몇 가지를 정량적으로 측정한 값
    • 응답 속도: 요청에 대한 응답이 리턴되기까지의 시간
    • 에러율: 전체 요청 수 대비
    • 처리량(throughput): 초당 처리할 수 있는 요청 수
    • 가용성: 서비스가 사용 가능한 상태로 존재하는 시간의 비율
    • 내구성: 데이터 저장이 중요한 목적인 서비스으 ㅣ경우 특히 중요
  • SLO(Service Level Objectives, 서비스 수준 목표)
    • SLI에 의해 측정된 서비스 수준의 목표값 또는 일정 범위의 값\
    • SLI ≤ 목표치
    • 최소값 ≤ SLI ≤ 최대값
  • SLA(Service Level Agrements, 서비스 수준 협약)
    • SLO를 달성하지 못하면 어떻게 되는지를 적어놓은 약속
    • SRE가 직접 관여하지는 않음
  • 지표 설정
    • 사용자가 직접 대면하는 시스템
      • 보통 프론트엔드에 해당함
      • 가용성, 응답 시간, 처리량
    • 저장소 시스템
      • 응답 시간, 가용성, 내구성
    • 빅데이터 시스템
      • 데이터 파이프라인 등
      • 처리량, 엔드포인트 간 응답 시간
  • 척도 수집
    • 대부분의 경우 분포가 중요함
    • 일부 요청이 빠르게 처리되어도 나머지 요청이 균일하게 느리다면, 서비스는 느린 것으로 간주할 수 있음
    • 평균을 내는 방법은 이러한 흐름의 변화를 감지하기 어려움
  • 척도의 표준화
    • SLO를 설정할 때, 주요 SLI의 정의를 표준화시키면 편리함
    • 예시
      • 집계 간격: 1분
      • 집계 범위: 하나의 클러스터에서 수행되는 모든 태스크
      • 측정 빈도: 매 10분
      • 집계에 포함할 요청: 전체 HTTP GET 요청
  • 목표 설정
    • 성능에 중점을 둔 SLO 예시
      • GET 호출의 90%는 1ms 이내에 수행되어야 함
      • GET 호출의 99%는 10ms 이내에 수행되어야 함
      • GET 호출의 99.9%는 100ms 이내에 수행되어야 함