서비스 수준 목표 개요
서비스 수준 목표(SLO)는 Google 서비스 모니터링 툴킷의 핵심 도구입니다. SLO를 통해 서비스의 전체 상태에 대한 간결하고 노이즈가 낮은 신호를 얻을 수 있습니다. Cloud Service Mesh를 사용하면 서비스에 SLO를 설정하고 해당 SLO를 기준으로 서비스를 모니터링하고 알림을 제공할 수 있습니다.
서비스 상태를 모니터링하려면 해당 서비스에 중요한 동작이 무엇인지 파악하고 해당 동작을 측정 및 평가하는 방법을 파악해야 합니다. 서비스 수준 지표(SLI)는 서비스의 일부 측면을 정량적으로 측정한 것입니다. 일반적인 SLI는 다음과 같습니다.
- 지연 시간: 요청에 대한 응답을 반환하는 데 걸리는 시간(일반적으로 밀리초). 지연 시간은 일반적으로 집계로 제공됩니다. 즉, 원시 데이터는 일정 기간 동안 수집되어 백분위수로 계산됩니다. Cloud Service Mesh는 각 서비스의 측정항목 페이지에 지연 시간 그래프를 표시합니다. 지연 시간 그래프에는 시간 경과에 따른 지연 시간이 표시되므로 서비스의 지연 시간 기준이나 상한을 결정하는 데 도움이 됩니다.
- 가용성: 서비스가 성공적으로 응답하는 시간의 비율입니다. 이 값은 일반적으로 전체 응답 수 대비 성공적인 응답 수의 비율로 표현됩니다. 측정항목 페이지의 오류율 그래프는 각 서비스의 가용성을 파악하는 데 도움이 될 수 있습니다.
SLO는 SLI에서 측정된 서비스 수준의 목표 값입니다. SLO는 SLI ≤ upper_bound
또는 SLI ≥ lower_bound
로 표시될 수 있습니다. SLO는 특정 기간 동안 성능에 대한 측정 가능한 목표입니다. 예를 들어 일부 서비스의 경우 다음과 같은 요구사항이 있을 수 있습니다.
- 지연 시간은 연속 30일 동안 요청의 5%에서만 300ms를 초과할 수 있습니다.
- 한 주 동안 측정한 시스템의 가용성은 99%여야 합니다.
상태 페이지에서 원격 분석 데이터를 기준으로 서비스의 SLO를 설정하고 볼 수 있습니다. 그런 다음 Cloud Monitoring에서 알림을 만들어 서비스가 예상대로 작동하지 않을 때 경고를 표시할 수 있습니다.
다음 단계
Google의 사이트 안정성 엔지니어링에서 SLO에 대해 자세히 알아봅니다.