🔠 기업이 제공하는 서비스의 품질과 성능을 나타내는 지표입니다. 이는 고객이 기업과의 서비스 거래에서 기대하는 요구사항과 비교하여 얼마나 만족스러운 서비스가 제공되었는지를 측정하는데 사용됩니다.

SLA(Service Level Agreement)
🔠 가동 시간, 대응 및 책임과 같은 측정 가능한 메트릭에 대한 공급자와 고객 간의 계약입니다. SLA는 신뢰를 쌓는 데 중요한 역할을 하는 IT 팀과 고객 간의 기본 계약입니다. 이를 통해 고객의 기대치를 관리하고 해결해야 할 이슈를 팀이 알 수 있습니다. SLA를 마련하면 서비스 기대치에 대한 상호적인 이해를 갖출 수 있습니다.
SLO(Service Level Objective)
🔠 서비스 제공자가 서비스의 품질과 성능을 유지하기 위해 설정하는 목표를 말합니다. SLO는 일반적으로 서비스의 가용성, 응답 시간, 처리량 등과 같은 특정한 지표를 기준으로 정의됩니다. ✅ SLI 없이는 SLO를 얻을 수 없습니다.
SLO의 목적은 고객의 관점에서 품질을 정확하게 측정하는 명확한 신호를 확보하는 것입니다. 각 서비스 팀은 서비스 소비자의 경험에 따라 서비스의 가장 중요한 측정 가능한 메트릭에 허용되는 범위를 정의하는 소규모의 SLO(서비스 수준 목표) 집합을 만듭니다.
SLI(Service Level Indicatior)
🔠 주어진 시간에 고객이 받고 있는 성능 측정치를 나타내는 메트릭입니다. (e.g : 모니터링 시스템을 사용해서 측정하거나 로그에서 계산해서 나온 실제 숫자값)
💡 어떤 조직의 SLO가 다음과 같다면 SLO를 달성하려면 어떤 메트릭을 수집하고 어떻게 계산해야 할까?
GET 호출을 100개를 받았으면 99개는 응답속도가 10ms가 무조건 넘어야 된다는 뜻
"GET 호출의 99%는 10ms 이내에 수행되어야 한다"
이 목표를 달성하기 위해서는 GET 호출의 응답 시간을 모니터링하고, 그 중 응답속도가 느린순으로 상위 1%에 해당하는 응답 시간을 파악해야 합니다. 이를 통해 느린 응답을 식별하고 성능 개선을 위한 대응을 할 수 있습니다.
따라서, GET 호출의 응답 시간을 수집하고 이를 분석하여, 응답 시간이 10ms 이하인 비율을 계산하는 것이 중요합니다. 이 비율을 추적하여 SLO를 충족하는지 여부를 판단할 수 있습니다.
간단히 말해서, GET 호출의 응답 시간을 모니터링하여 10ms 이내에 수행되는 비율을 계산하여 SLO를 평가하고, 필요한 조치를 취할 수 있습니다.