Home [SRE] Ch04. Service Level Objectives
Post
Cancel

[SRE] Ch04. Service Level Objectives

서비스 수준 관련 용어

척도

SLI : Service Level Indicator

→ 서비스 수준을 판단할 수 있는 몇 가지를 정량적으로 측정한 값

  • 예)
    • 응답 속도, 전체 요청 수 대비 에러율, 시스템 처리량 …
  • 가용성
    • SRE가 중요하게 생각하는 SLI 중 하나
    • 서비스가 사용 가능한 상태로 존재하는 시간의 비율
    • 100% 는 실현 불가능하지만, 100%에 가까운 가용성은 얼마든지 달성 가능

목표

SLO : Service Level Objectives

→ SLI에 의해 측정된 서비스 수준의 목표 값 혹은 일정 범위의 값을 의미

SLI ≤ 목표치 or 최솟값 ≤ SLI ≤ 최댓값

  • SLO를 설정하고 고객에게 이를 공개하는 것은 서비스의 동작에 대한 예측을 가능하게 함.

협약

SLA : Service Level Agreements

→ SLO를 만족했을 경우 혹은 그렇지 못한 경우의 댓가에 대한 사용자와의 명시적 혹은 암묵적인 계약.

(경제적인 것 혹은 다른 것으로 나타남)

  • SLA가 필수적인 것은 아니지만 (ex. 구글의 검색기능), 서비스마다 SLI와 SLO를 설정하고 이를 토대로 서비스를 관리해야 함!!

지표 설정

진짜 중요한게 무엇일까?

이전 셰익스피어 서비스를 다시 가져와보자

image

SLI 몇 가지를 선정해보자

  • 사용자가 직접 대면하는 시스템 → 가용성, 응답시간, 처리량
  • 저장소 시스템 → 응답 시간, 가용성, 내구성
  • 데이터 처리 시스템 → 처리량, 응답 시간
  • Common → 정확성 (Correctness)

척도 수집하기

  • 대부분의 지표들의 경우 평균보다는 분포가 중요함!
  • 평균만 집계하면 0 혹은 Max 값의 경우 알 수 없음.

척도의 표준화

  • 각각의 척도들의 최우선 원칙이 무엇인지를 고민할 필요 없도록 SLI들에 대한 정의를 표준화 해야함
  • 예.
    • 집계 간격 : 평균 1분
    • 집계 범위 : 하나의 클러스터에서 수행되는 모든 테스크들
    • 측정 빈도 : 매 10초

목표 설정에 대한 실습

목표 설정

  • 명확성을 극대화하기 위해 SLO는 측정 방식유효한 기준이 반드시 명시되어야 함.
  • 예.
    • Get RPC 호출99%100ms 이내에 수행되어야 한다.

목표치 선택하기

  • SLISLO 를 어떻게 설정하는지는 제품과 사업에 영향을 미친다.
  • 목표치 선택에 도움되는 몇 가지 조언
    • 현재의 성능을 기준으로 목표치를 설정하지 말 것
    • 최대한 단순하게
    • 자기 만족 X
    • 가능한 적은 수의 SLO 설정
    • 처음부터 완벽하게 하려고 하지 말 것
  • SLO반드시 사용되어야 함
    • → 사용자가 어떤 점을 중요하게 생각하고 있는지를 반영하기 때문
  • 다만, 너무 높은 SLO는 팀이 힘들어짐
  • 따라서 현명하게 잘 활용해야함

측정하기

  1. 시스템의 SLI들을 모니터링하고 측정하기
  2. SLI를 SLO와 비교해서 별도 대응이 필요한지 판단하기
  3. 대응이 필요한 경우 어떻게 대응할지 판단
  4. 대응
This post is licensed under CC BY 4.0 by the author.

[SRE] Ch03. Embracing Risk

[SRE] Ch05. Eliminating Toil