Rain Lag

아날로그 인시던트 스토리 조선소 벽: 장애가 수리하러 안전하게 들어오는 ‘종이 항구’ 만들기

프로덕션 인시던트를 ‘수리하러 들어오는 배’로 시각화하는 물리적인 ‘종이 항구’ 벽을 만드는 방법을 소개합니다. 칸반 원칙, 실제 모니터링 데이터, 지속적인 개선을 하나의 공유 시각 작업 공간으로 엮는 접근입니다.

아날로그 인시던트 스토리 조선소 벽: 장애가 수리하러 안전하게 들어오는 ‘종이 항구’ 디자인하기

인시던트(장애)는 늘 스트레스를 동반합니다. 대시보드는 빨간불로 뒤덮이고, Slack 채널은 불이 나 있고, 모두가 같은 세 개의 차트를 보며 무엇이 잘못됐는지 해독하려 애씁니다. 이런 순간에 팀이 더 필요한 것은 새로운 도구가 아니라, 더 많은 명확성(clarity) 입니다.

의외로 강력한 방법 하나는 화면에서 잠시 벗어나 아날로그 인시던트 스토리 조선소 벽을 만드는 것입니다. 장애가 배가 되어 항구로 입항하고, 도크에서 수리된 뒤, 다시 안전하게 바다로 떠나는 과정을 담는 물리적인 ‘종이 항구(paper harbor)’ 입니다.

이 글에서는 이 항구를 어떻게 설계하는지, 실시간 인시던트 대응에 어떻게 활용하는지, 그리고 Datadog, Postman, New Relic, Uptrace 같은 현대적인 모니터링 도구와 어떻게 엮어서 이 아날로그 벽을 실제 데이터에 기반한 시스템으로 유지하는지를 단계별로 살펴보겠습니다.


왜 인시던트를 위한 ‘종이 항구’인가?

대부분의 인시던트 관리는 디지털에서 이뤄집니다. 인시던트 티켓, Slack 채널, 대시보드, 런북 등이 그렇습니다. 이 도구들은 필수적이지만 동시에 다음과 같은 문제도 있습니다.

  • 여러 도구에 분산되어 있고
  • 한눈에 전체 상황을 보기 어렵고
  • 인시던트를 “해결 완료”로 표시하고 나면 쉽게 잊혀집니다.

종이 항구는 다른 가치를 제공합니다.

  • 공유 가시성: 하나의 벽, 하나의 스토리. 누가 지나가더라도 어떤 인시던트가 있고, 지금 어떤 단계에 있으며, 어디서 막혔는지 한눈에 볼 수 있습니다.
  • 속도를 늦춘 사고, 더 나은 결정: 마커로 쓰고 카드를 손으로 옮기는 행위는 속도를 약간 늦춰 줍니다. 그만큼 더 차분하고 명확하게 생각하게 해 줍니다.
  • 서사 중심: 각 인시던트는 하나의 배이며, 하나의 이야기입니다. 어디서 왔는지, 무엇이 일어났는지, 어떻게 해결했는지, 무엇을 배웠는지의 스토리가 됩니다.

메타포는 단순하고 직관적입니다.

모든 인시던트는 수리를 위해 항구로 들어오는 배(ship) 입니다. 손상된 상태로 도착해, 조사와 수리를 거치고, 검증을 통과한 뒤, 다시 프로덕션이라는 바다로 떠납니다.


1단계: 항구 설계하기 — 컬럼과 흐름 정의

먼저 큰 물리적 공간을 하나 만듭니다. 화이트보드, 코르크보드, 또는 마스킹 테이프로 구획 나눈 벽 일부여도 좋습니다. 이게 바로 여러분의 항구(harbor) 입니다.

이제 각 인시던트-배가 반드시 거쳐야 할 단계를 컬럼으로 만듭니다. 간단하면서도 효과적인 플로우는 다음과 같습니다.

  1. 입항 중인 조난 신호 (Incoming Distress Signals)
    방금 감지된 배들입니다. 알람이 울리고, 에러율이 치솟고, SLO가 위험 구간에 들어간 상태입니다.

  2. 조사 도크에 정박 (Docked for Investigation)
    텔레메트리, 로그, 트레이스, 컨텍스트를 수집하고 있습니다. 핵심 질문은 하나입니다. “지금 실제로 무슨 일이 벌어지고 있는가?”

  3. 수리 중 (Under Repair)
    가설을 세웠고, 이에 따라 코드 수정, 패치, 설정 변경, 롤백, 피처 플래그 전환 같은 작업을 적용하고 있습니다.

  4. 시운전(Sea Trials, 검증 단계)
    수정 사항이 배포된 상태입니다. 메트릭과 사용자 영향을 모니터링하며 이 배가 정말 다시 바다로 나가도 될 만큼 튼튼한지 확인합니다.

  5. 출항 대기 (Ready to Depart)
    사용자 영향 관점에서 인시던트는 해결됐지만, 아직 문서화가 완전히 끝난 것은 아닙니다.

  6. 교훈 기록 & 복귀 (Lessons Logged & Back at Sea)
    이 배의 이야기가 완성된 상태입니다. 인시던트 리포트, 후속 작업, 보호 장치가 모두 기록되었습니다.

이 단계들은 팀에 맞게 커스터마이즈할 수 있지만, 너무 많이 늘리지는 마세요. 이 벽의 힘은 명확함과 단순함에서 나옵니다.


2단계: 배 만들기 — 매니페스트를 가진 인시던트 카드

각 인시던트는 항구를 따라 이동하는 하나의 배 카드(ship card) 를 갖게 됩니다. 실제로 손에 잡히는 물리적 아티팩트입니다.

인덱스 카드, 포스트잇, 직접 인쇄한 ‘배 카드’를 사용해도 됩니다. 각 배에는 일정한 형식으로 정보를 적습니다. 이것이 바로 모니터링 데이터에 기반한 이 배의 매니페스트(manifest) 입니다.

  • 배 이름 / 인시던트 ID: 예) API-2025-01: Order 서비스 타임아웃
  • 최초 신호(First Signal): Datadog 알람? Postman 테스트 실패? New Relic APM 이상 징후? Uptrace 스팬 에러? 가장 먼저 감지한 도구를 적습니다.
  • 영향 요약(Impact Summary): 누가, 어느 정도로 영향을 받았는지. 예) "EU 리전 체크아웃 요청의 20% 실패"
  • 핵심 텔레메트리 링크(Key Telemetry Links): 다음으로 바로 이동할 수 있는 짧은 URL 또는 QR 코드
    • Datadog 대시보드나 모니터
    • Postman 컬렉션 / 테스트 실행 결과
    • New Relic 차트나 트레이스
    • Uptrace 트레이스 또는 스팬 뷰
  • 온콜 담당자(Owner on Call): 현재 이 배의 캡틴(책임자)은 누구인가?
  • 시작 시간 / 해결 시간(Start Time / Resolved Time): 기본적인 인시던트 지속 시간 추적 및 이후 분석용
  • 근본 원인 노트(Root Cause Notes) (나중에 작성): 트리거가 아니라 시스템적 근본 원인
  • 후속 조치(Follow-up Actions): 런북 추가/수정, 테스트 작성, 설정 변경, 코드 수정, 보호 장치 추가 등

배 카드는 디지털과 아날로그가 만나는 지점입니다. 모든 데이터를 복제하는 것이 아니라, 팀이 상황을 이해하고 움직이기 위해 필요한 딱 그만큼만을 꺼내 보여줍니다.


3단계: 항구에 칸반(Kanban) 원칙 적용하기

인시던트 항구는 단지 멋진 메타포가 아니라, 인시던트 해결을 위한 칸반 시스템입니다. 이걸 제대로 작동하게 만드는 세 가지 핵심 칸반 원칙이 있습니다.

1. 작업 시각화(Visualize Work)

이 벽은 모든 진행 중인 인시던트를 한 번에 볼 수 있게 해 줍니다.

  • 어떤 배들이 조난 신호를 보내고 있는가?
  • 어떤 도크(단계)가 붐비는가?
  • 어떤 인시던트가 같은 단계에 너무 오래 머물러 있는가?

더 이상 누군가가 “인시던트 현황을 정리해서 공유”해 주길 기다릴 필요가 없습니다. 그저 벽을 보면 됩니다.

2. 진행 중인 작업 제한(WIP Limit)

WIP(Work In Progress) 제한이 없으면, 팀은 금방 지쳐 버립니다. 제대로 조사되지도 않은 인시던트 10개를 동시에 만지작거리면서, 어느 하나도 확실히 진척되지 않는 상황이 벌어집니다.

각 단계별로 WIP 제한을 설정합니다. 예를 들면:

  • Incoming Distress Signals(조난 신호): ∞ (알람 발생 자체는 막을 수 없음)
  • Docked for Investigation(조사 도크): 최대 3척
  • Under Repair(수리 중): 최대 2척
  • Sea Trials(시운전): 최대 3척

어떤 컬럼이 이 한도를 넘어서면 반드시 다음 중 하나를 해야 합니다.

  • 작업을 끝내고 배를 다음 단계로 옮기거나,
  • 우선순위를 명확히 내려서 어떤 것을 미루거나,
  • 인력을 늘리거나 (예: 다른 엔지니어/팀을 깨우거나 투입).

이는 용량(capacity)수요(demand) 사이의 어려운 대화를 피하지 못하게 만드는 장치입니다.

3. 병목을 드러내기(Expose Bottlenecks)

몇 주만 지나도 패턴이 보이기 시작합니다.

  • 배가 조사 단계에 쌓이고 있는가? 관측 가능성(observability)이 부족하거나, 탄탄한 런북이 없을 수 있습니다.
  • 시운전 단계에서 막히는가? 검증 기준이 모호하거나, 롤아웃 전략이 너무 취약할 수 있습니다.

이 벽은 인시던트 프로세스 안에 숨어 있던 마찰을 눈에 보이는 병목으로 바꿔 줍니다. 팀이 실제로 개선할 수 있게 말이죠.


4단계: 아날로그와 디지털 자연스럽게 섞기

종이 항구는 기존 도구를 대체하는 것이 아니라, 각 도구를 조율(orchestrate) 하는 허브 역할을 합니다.

각 인시던트-배마다 여러분이 사용하는 생태계에서 핵심 데이터를 끌어옵니다.

  • Datadog: 어떤 모니터가 울렸는가? 인시던트 전/중/후의 핵심 메트릭은 어떻게 변했는가?
  • Postman: 계약 테스트(contract test)나 시뮬레이션(합성) 모니터가 실패했는가? 어떤 API 엔드포인트가 영향받았는가?
  • New Relic: 어느 서비스나 트랜잭션이 느려졌는가? 트레이스나 에러 분석에서 핫스팟은 어디인가?
  • Uptrace: 어느 스팬에서 에러가 많이 나는가? 특정 컴포넌트나 의존성이 반복적으로 실패하는가?

실용적인 팁:

  • 배 카드에 짧은 링크나 QR 코드를 넣어 벽에서 바로 관련 대시보드로 점프할 수 있게 합니다.
  • 스탠드업이나 인시던트 리뷰 때는 벽 앞에 서서, 동시에 누군가는 화면을 공유해 관련 대시보드를 보여줍니다.
  • 벽 한쪽에 작은 컬러 레전드를 둡니다. 예를 들어, Datadog 중심 인시던트는 파란색 스티커, New Relic은 초록색, Postman은 주황색, Uptrace는 보라색으로 표시합니다.

벽은 사람들 간의 협업과 조율을 돕고, 도구들은 텔레메트리, 자동화, 정밀도를 제공합니다.


5단계: 벽 앞에서 데이터 기반 인시던트 회고 진행하기

배가 Ready to Depart(출항 대기) 단계에 도달했다면, 바로 떠나보내지 마세요. 이 지점부터 항구는 학습 엔진이 됩니다.

벽 앞에서 짧고 집중된 인시던트 회고(포스트모템)를 진행합니다.

  1. 항해를 다시 그려 보기(Reconstruct the Voyage)

    • 인시던트를 우리가 처음 감지한 시점은 언제였는가?
    • 어떤 도구가 가장 명확한 신호를 줬는가?
    • 초기에 우리가 놓친 것은 무엇이었는가?
  2. 쉬운 언어로 이야기로 풀어 쓰기(Tell the Story in Plain Language)
    배 카드나, 별도의 종이를 붙여 간결한 스토리를 적습니다.

    • 무엇이 망가졌는가?
    • 왜 망가졌는가?
    • 어떻게 고쳤는가?
    • 다음에는 무엇을 다르게 할 것인가?
  3. 교훈을 배에 고정시키기(Anchor Lessons in the Ship)
    다음과 같은 노트를 추가합니다.

    • "Order API p95 latency에 대한 Datadog 모니터 추가"
    • "체크아웃 플로우용 새로운 Postman 컬렉션 생성"
    • "피크 트래픽 동안 이 서비스의 Uptrace 샘플링 비율이 너무 낮음"
  4. 구체적인 후속 작업 지정(Assign Concrete Follow-Ups)
    모든 액션 아이템에는 반드시 담당자와 마감일을 지정합니다. 카드에 직접 적거나, 연결된 작업 관리 보드에 기록합니다.

이 과정을 마친 뒤에야 배를 Lessons Logged & Back at Sea(교훈 기록 & 복귀) 컬럼으로 옮깁니다.

시간이 지나면 이 섹션은 여러분 팀의 함대 역사(fleet history) 가 됩니다. 힘들게 배운 것들의 시각적인 백로그이자 기록입니다.


6단계: 항구를 지속적 개선 엔진으로 만들기

진짜 마법은 개별 배가 아니라 배들 전체에서 반복되는 패턴을 보게 될 때 시작됩니다.

매달 혹은 분기마다 팀과 함께 벽 앞에 서서 다음과 같은 질문을 던져 보세요.

  • 실패 양상이 반복되는 곳은 어디인가?
    • 같은 서비스? 같은 의존성? 같은 리전?
  • 어떤 신호가 가장 빨리 문제를 포착했는가?
    • Datadog 로그가 APM 메트릭보다 빨랐는가? Postman 모니터가 실제 사용자보다 먼저 API 퇴행을 잡아냈는가?
  • 작업이 가장 자주 멈추는 단계는 어디인가?
    • 조사, 수리, 검증 중 어디인가?
  • 어떤 보호 장치가 실제로 재발을 막았는가?

간단한 시각적 마커를 사용할 수 있습니다.

  • 사용자 가시 다운타임이 있었던 배에는 빨간 점
  • 아슬아슬한 위기(near-miss) 에는 노란 점
  • 보호 장치가 재발을 실제로 막은 인시던트에는 초록 점

이런 패턴이 눈에 보이면, 다음을 조정해 나갈 수 있습니다.

  • 알람 임계값과 SLO
  • 런북과 온콜 프로세스
  • 테스트 커버리지와 합성 모니터링
  • 롤아웃 전략과 피처 플래그 정책

이 항구는 단지 인시던트가 수리를 위해 들르는 곳이 아니라, 여러분의 전체 인시던트 관리 시스템이 진화하는 장소가 됩니다.


맺음말: 만들 만한 가치가 있는 항구

복잡한 클라우드 네이티브 스택과 AI 기반 옵저버빌리티가 넘쳐나는 시대에, 물리적인 인시던트 스토리 조선소 벽은 다소 올드해 보일 수 있습니다. 하지만 바로 그렇기 때문에 이 방식이 잘 통합니다.

아날로그 항구는 다음을 가능하게 합니다.

  • 인시던트를 손에 잡히는, 눈에 보이는 것으로 만들고
  • 검증된 칸반 원칙을 대응 흐름에 적용하고
  • 인간의 이해와 디지털 텔레메트리를 결합시키며
  • 모든 장애를 팀 전체가 함께 보고, 배우고, 개선하는 하나의 이야기로 바꿉니다.

이걸 한 번에 모든 팀에 도입할 필요는 없습니다. 작게 시작하세요.

  • 벽 한 면을 정하고,
  • 항구 단계를 정의하고,
  • 배 카드 템플릿을 몇 장 출력하고,
  • 최근 인시던트 3개를 골라 도킹해 보세요.

그 배들이 움직이는 모습을 보면서, 단지 장애가 해결되는 것뿐 아니라 문화가 만들어지는 것도 보게 될 것입니다. 인시던트가 더 이상 그저 버텨야 하는 비상 상황이 아니라, 수리하고, 배우고, 더 강하게 항해를 나설 기회로 자리 잡는 문화를 말입니다.