LINE, SLI/SLO 도입으로 서비스 신뢰성 확보
SLI/SLO(Service Level Indicator/Objective)를 도입하여 LINE 메시징 코어 서비스의 품질과 신뢰성을 평가하고, 사용자 경험(User Experience)을 중심으로 서비스 이해도를 높임
CUJ(Critical User Journey)를 정의하고, SLI를 설정하여 서비스의 핵심 기능과 성능을 측정하며, 성공/실패 기준(SLI Criterion)을 명확히 함
SLO(Service Level Objective)를 설정하여 서비스의 신뢰성과 안정성을 보장하고, 오류 예산(Error Budget)을 활용하여 리소스 분배 및 온콜(On-call) 대응에 활용
SLI/SLO를 시각화한 대시보드를 구축하여 서비스 상태를 모니터링하고, 정량적 지표(Quantitative Metrics)를 통해 서비스의 상태를 정확하게 파악
SLI/SLO 도입의 핵심: 사용자 여정(User Journey) 정의
본문에서는 SLI/SLO 구현의 첫 단계로 사용자에게 제공하는 서비스와 기능을 식별하고, 사용자 여정(User Journey)을 목록화하는 것을 강조한다.
CUJ(Critical User Journey) 식별: 핵심 사용자 여정(CUJ)을 정의하여 서비스의 핵심 기능 파악
비즈니스 목표 연계: CUJ를 통해 SLO를 조직의 비즈니스 목표(Business Goals)와 일치시킴
이해관계자 협업: 다양한 부서와 팀의 협력을 통해 SLI/SLO를 구현하고 관리
결과적으로, 사용자 중심의 서비스 이해를 바탕으로 SLO를 설정하고, 이를 통해 서비스의 신뢰성을 향상시키는 것이 SLI/SLO 도입의 핵심이다.
SLI 구현: 측정 위치, API, 그리고 성공/실패 기준
SLI(Service Level Indicator)는 CUJ별로 어떤 지표를 설정하고 측정할지 정의하는 단계이다. LINE 메시징 코어 서비스는 SLI를 구현하기 위해 다음과 같은 과정을 거쳤다.
측정 위치 선정: 게이트웨이(Gateway), 프런트엔드(Frontend), 백엔드(Backend) 등 CUJ별 측정 위치 선정
API 선정: 지표 계산의 복잡성을 줄이기 위해 각 CUJ별 대표 API(Representative API) 선정
성공/실패 기준 정의: 응답 시간(Response Time)과 응답 성공률(Response Success Rate)을 기준으로 SLI 기준(SLI Criterion) 정의
SLI 구현의 핵심은 측정 위치와 대상, 그리고 성공과 실패를 구분하는 명확한 기준을 정의하는 것이다.
SLO 설정: 현실적인 목표와 오류 예산(Error Budget) 관리
SLI를 정의한 후에는 SLO(Service Level Objective)를 설정한다. SLO는 측정 기간 동안 SLI 기준에 맞는 신뢰성과 안정성이 보장된 서비스를 제공하겠다는 목표를 정의하는 것이다.
현실적인 목표 설정: SLO를 너무 높게 설정하면 비용 증가, 너무 낮게 설정하면 서비스 품질 저하 발생
오류 예산(Error Budget) 활용: SLO 달성을 위한 오류 예산(Error Budget)을 활용하여 리소스 분배 기준 마련
리소스 분배 기준: SLO 만족 시 신규 기능 출시, 오류 예산 부족 시 서비스 안정성 향상에 리소스 투입
SLO 설정의 핵심은 현실적인 목표를 설정하고, 오류 예산을 활용하여 서비스의 안정성과 비즈니스 목표 사이의 균형을 맞추는 것이다.
SLI/SLO 활용: 정량적 지표, 리소스 분배, 온콜(On-call) 대응
SLI/SLO는 서비스의 상태를 정량적으로 파악하고, 리소스 분배 및 온콜(On-call) 대응에 활용된다. LINE 메시징 코어 서비스는 SLI/SLO를 다음과 같이 활용한다.
정량적 지표 활용: '느리다' 또는 '안정적이지 않다' 대신 정량적 지표(Quantitative Metrics)를 사용하여 서비스 상태 표현
리소스 분배 기준: SLO 달성 여부와 오류 예산을 기준으로 리소스 분배(Resource Allocation) 결정
온콜(On-call) 대응: 오류 예산 상태 변화에 따른 알림을 통해 온콜(On-call) 체계(On-call System)에서 서비스 상태 파악 및 이슈 대응
SLI/SLO를 통해 서비스의 신뢰성을 높이고, 비즈니스 목표 달성을 위한 균형을 유지할 수 있다.