종이로만 만드는 인시던트 별자리 지도: 작은 실패별을 손으로 찍어 올려 읽기 쉬운 신뢰성의 하늘 만들기
SRE와 운영 팀이 종이만으로 만드는 간단한 별자리 지도를 활용해, 흩어진 인시던트를 전문 도구 없이도 명확하고 시스템적인 신뢰성 그림으로 바꾸는 방법.
소개
대부분의 신뢰성 작업은 대시보드, 메트릭 스트림, 인시던트 티켓 안에서 이뤄집니다. 이런 도구들은 강력하지만, 한 가지 부작용이 있습니다. 수많은 그래프 속에서 각 실패를 서로 연결되지 않은 개별 이벤트로만 보게 만들고, 하나의 시스템 안에서 이어지는 이야기로 보지 못하게 하죠.
**종이로만 만드는 인시던트 별자리 지도(Paper‑Only Incident Constellation Map)**는 이 관점을 의도적으로 바꾸기 위한 저(低)기술 방식입니다. 더 많은 대시보드를 만드는 대신, 벽과 인덱스 카드(메모지), 마커를 꺼냅니다. 각 인시던트는 손으로 찍어 올리는 작은 실패별이 되고, 모두 함께 바라보는 신뢰성의 하늘 위에 자리 잡습니다. 그 별들을 옮기고, 모으고, 이름을 붙이는 과정에서, 시스템적인 문제들의 **별자리(패턴)**가 드러나기 시작합니다.
이 방식은 SRE 도구를 대체하려는 것이 아닙니다. 그에 대한 보완재입니다. 워크숍, 포스트모템, 인시던트 리뷰에서 쓸 수 있는, 사람 규모의 협업 아티팩트죠. 어떤 전용 소프트웨어도 필요 없습니다.
인시던트 별자리 지도란 무엇인가?
인시던트 별자리 지도는 인시던트들이 서로, 그리고 시스템의 핵심 요소들과 어떻게 연결되어 있는지를 보여주는 수기(手記) 기반 실패 지도입니다.
- 각 **인덱스 카드(또는 포스트잇)**는 하나의 작은 실패별을 나타냅니다. 인시던트, 실패 모드, 회귀(regression), 혹은 아슬아슬했던 근접 사고(near miss) 하나를 의미합니다.
- 벽, 화이트보드, 혹은 디지털 화이트보드는 여러분의 신뢰성의 하늘입니다.
- 지도는 중심에서 바깥으로 그려집니다. 가장 중요한 서비스나 시스템 요소들을 중앙에 두고, 그와 연결된 실패들을 주변에 배치합니다.
목표는 완벽한 다이어그램을 만드는 것이 아닙니다. 실패를 눈에 보이게 만들고, 옮겨보고, 이야기할 수 있게 만드는 것이 목적입니다.
대시보드가 넘쳐나는 시대에, 왜 종이만 써야 할까?
이렇게 묻게 될 수 있습니다. “고급 Observability 스택이 있는데, 굳이 종이를 쓸 필요가 있을까?”
종이는 사람들이 생각하고 대화하는 방식 자체를 바꾸기 때문입니다.
- 느림은 장점이다. 인시던트를 손으로 하나씩 찍어 올리면, 자연스럽게 속도가 느려집니다. 그만큼 각 실패가 어떤 의미였는지, 어디에 속해야 하는지, 무엇과 연결되는지를 더 깊이 곱씹게 됩니다.
- 누구나 참여할 수 있다. 인덱스 카드에는 권한 시스템이 없습니다. 엔지니어, 온콜 담당자, PM, 고객 지원팀까지 모두 자신의 관점을 직접 붙일 수 있습니다.
- 툴에 중립적이다. PagerDuty, Jira, Opsgenie, 사내 자체 시스템 등 어디에 인시던트를 기록하든, 종이 위로 끌어와 한 공간에서 다룰 수 있습니다.
- 공유된 아티팩트를 만든다. 각자 머릿속에만 따로 갖고 있던 멘탈 모델 대신, 팀이 함께 바라보고 가리키며 논쟁하고 다듬을 수 있는 눈에 보이는 지도가 생깁니다.
대시보드와 에러 버짓(Error Budget)은 숫자와 양을 정량화하는 데 탁월합니다. 별자리 지도는 패턴과 이야기를 드러내는 데 탁월합니다.
준비물과 세팅
필요한 것은 많지 않습니다.
- 인덱스 카드 또는 포스트잇 (두세 가지 색이 있으면 좋습니다)
- 마커 (멀리서도 읽을 수 있을 만큼 굵은 것)
- 넓은 표면: 벽, 실물 화이트보드, 혹은 디지털 화이트보드(Miro, FigJam 등)
- 선택 사항: 관계를 강조하기 위한 테이프, 실, 색깔 스티커 등
인시던트 목록 준비하기
세션 전에 다음을 모아둡니다.
- 특정 기간(예: 지난 분기)의 인시던트 목록
- 각 인시던트의 포스트모템이나 티켓 링크
- 이미 사용하고 있는 분류 체계(심각도, 서비스, 리전 등)
너무 많이 걸러내지 마세요. 시끄럽고, 작고, “사소해 보이는” 실패도 포함합니다. 이런 것들이야말로 가장 흥미로운 별자리를 만들어내는 작은 별들인 경우가 많습니다.
단계별 가이드: 나만의 신뢰성 하늘 만들기
1. 중앙에 코어 배치하기
먼저 보드 한가운데에 큰 원을 그립니다. 이것이 **내부 고리(inner ring)**입니다.
그 안에 시스템의 핵심 구성 요소를 적습니다. 실패했을 때 가장 아픈 서비스들, 혹은 다른 모든 것의 기반이 되는 컴포넌트들입니다. 예를 들면 다음과 같습니다.
API GatewayPayments ServiceAuthenticationCore Database
다음과 같이 구성해도 좋습니다.
- 서로 다른 도메인별로 사분면을 나눈다. (예: "Data", "User‑Facing", "Infrastructure", "External Dependencies")
- 혹은, 핵심 서비스를 원의 중심 주변에 단순히 나열한다.
이 내부 고리는 일종의 중력 중심 역할을 합니다. 인시던트가 이 원에 가까울수록, 그만큼 이 코어 영역을 강하게 건드렸다는 의미가 됩니다.
2. 작은 실패별 만들기 (인덱스 카드)
각 인시던트마다 인덱스 카드 하나를 만듭니다. 카드에는 다음을 적습니다.
- 짧은 이름:
2024‑01‑12 – Checkout timeouts - 한 줄짜리 원인 요약 (현재까지의 최선의 이해):
Cache stampede on product details - 모서리에 붙이는 선택적 태그:
SEV2,US‑EAST,DB등
전체 포스트모템을 카드에 쓰고 싶은 유혹을 참고하세요. 카드는 전체 이야기로 가는 포인터일 뿐, 이야기를 전부 담는 곳이 아닙니다.
3. 대략적인 배치: 중앙에서 바깥으로
이제 스스로에게 물어봅니다. “이 실패는 코어와 어떤 관계에 있을까?”
각 카드를 다음 기준으로 배치합니다.
- 내부 고리 근처: 코어 서비스나 핵심 워크플로우, 고객에게 직접 보이는 장애와 직접적으로 연관된 경우
- 더 바깥쪽: 주변부 서비스, 낮은 영향도, 내부 시스템에만 영향을 준 경우
정확함에 집착할 필요는 없습니다. 첫 번째 라운드는 어디까지나 러프 스케치입니다. 목표는 완벽한 운영 다이어그램이 아니라, 대략적인 **신뢰성 은하(galaxy)**를 그려보는 것입니다.
4. 관계에 따라 클러스터 만들기
별들이 어느 정도 채워지면, 서로 가까이 모인 곳에 주목합니다.
- 특정 서비스나 의존성 주변에 인시던트가 유난히 많이 몰려 있나요?
- 여러 실패가 같은 트리거(예: 배포, 부하 급증, 리전 페일오버)를 공유하나요?
이제 관련 있는 인시던트들을 모아 **별자리(클러스터)**를 만듭니다.
- 다음과 같은 기준으로 인시던트를 묶습니다.
- 같은 서비스나 데이터스토어를 공유하는 경우
- 비슷한 실패 모드(예: 타임아웃, 무한 재시도, 설정 드리프트)가 반복되는 경우
- 동일한 운영상의 약점(예: 알림 부재, 런북 부족)이 공통으로 드러나는 경우
- 클러스터 주변을 가볍게 둘러싸는 선이나 도형을 그리고, 각 클러스터에 이름을 붙입니다. 예를 들면:
- The Thundering Herd Belt (떼죽음 트래픽 벨트)
- The Configuration Drift Cluster (설정 드리프트 클러스터)
- The Tuesday Deploy Nebula (화요일 배포 성운)
별자리에 붙이는 이름은 일부러 약간 유쾌하게 짓습니다. 기억에 잘 남는 이름일수록 나중에 그 시스템적인 문제를 더 쉽게 이야기할 수 있기 때문입니다.
5. 이름 있는 연결선 추가하기
이제 카드들 사이를 선이나 실로 연결해 다음 관계들을 나타낼 수 있습니다.
- 인과 관계 (A가 B에 기여했음)
- 공통 의존성 (둘 다 같은 캐시, 큐, 써드파티 API를 사용함)
- 공통 기여 요인 ("온콜 담당자의 시스템 미숙지", "로그에 컨텍스트 부족" 등)
레이블은 단순하게, 그리고 되도록 반복해서 사용하는 것이 좋습니다.
configcapacityfeature flagmanual fix
시간이 지날수록 특정 레이블이 여러 별자리에서 반복 등장하는 것을 보게 될 것입니다. 이것이 더 깊은 시스템적 패턴이 있다는 신호입니다.
6. 반복해서 다시 이름 붙이고, 다시 배치하기
이 지도의 진짜 힘은 이해가 깊어질수록 카드를 계속 옮기고 재구성할 수 있다는 점입니다.
- 포스트모템 중에는: 새 인시던트를 하나의 별로 추가하고, 어느 별자리에 속하는지 확인해 봅니다.
- 신뢰성 리뷰 중에는: “서비스 기준”이 아니라 “사용자 영향도 기준” 등 새로운 관점으로 클러스터를 다시 묶어 볼 수 있습니다.
- 계획 수립 시에는: 이번 분기에 줄이고 싶은 클러스터를 눈에 띄게 표시합니다.
종이(또는 단순 화이트보드)만 쓰기 때문에, 스키마 마이그레이션도, 툴 마이그레이션도 필요 없습니다. 팀이 신뢰성을 이야기하는 언어가 변하는 속도만큼 여러분의 모델도 함께 빠르게 진화할 수 있습니다.
SRE 대시보드를 어떻게 보완하는가
이 기법은 Observability, SLO, 에러 버짓을 대체하는 것이 아닙니다. 대신, 대시보드가 하기 어려운 일을 대신 잘해 줍니다.
-
시간을 가로질러 인시던트를 연결한다
- 대시보드는 “지금”의 메트릭을 보여줍니다.
- 별자리 지도는 몇 달에 걸친 이야기를 보여줍니다. 여러 “사소한” 인시던트가 모여 어떻게 하나의 큰 주제를 이루는지 시각화합니다.
-
핫스팟이 아니라 시스템적인 이슈를 드러낸다
- 같은 외부 의존성이 서로 다른 세 별자리에서 반복 등장할 수 있습니다.
- 혹은, 전혀 다른 서비스들에 걸쳐 "애매한 오너십"이 공통된 문제로 반복되는 것을 볼 수도 있습니다.
-
팀 간 대화를 이끌어낸다
- 어느 팀의 대시보드가 맞느냐를 두고 다투는 대신, 모두가 함께 서서 바라보는 공유된 그림을 앞에 두게 됩니다.
- 사람들은 지도를 가리키며 말할 수 있습니다. “이 다섯 장의 카드, 온콜할 때 다 똑같은 느낌이었어요. 이 경험을 어떻게 줄일 수 있을까요?”
-
추상적인 메트릭을 구체적인 작업으로 바꾼다
- 어떤 인시던트 클러스터가 특정 SLO의 위험 구간과 정확히 겹친다면, 그 연결고리는 벽 위에서 바로 눈에 들어옵니다.
- 단일 서비스의 메트릭 하나를 고치는 대신, 별자리 전체를 줄이는 방향으로 신뢰성 개선을 우선순위화할 수 있습니다.
실제로 별자리 지도를 활용하는 방법
포스트모템에서
- 새 인시던트를 리뷰할 때마다, 해당 인시던트의 별을 물리적으로 하나 추가합니다.
- 질문합니다. “이건 어느 별자리에 속할까?” 만약 어디에도 속하지 않는다면, 새로운 별자리를 시작합니다.
- 인수인계 문제, 커뮤니케이션 공백 같은 비기술적 요인도 별 하나로 따로 추가합니다.
분기별 신뢰성 리뷰에서
- 한 걸음 물러서서 다음을 질문합니다.
- 이번 분기에 가장 빠르게 커진 별자리는 무엇인가?
- 반복해서 다시 등장한 패턴은 무엇인가? (예: 설정 오류, 배포 안전성, 스테이징 환경과 프로덕션의 불일치 등)
- 이런 통찰을 바탕으로 신뢰성 로드맵을 세웁니다. 개별 증상이 아니라, 클러스터 전체를 겨냥하는 프로젝트를 잡는 식으로요.
워크숍과 온보딩에서
- 새로 합류한 SRE나 온콜 로테이션에 들어오는 엔지니어에게 지도를 교육 도구로 활용합니다.
- 별자리를 함께 보며 다음을 설명합니다.
- "여기가 우리가 가장 아팠던 인시던트들이 몰려 있던 곳입니다."
- "이 부분은 지금 개선 작업이 한창인 영역입니다."
- "아키텍처 다이어그램에는 잘 안 보이지만 실제로는 매우 취약한 시스템의 모서리들이 여기 있습니다."
종이 기반이고 도구에 종속되지 않기 때문에, 이 연습은 어디서든 할 수 있습니다. 대면 워룸, 카메라를 공유하는 하이브리드 워크숍, 디지털 화이트보드를 쓰는 완전 원격 팀 모두 가능합니다.
아마도 이런 것들을 발견하게 될 것이다
종이로 인시던트 별자리 지도를 만들기 시작한 팀들은 보통 다음과 같은 인사이트를 보고합니다.
- 반복되는 숨은 테마들: 예를 들면, “거의 모든 문제가 배포 시점에 더 나빠진다”, 혹은 “타임아웃이 진짜 근본 원인을 가려 버린다” 같은 패턴입니다.
- 투자가 부족한 코어 서비스: 모두가 의존하지만 아무도 온전히 “소유”하지 않는 핵심 컴포넌트 주변에, 인시던트별이 빽빽하게 모여 있는 경우입니다.
- 프로세스와 사람 요인: 메트릭 대시보드에는 절대 등장하지 않는, "불명확한 런북", "에스컬레이션 혼선"과 같은 라벨이 반복되는 별들이 보이기 시작합니다.
- 시스템적인 해결 기회: 중앙집중식 설정 관리, 더 나은 피처 플래깅, 더 탄탄한 패턴, 공용 툴링 등을 통해 한 번의 개선으로 여러 클러스터를 한꺼번에 줄일 수 있는 기회가 드러납니다.
가치는 예쁜 지도를 갖는 데 있지 않습니다. 지도가 가능하게 만드는 대화와 결정에 있습니다.
결론
종이로 만드는 인시던트 별자리 지도는 의도적으로 단순합니다. 인덱스 카드, 보드 한 개, 그리고 작은 실패별 하나도 빠짐없이 공유된 신뢰성의 하늘에 찍어 올리는 습관.
지도를 중심에서부터 바깥으로 확장해 나가면서—코어 서비스를 먼저 두고, 그 주변에 관련 인시던트를 겹겹이 쌓아 나가면—흩어져 있던 장애와 티켓들이 시스템적인 문제의 별자리로 변합니다. 이 지도는 SRE 대시보드를 대체하는 것이 아니라, 그것을 사람이 읽을 수 있는 내러티브로 번역해 줍니다. 팀 모두가 함께 보고, 이야기하고, 행동할 수 있는 형태로요.
요즘 팀의 신뢰성 논의가 산발적이거나, 개별 사건에만 집착하는 느낌이 든다면, 이 실험을 한 번 해보세요. 지난 분기를 골라 인시던트를 모으고, 오후 한나절을 들여 실패별을 손으로 찍어 올려 보세요. 서로 옮기고, 다시 쓰고, 이름을 붙여가며 벽 위에 펼쳐 보았을 때에야 비로소 비로소 눈에 들어오는 패턴이 있을지 모릅니다.
복잡한 시스템을 이해하는 가장 빠른 방법이, 때로는 도구에서 잠시 눈을 떼고, 여러분이 직접 만든 실패의 하늘을 올려다보는 것일 수 있습니다. 그리고 나서 팀으로서, 어떤 별자리부터 다시 그려 나갈지 함께 결정해 보세요.