← 포트폴리오 · 무신사

전사 SLO 체계 수립

무신사·29CM 전 서비스의 SLO를 수립하고, 측정 데이터로 반복 롤백과 리소스 과투자를 구조적으로 해소했습니다.

조직 시기 역할
무신사 · 29CM 2025.01 – 진행 중 DACI Driver

문제

"서비스가 불안정하다"는 말은 있는데 그것을 논증할 숫자가 없었습니다.

숫자가 없으면 모든 논의가 목소리 큰 쪽으로 끝납니다.

제약

설계

1. 수립 가이드를 먼저 만들었다

각 팀이 SLO를 스스로 만들되 결과물이 서로 비교 가능하도록, 수립 가이드를 산출물의 첫 번째로 잡았습니다. 가이드가 없으면 팀마다 다른 단위, 다른 윈도우, 다른 분모를 쓰게 되고 그 순간 전사 집계가 불가능해집니다.

2. CUJ 단위로 핵심 사용자 여정을 정의했다

서비스 단위가 아니라 CUJ(Critical User Journey) 단위로 잘랐습니다. "상품 상세 API"가 아니라 "상품을 보고 장바구니에 담아 결제까지" 가 단위입니다.

서비스 단위로 자르면 각 API는 멀쩡한데 사용자는 구매를 못 하는 상황을 놓칩니다. CUJ 단위는 어떤 여정이 더 중요한가를 먼저 합의하게 만들기 때문에, 복구 우선순위 논의가 자연스럽게 따라옵니다.

3. 팀별 SLI 쿼리를 직접 보정했다

가이드만 주면 안 됩니다. 팀별로 실제 쿼리를 보고 분모·분자·제외 조건을 함께 고쳤습니다. 이 단계를 건너뛰면 숫자는 생기지만 아무도 믿지 않는 숫자가 됩니다.

4. 측정 데이터를 논쟁에 투입했다

TTD(탐지) / TTA(인지) / TTR(복구) · MTTR을 쌓아 두 가지를 규명했습니다.

5. 주간 리포트로 되먹임을 만들었다

BU별(PBO, Core, MSS, FP, 29CM) 주간 SLO 리포트를 운영해 추세가 보이게 했습니다. 숫자는 한 번 보여주는 것으로는 행동을 바꾸지 못하고, 매주 같은 자리에 있어야 바뀝니다.


결과

회고

SLO의 효용은 목표 관리가 아니라 논쟁의 종료였습니다. 숫자가 생기고 나서 달라진 건 "얼마나 안정적이어야 하는가"를 두고 회의가 길어지지 않는다는 점입니다.

CUJ로 자른 것이 나중에 더 크게 쓰였습니다. 핵심 사용자 여정과 그 중요도를 합의해 둔 자료는 업무연속성 관점에서 무엇을 먼저 복구해야 하는가에 그대로 쓰입니다. SLO 수립이 사실상 서비스 단위 업무영향분석이었습니다.


관련 케이스 — 전사 장애관리 프레임워크 · 비상대응훈련 프로그램

SLO/SLI CUJ Error Budget TTD/TTA/TTR MTTR DORA Datadog Grafana Confluence