SLO 설계

이 페이지에서는 서비스 수준 목표(SLO)를 만들기 전에 필요할 수 있는 정보를 제공합니다.

SLO에 대한 소개는 서비스 수준 목표 개요를 참조하세요.

SLI 유형 및 규정 준수 대상

Cloud Service Mesh는 다음 유형의 서비스 수준 지표를 지원합니다.

  • 지연 시간: 서비스가 요청에 대한 응답을 반환하는 데 걸리는 시간(밀리초)입니다.
  • 가용성: 서비스가 성공적으로 응답하는 시간의 비율입니다.
  • 기타: 구성 가능한 측정항목을 기반으로 맞춤설정 가능한 SLO 유형입니다.

또한 서비스에서 원하는 규정 준수 대상을 정의합니다. 일반적으로 SLO는 사용자에게 필요하거나 의미 있는 수준 이하여야 합니다. 사용자가 서비스 성능 저하를 체감할 수 있는 지점을 고려합니다. 예를 들어 사용자가 서비스의 지연 시간 300ms과 500ms 간의 차이를 알 수 없는 경우 SLO에서 지연 시간 임곗값으로 더 높은 값을 사용합니다. 이보다 낮은 값은 충족하는 데 비용이 많이 들며 사용자는 차이를 느끼지 못합니다.

규정 준수 대상을 설정할 때 서비스의 최종 사용자 요구사항을 고려합니다. 예를 들어 직원이 휴가 시간을 예약하는 데 사용하는 내부 도구는 99% 가용성 목표(연간 최대 3일의 다운타임)로 충분할 수 있습니다. 그러나 온라인 상점의 중요한 서비스에는 99.999%의 가용성(연간 최대 5분의 다운타임)이 필요할 수 있습니다.

규정 준수 기간

SLO는 SLI의 대상을 정의하는 것 외에도 SLI가 측정된 기간을 지정합니다. 예를 들어 일일 99%의 가용성은 한 달 동안 99%의 가용성과 다릅니다. 첫 번째 SLO는 14분을 초과하는 연속 다운타임(24시간 * 1%)을 허용하지 않지만 두 번째 SLO는 최대 7시간(30일 * 1%)의 연속 다운타임을 허용합니다.

규정 준수 기간은 특히 사용자와의 서비스수준계약(SLA)에 SLO가 포함된 경우 특히 중요합니다. SLA는 일반적으로 SLO를 충족하지 못함에 따른 결과를 명시하는 서비스 사용자와의 계약입니다. 사용자와 SLA가 있는지 여부는 제품 또는 비즈니스 결정사항이지만 모니터링을 위해 SLO를 만들 때 규정 준수 기간을 지정해야 합니다.

SLO를 구성할 때 규정 준수 기간 유형을 선택합니다.

  • 캘린더: 캘린더마침표 유형으로 선택할 때 기간 길이도 일, 주 또는 월 중에서 지정합니다. 기간은 겹치지 않으며 캘린더 시작일 및 종료일로 고정됩니다. 규정 준수는 기간이 끝날 때만 평가될 수 있습니다.

  • 연속: 연속주기 유형으로 선택하는 경우 기간 길이의 일수도 지정(예: 30일)합니다. 캘린더 기간과 달리 연속 기간에는 시작일과 종료일이 고정되어 있지 않습니다. Cloud Service Mesh는 연속 규정 준수 기간이 있는 SLO를 지속적으로 평가합니다. 이전 계산에서 가장 오래된 데이터는 새 데이터로 대체되므로 현재 계산에서 제외됩니다. 연속 기간은 월 1회가 아니라 최근 30일의 규정 준수 측정값을 매일 제공하므로 더 많은 규정 준수 측정값을 제공합니다. 하지만 SLO 상태가 매일 변경됨에 따라 서비스는 규정 준수와 위반 사이를 오갈 수 있습니다.

오류 예산

또 다른 중요한 모니터링 개념은 오류 예산입니다. SLO는 규정 준수 기간 동안 서비스의 성공 여부를 측정하는 SLI 및 타겟 값을 지정합니다. SLO의 오류 예산은 서비스가 SLO를 위반하기 전에 정책을 준수하지 않을 수 있는 총 시간을 나타냅니다. 따라서 오류 예산은 100% - SLO%입니다. 예를 들어 연속 30일 가용성 SLO의 규정 준수 목표가 99.99%인 경우, 오류 예산은 30일의 허용 된 다운타임인 4분을 겨우 넘어서는 30일간 0.01%입니다. 100% SLO를 충족하는 데 필요한 서비스에는 오류 예산이 없습니다.

오류 예산을 사용하면 서비스가 SLO를 위반하기 전까지 남은 규정 준수 기간 동안 발생할 수 있는 비정상적인 SLI 측정 횟수를 추적할 수 있습니다. 오류 예산을 사용하여 새 버전 배포와 같은 유지보수 작업을 관리할 수 있습니다. 오류 예산이 거의 소진된 경우 새 업데이트 배포와 같은 위험한 작업은 수행하지 않는 것이 좋습니다. 반대로 규정 준수 기간이 끝날 무렵 전체 오류 예산이 많이 남아 있으면 SLO를 위반할 위험이 낮으므로 새 기능을 실행하는 것이 좋습니다.

캘린더 규정 준수 기간으로 SLO를 측정하는 경우 서비스 메시는 최댓값으로 오류 예산을 시작하고 시간 경과에 따라 예산을 줄여서 오류 예산이 0 미만으로 떨어지면 SLO 위반을 트리거합니다. 규정 준수 기간이 끝나면 Cloud Service Mesh에서 SLO 오류 예산을 재설정합니다.

연속 규정 준수 기간 동안 SLO를 측정할 경우 항상 효과적으로 규정 준수 기간 끝에 있게 됩니다. 처음부터 새로 시작하는 대신 이전 데이터 포인트가 연속적으로 삭제되고 새로운 데이터 포인트가 연속적으로 추가됩니다. 규정 준수 기간 동안 규정을 준수하지 않는 기간이 시작되고 SLO를 준수하는 경우 오류 예산이 증가합니다. 언제든지 error budget ≥ 0이면 규정을 준수하는 연속 SLO 기간을 나타내고 error budget < 0이면 정책을 위반하는 연속 SLO 기간을 나타냅니다.

다음 단계