Rain Lag

종이 인시던트: 스트리트 맵 카페가 매일의 신뢰성을 스케치하는 방법

가상의 서비스 ‘스트리트 맵 카페’의 작은 팀이 종이 기반 인시던트 의식, FRACAS, 그리고 가벼운 역할 체계를 활용해 장애를 배포와 배포 사이의 ‘매일 하는 신뢰성 연습’으로 바꾸는 방법.

종이 인시던트: 배포 사이를 잇는 일상적 신뢰성 스케치

대부분의 팀은 인시던트를 폭풍처럼 대합니다. 방해되고, 지치고, 다시는 안 오길 바라는 일. **스트리트 맵 카페(Street Map Cafe)**라는 가상의(하지만 매우 익숙한) 도시 탐색 SaaS 제품 팀은 인시던트를 폭풍이 아니라 이야기로 대하는 법을 배웠습니다. 그리고 그 이야기를 종이에 스케치하고, 지도처럼 펼쳐 보고, 배포와 배포 사이에 계속해서 다시 꺼내 봅니다.

이 글에서는 작은 엔지니어링 팀이 다음을 어떻게 해낼 수 있는지 살펴봅니다.

  • FRACAS(Failure Reporting, Analysis, and Corrective Action System: 고장 보고·분석·시정조치 시스템)를 과도한 관료주의 없이 가볍게 쓰는 법
  • 인시던트 리포트를 먼지 쌓이는 포스트모템이 아니라, 신뢰성·안전·운영을 위한 구조화된 데이터 자산으로 바꾸는 법
  • 아주 작은 핵심 인시던트 팀명확한 역할로 인시던트를 운영하는 법
  • 종이 우선 스케치(타임라인, 의존성 맵, 스토리 맵)를 통해 배운 것을 체화하고, 매일의 신뢰성 의식으로 만드는 법

이걸 하나의 종이 인시던트 스토리 맵이라고 생각해도 좋습니다. 장애 중에 일어나는 일과, 배포 사이에 여러분이 어떻게 일하는지를 이어 주는 연결 고리입니다.


한 번짜리 포스트모템에서 ‘살아 있는’ 신뢰성 시스템으로

스트리트 맵 카페의 인시던트는 예전에는 늘 비슷한 패턴이었습니다.

  1. 뭔가 고장이 난다.
  2. Slack이 난리가 난다.
  3. 사람들이 우르르 모여 어떻게든 복구하고, 포스트모템을 쓴다.
  4. …그리고 일상이 돌아오면, 실제 일하는 방식은 거의 변하지 않는다.

변곡점은 어느 날 결제 시스템 장애 이후였습니다. 여섯 달 전에도 비슷한 일이 있었죠. 근본 원인은 달랐지만, 패턴은 완전히 같았습니다.

  • 느린 탐지
  • 모호한 오너십
  • 팀보다 고객이 먼저 장애를 알아차리는 상황

문제는 기술적인 것만이 아니었습니다. 시스템적인 문제였죠. 인시던트를 고립된 사건으로만 보고, 더 큰 신뢰성 스토리 안의 데이터 포인트로 보지 못하고 있었던 겁니다.

그래서 팀은 가벼운 FRACAS 마인드셋을 도입했습니다.

관료주의 없이 쓰는 FRACAS

FRACAS는 이렇게 구성됩니다.

  • Failure Reporting(고장 보고) – 인시던트를 구조화된 방식으로 기록한다.
  • Failure Analysis(고장 분석) – 실제로 무슨 일이 왜 일어났는지 이해한다.
  • Corrective Action(시정조치) – 재발을 막거나 영향을 줄일 변경을 적용한다.
  • System(시스템) – 이 과정을 인시던트 전체에 일관되게 적용·추적 가능하게 만든다.

많은 팀이 FRACAS라는 말을 들으면, 항공 산업급의 빡센 관료제를 떠올리며 일단 피하고 봅니다. 스트리트 맵 카페는 다른 길을 택했습니다.

  • 모든 인시던트에 공통으로 쓰는 간단한 단일 인시던트 폼(문서나 티켓 시스템 기반)
  • 매번 반드시 채우는 소수의 공통 필드만 유지
  • 배포와 배포 사이에 패턴을 리뷰하는 습관

거대한 스프레드시트도, 10단계 승인 체인도 없습니다. 다만, 시간이 지나도 트렌드를 볼 수 있을 만큼의 최소한의 구조만 남겼습니다.


인시던트 리포트를 ‘무덤’이 아니라 데이터 자산으로

가장 큰 변화는 폼 자체가 아니라, 데이터를 바라보는 시각이었습니다.

단발성 포스트모템으로 끝내는 대신, 팀은 이렇게 물었습니다.

“이걸 1년치 구조화된 데이터로 본다면, 우리 신뢰성·안전·운영에 대해 무엇을 배울 수 있을까?”

그래서 핵심 인시던트 스키마를 표준화했습니다.

  • 무엇이 실패했는가? (서비스, 기능, 의존성 등)
  • Failure Class(고장 유형): 데이터, 인증(auth), 성능, 설정, 외부 의존성 등
  • 탐지 소스: 모니터링, 고객 문의, 내부 제보
  • 영향 범위(Impact Surface): 영향받은 고객 규모, 지역, 내부/외부 영향 구분
  • 시간 지표(Time Metrics): 탐지까지 걸린 시간, 완화까지 시간, 완전 해결까지 시간
  • 기여 요인(Contributing Factors): 프로세스, 툴링, 환경, 휴먼 팩터 등
  • 시정조치(Corrective Actions): 기술·프로세스 변경 사항

이렇게 구조화하니 다음과 같은 질문에 답할 수 있게 됩니다.

  • 어떤 서비스가 인시던트 대부분을 만들어 내는가?
  • 외부 의존성 때문에 문제가 생기는 빈도는 어느 정도인가?
  • 인시던트는 주로 고객이 먼저 발견하는가, 아니면 모니터링이 먼저 잡는가?
  • 특정 릴리스 윈도우와 장애 발생이 상관 관계를 보이는가?

인시던트를 구조화된 신뢰성 데이터로 다루면서, 이 데이터는 곧바로 계획 수립을 위한 피드백 루프가 됩니다.

  • 로드맵에 신뢰성 작업을 넣을 때, **아네크도트(누군가의 기억)**가 아니라 증거 기반으로 결정할 수 있습니다.
  • 플랫폼·툴링 투자도 패턴을 근거로 정당화할 수 있습니다(“느낌상 필요해서”가 아니라).
  • 온콜(온콜러) 교육도 실제로 자주 반복되는 실전 고장 유형 위주로 조정됩니다.

작은 팀일수록 가벼운 인시던트 워크플로가 필요하다

스트리트 맵 카페는 작은 엔지니어링 팀으로 운영됩니다. 거대한 인시던트 프로세스를 운용할 여력은 없지만, 그렇다고 완전한 혼돈도 감당할 수 없습니다.

그래서 워크플로 설계에 다음 두 가지 제약을 걸었습니다.

  1. 3–5명이면 언제든지 전 과정을 돌릴 수 있어야 한다.
  2. 혼란을 줄이거나 재발을 줄이는 데 기여하지 않는 프로세스 단계는 모두 없앤다.

결과물은 작고, 역할이 또렷이 정의된 핵심 인시던트 대응 팀이었습니다.

3–5명으로 구성하는 코어 팀

중요도가 있는 인시던트에는 항상 세 가지 핵심 역할을 지정합니다.

  1. Incident Commander (IC, 인시던트 커맨더)

    • 전체 의사결정과 조율을 책임집니다.
    • 롤백 vs 패치, 부분 셧다운 vs 전체 셧다운 등 우선순위를 결정합니다.
    • 팀이 한 방향으로 집중하도록 하고, 불필요한 왈가왈부를 막습니다.
  2. Tech Lead (TL, 테크 리드)

    • 근본 원인 분석과 기술적 완화를 주도합니다.
    • 엔지니어들에게 어디를 볼지, 무엇을 바꿀지, 어떻게 검증할지 지시합니다.
    • 가설과 증거를 추적하며 기술적 스토리를 정리합니다.
  3. Communications Lead (CL, 커뮤니케이션 리드)

    • 고객, 리더십, 지원/영업 팀 등 이해관계자 커뮤니케이션을 담당합니다.
    • 상태 페이지 업데이트, 내부 브로드캐스트를 책임집니다.
    • 기술적 상황을 이해하기 쉬운 일반 언어로 번역합니다.

필요하면 여기에 1–2명의 지원 엔지니어를 더할 수 있지만, 핵심 역할 셋은 항상 동일하게 유지됩니다. 이 일관성 덕분에:

  • 조율 오버헤드가 줄고,
  • 교육이 쉬워지며,
  • 상황이 혼란스러울 때도 누가 무엇을 결정하는지가 명확해집니다.

25명이 몰려 있는 워룸도, 흐릿한 의사결정 구조도 없습니다. 소수 정예가 각자 무엇을 책임지는지 아는 팀만 있습니다.


왜 ‘종이’인가? 스트리트 맵 카페의 스케치 의식

이 팀의 가장 특이한 신뢰성 습관은 사실 거의 우연처럼 시작됐습니다.

한 번은 특히 소란스러운 인시던트가 있었습니다. 한 엔지니어가 노트북을 덮고, 노트를 꺼내더니 스케치를 시작했습니다.

  • 세로로 내려가는 타임라인에 주요 이벤트를 표시하고,
  • 서비스와 외부 API를 간단히 그린 의존성 다이어그램을 그리고,
  • 사용자, 그들의 경로, 어디에서 에러를 마주치는지 정리한 스토리 맵을 그렸습니다.

이때 팀은 변화를 느꼈습니다.

  • 대화가 훨씬 집중되었고,
  • 모두가 랜덤한 Slack 메시지를 따라다니기보다, 같은 그림을 기준으로 정렬되었고,
  • 며칠이 지나도 인시던트의 디테일을 더 잘 기억하고 있었습니다.

그래서 이걸 하나의 **의식(ritual)**으로 만들었습니다.

인시던트 중 ‘손으로 그리는’ 스케치

인시던트가 일정 심각도(severity) 이상이면, 누군가(보통 TL이나 IC)가 종이 스케치를 시작합니다.

  • 타임라인 컬럼: 탐지 시점, 주요 변경, 완화 시도, 상태 전환 등을 시간 순으로 적습니다.
  • 시스템 맵: 서비스 박스, 데이터 스토어, 서드파티 API, 큐 등을 박스와 화살표로 단순하게 표현합니다.
  • 영향 메모: 어떤 사용자 플로우가 어디서 깨지는지, 어떤 증상이 나타나는지를 적습니다.

왜 멋진 툴 대신 굳이 종이일까요?

  • 인지 부하가 낮습니다. UI를 만지작거릴 필요 없이, 생각나는 대로 빠르게 그릴 수 있습니다.
  • 집중력이 좋아집니다. 펜과 종이는 탭 과부하에서 벗어나게 해 줍니다.
  • 기억력이 좋아집니다. 손으로 쓰고 그리는 것은 인지·기억에 더 오래 남습니다.
  • 의도적인 제약을 줍니다. 정말 중요한 것만 적게 되기 때문입니다.

스케치는 나중에 사진으로 찍어 인시던트 기록에 첨부하지만, 그 순간만큼은 툴링의 편리함보다 생각의 속도를 우선합니다.


배포 사이를 잇는 ‘종이 우선’ 매핑

진짜 마법은 인시던트 중이 아니라, 배포와 배포 사이에서 일어납니다.

스트리트 맵 카페는 **종이 인시던트 스토리 맵 세션(Paper Incident Story Map Session)**이라는 정기 의식을 만들었습니다.

매주(혹은 큰 인시던트 이후) 45–60분 정도 소규모로 모여서:

  • 최근 기간 인시던트 리포트,
  • 출력하거나 화면에 띄운 지표(SLI/SLO, MTTR, 인시던트 건수 등),
  • 빈 종이와 펜, 마커를 준비합니다.

그리고 세 가지 종류의 맵을 그립니다.

1. 한눈에 보는 인시던트 타임라인

한 장의 종이에:

  • 최근 인시던트 각각에 대한 미니 타임라인을 스케치합니다.
  • 탐지, 에스컬레이션, 완화, 해결 시점을 표시합니다.
  • 어떤 시그널(알람, 고객 티켓, 대시보드 지표 등)이 실제 행동을 트리거했는지 적습니다.

이 과정을 반복하다 보면 다음과 같은 것들이 드러납니다.

  • 지나치게 시끄럽거나, 반대로 너무 조용한 알람 규칙
  • 오너십이 애매해서 에스컬레이션이 느려지는 패턴
  • 특정 유형의 인시던트에서 반복해서 나타나는 지연 요인

2. 의존성 스토리 맵

다른 한 장에는 이렇게 그립니다.

  • 핵심 사용자 여정(예: “지도 둘러보기 → 카페 선택 → 결제”)을 먼저 그리고,
  • 각 단계에서 호출되는 서비스와 의존성을 층위별로 얹습니다.
  • 그 위에 최근 인시던트가 어느 경로와 겹치는지 표시합니다.

그러면 다음과 같은 패턴이 눈에 보입니다.

  • 특정 백엔드 서비스가 전체 인시던트의 절반 가까이에 관여한다.
  • 하나의 서드파티 제공자가 연쇄적인 문제를 만들어 낸다.
  • 어떤 흐름은 우아한 강등(Graceful Degradation) 경로가 전혀 없다.

이 맵은 그대로 아키텍처 우선순위신뢰성 에픽으로 이어집니다.

3. 매일 하는 신뢰성 의식 맵

마지막으로, 인시던트를 덜 일어나게 하거나 덜 고통스럽게 만들 일상의 습관 루프를 스케치합니다.

  • 배포 전 체크리스트
  • 알람 튜닝
  • 런북(runbook) 업데이트
  • 카오스 테스트나 드릴
  • 온콜 섀도잉(신규 인원이 함께 따라다니며 배우는 것)

각 습관마다 다음을 적습니다.

  • 어떤 인시던트가 이 습관의 동기가 되었는지
  • 누가 책임자인지
  • 얼마나 자주 할 것인지

이렇게 하면 신뢰성 작업이 손에 잡히고 눈에 보이는 것이 됩니다. “언젠가 해야지”라고만 말하는 추상적인 일이 아닙니다.


인시던트 스토리에서 매일의 실천으로

시간이 흐르면서 스트리트 맵 카페의 종이 우선 의식은 팀의 기본 행동양식을 바꾸었습니다.

  • 엔지니어들은 새로운 기능을 설계할 때부터 **고장 모드(Failure Mode)**를 자연스럽게 떠올립니다.
  • 프로덕트 매니저는 로드맵에서 신뢰성 트레이드오프를 더 잘 이해하게 됩니다.
  • 온콜 담당자는 가상의 시나리오가 아니라 실제 인시던트에서 나온 스토리 맵과 런북을 활용합니다.

가장 큰 변화는 이것입니다. 인시던트는 더 이상 드문 재앙이 아니라, 팀이 매일의 일을 개선해 가는 데 쓰는 주요 원자재가 되었습니다.

여러분 팀에서 ‘종이 인시던트 스토리 맵’을 시작하는 법

새로운 툴은 필요 없습니다. 몇 가지 제약과 펜 하나면 충분합니다.

  1. 최소한의 FRACAS 스키마를 정의하세요.
    모든 인시던트에 대해 반드시 남길 6–10개 필드를 정하고, 꾸준히 지키세요.

  2. 3–5명으로 구성된 핵심 인시던트 팀을 정하세요.
    Incident Commander, Tech Lead, Communications Lead 역할을 명시적으로 정의하고, 담당자를 지정하세요.

  3. 다음 인시던트에서 종이 스케치를 도입하세요.
    한 명을 지정해, 다른 사람들이 일하는 동안 거친 타임라인과 시스템 맵을 그리게 하세요.

  4. 배포 사이에 짧은 매핑 세션을 예약하세요.
    주 1회나 큰 인시던트 이후, 타임라인·의존성 맵·일상 습관 루프를 함께 스케치해 보세요.

  5. 맵을 구체적인 액션에 연결하세요.
    매 세션이 끝날 때마다 알람, 문서, 코드, 프로세스 등과 관련된 1–3개의 구체적인 변경 사항을 결정하세요.


결론: 신뢰성은 그저 ‘숫자’가 아니라, 여러분이 그려 가는 ‘이야기’다

신뢰성은 업타임 퍼센트나 MTTR 그래프만으로 정의되지 않습니다. 더 중요한 것은 팀이 실패를 어떻게 이해하고, 위기 순간 사이의 평상시를 어떻게 보내는가입니다.

가벼운 FRACAS 접근법, 작고 명확한 인시던트 대응 팀, 그리고 종이 우선 스케치 의식을 결합하면서, 스트리트 맵 카페는 인시던트를 다음과 같이 바꾸었습니다.

  • 구조화된 신뢰성 인사이트의 원천으로,
  • 복잡한 시스템을 공유해 이해하는 시각적 언어로,
  • 포스트모템이 끝난 뒤에도 살아남는 일상적 신뢰성 습관의 토대로.

여러분의 인시던트 프로세스가 혼란스럽거나, 반대로 지나치게 복잡하게 느껴진다면, 겉보기엔 단순한 다음 세 가지를 시도해 보세요.

  • 팀을 줄이고,
  • 데이터를 표준화하고,
  • 펜을 집어 드세요.

그러면 인시던트가 여러분에게 들려주고 있던 이야기가, 마침내 배포와 배포 사이의 매일을 바꾸기에 충분히 선명해질지 모릅니다.

종이 인시던트: 스트리트 맵 카페가 매일의 신뢰성을 스케치하는 방법 | Rain Lag