종이 인시던트 스토리 워킹 브리지: AI 시대 장애 대응을 위한 손그림 컨텍스트 맵
손으로 그린 컨텍스트 맵, ChatOps, 그리고 공통 표준을 활용해 혼란스러운 AI 기반 프로덕션 인시던트를 팀이 함께 보는 시각적 문제 해결 세션으로 바꾸는 방법.
종이 인시던트 스토리 워킹 브리지: 손그림 컨텍스트 맵으로 프로덕션 혼란을 간극 너머로 옮기기
현대 시스템의 인시던트는 예전처럼 동작하지 않습니다. 여기에 AI 모델, 동적 라우팅, 기능 플래그(feature flag), 느슨하게 결합된 마이크로서비스까지 더해지면, 장애는 더 이상 깔끔하고 고립된 에러처럼 보이지 않습니다. 확률적이고, 컨텍스트에 의존하며, 서로 깊이 얽혀 있는 형태로 나타납니다.
이런 환경에서는 전통적인 인시던트 대응 도구와 선형적인 런북만으로는 부족합니다. 사람들이 머릿속에 그리는 시스템의 모습과, 지금 실제 프로덕션에서 벌어지는 일 사이의 간극을 건널 수 있는 방법이 필요합니다.
여기서 등장하는 개념이 바로 **“종이 인시던트 스토리 워킹 브리지(paper incident story walking bridge)”**입니다. 즉, **손으로 그린 컨텍스트 맵(hand‑drawn context map)**을 사용해, 문서로 정리된 이해와 실제 프로덕션의 복잡성을 이어 주는 공유 시각적 다리를 만드는 것입니다.
이 글에서는 왜 AI가 섞인 시스템에서 인시던트가 더 어려워지는지, 팀이 서비스와 서비스 사이, 그리고 오너십의 간극 속에서 어떻게 길을 잃는지, 그리고 컨텍스트 맵 + ChatOps + 공통 표준의 조합이 어떻게 인시던트 채널을 살아 있는 협업 워룸(war room)으로 바꿀 수 있는지를 살펴봅니다.
왜 AI 기반 시스템은 인시던트를 더 낯설게 만드는가
AI가 포함된 시스템은 전통적인, 완전히 결정론적인 서비스와는 매우 다르게 동작합니다.
- 확률적 출력 – 같은 입력이라도 항상 같은 출력을 내지 않습니다. 모델의 랜덤성, temperature 설정, 학습 데이터 분포 등이 모두 동작에 영향을 줍니다.
- 컨텍스트 의존 로직 – 사용자 히스토리, 환경, 기능 플래그, A/B 실험, 동적 모델 선택 등에 따라 동작이 달라집니다.
- 눈에 잘 안 보이는 실패 양상 – 실패가 항상 500 에러나 타임아웃으로 나타나지 않습니다. 대신 추천 품질의 서서히 나빠짐, 출력의 미묘한 편향, 특정 사용자에게만 간헐적으로 나타나는 환각(hallucination) 같은 식으로 드러날 수 있습니다.
이런 세계에서 CPU 메트릭과 에러 카운트만 잔뜩 보여 주는 대시보드는 전체 이야기 중 일부만 말해 줄 뿐입니다. 빠져 있는 것은, 다음과 같은 컴포넌트들을 가로질러 데이터, 요청, 의사결정이 시스템 안에서 어떻게 흘러가는지에 대한 전체 그림입니다.
- 인퍼런스(inference) 서비스
- 피처 스토어(feature store)
- 데이터 파이프라인
- 오케스트레이터와 스케줄러
- 실험/실험군(Experiment) 프레임워크
- 다운스트림 소비처(API, 프론트엔드, 파트너 연동 등)
무언가 잘못되면, 대응자는 이 모든 것을 머릿속에서 하나로 꿰맞춰야 합니다. 그것도 시간 압박 속에서, 즉석에서 말이죠.
왜 전통적인 인시던트 모델이 부족해지는가
고전적인 인시던트 대응 방식은 대체로 다음을 전제로 합니다.
- 장애는 로컬하다 – 특정 서비스가 망가지고, 그 서비스를 고치면 끝난다.
- 행동은 안정적이다 – 에러율과 레이턴시를 복구하면 시스템은 “정상 상태”로 돌아온다.
- 런북은 선형이다 – 정해진 순서대로 단계를 밟으면, 알려진 정상 상태에 도달한다.
하지만 AI가 섞인 시스템의 현실은 다음에 더 가깝습니다.
- 장애는 시스템적이다 – 증상은 한 서비스에서 나타나지만, 근본 원인은 다른 모델 파이프라인, 피처 셋, 실험 설정에 숨어 있습니다.
- “정상”이 계속 움직인다 – 모델은 재학습되고, 데이터는 드리프트하며, 새로운 실험이 끊임없이 배포됩니다.
- 런북에는 분기 로직이 필요하다 – “지금 컨텍스트는 무엇인가? 어떤 모델 버전인가? 어떤 기능 플래그 코호트인가?” 같은 질문을 계속 던져야 합니다.
부족한 것은 컴포넌트 수준이 아니라 시스템 수준에서 통하는 멘탈 모델과 도구입니다.
손그림 컨텍스트 맵의 힘
고압 인시던트 상황에서 전체 아키텍처 다이어그램이 필요한 경우는 거의 없습니다. 필요한 것은 모두의 이해를 맞춰 줄 적당한 수준의 구조입니다.
여기서 손으로 그린 컨텍스트 맵의 역할이 생깁니다. 이것은 가볍고 시각적인 아티팩트로서:
- 서비스, 데이터 흐름, 핵심 사용자/클라이언트를 보여 주고
- **오너십(누가 무엇을 운영하는지)**을 드러내며
- 알려진 취약 지점이나 과거 인시던트 지점을 표시하고
- 이번 인시던트에서 실제 문제가 통과한 경로에 초점을 맞춥니다.
이를 인시던트의 스토리보드라고 생각해 볼 수 있습니다.
- 요청은 어디서 시작되었나?
- 어떤 컴포넌트들을 거쳐 이동했나?
- 첫 번째 증상은 어디에서 관측되었나?
- 그 경로 어디에서 문제가 생겼을 가능성이 있는가?
이걸 위해 거창한 툴은 필요 없습니다. 화이트보드, 노트 한 장, 태블릿으로 그린 스케치면 충분합니다. 중요한 건 완벽함이 아니라, 공유된 이해입니다.
컨텍스트 맵에 무엇을 담아야 할까
좋은 인시던트 컨텍스트 맵은 보통 다음 요소들을 포함합니다.
- 진입점(Entry points)
- 사용자 앱, 파트너 API, 웹 클라이언트 등
- 핵심 서비스와 모델
- API 게이트웨이, 오케스트레이터, 인퍼런스 서비스, 피처 스토어 등
- 데이터 소스와 싱크(Data sources & sinks)
- 데이터베이스, 메시지 큐, 데이터 레이크, 로그 시스템
- 컨트롤 레버(Control levers)
- 기능 플래그, 실험 프레임워크, 모델 버전 스위치 등
- 팀 경계(Team boundaries)
- 색깔/레이블로 구분: “Team A 소유”, “Data Platform 소유” 등
- 인시던트 경로(Incident path)
- “이번에 실패하는 요청은 오늘 기준으로 이 정확한 경로를 따라간다”라는 흐름을 화살표로 표시
당신이 만드는 것은 모든 가능한 경로의 지도가 아니라, 이번 인시던트에 대해 팀이 함께 만들어 가는 ‘이야기’의 지도입니다.
종이에서 협업으로: 서비스, 플로우, 오너십을 연결하기
복잡한 조직은 이미 다음과 같은 문제를 겪고 있습니다.
- 겹치는 오너십
- 특정 사람에게만 있는 암묵지(tribal knowledge)
- 공식 다이어그램에는 없는 그림자 서비스(shadow service)
- “아마 Ops 팀 소유일걸요?” 같은 모호한 책임 구분
인시던트 동안 공유되는 시각적 컨텍스트 맵은 다음 세 가지를 명시적으로 드러내면서 이 문제를 완화합니다.
-
각 핵심 컴포넌트의 오너는 누구인가?
DB 리플리카(replica) 레이턴시가 갑자기 튀면, 누가 권한과 손에 익은 대응 방법을 갖고 있는가? -
지금 이 순간 중요한 경로는 어디인가?
모바일 앱은 영향을 받는데 웹 앱은 괜찮다면, 두 경로에서 코드와 인프라가 어떻게 다른가? -
어떤 의존성은 용의선상에, 어떤 것은 관찰만 하면 되는가?
각 팀이 자기 서비스 메트릭만 붙잡고 따로 움직이는 대신, 모두가 몇 개의 ‘가능성이 높은’ 영역에 초점을 맞추게 됩니다.
이것은 고압 상황에서 여러 팀이 서로 다른 곳을 보며 중복 대응을 하거나, 말이 엇갈리는 고전적인 혼란을 줄여 줍니다.
왜 인프라/DevOps/SRE 백본이 필요해지는가
작은 팀에서는 그때그때 인시던트에 대응해도 어떻게든 굴러갑니다. 하지만 팀 수가 많고 AI 비중이 높은 조직에서는 이런 방식이 곧 한계에 부딪힙니다.
보통은 전담 인프라 팀, DevOps, 또는 SRE 조직이 필요합니다. 이들은 다음 역할을 합니다.
- 인시던트 심각도, 커뮤니케이션 방식, 역할 정의에 대한 공통 표준 수립
- 플레이북, 포스트모템 템플릿, 런북 등의 문서화 규범 정립
- 컨텍스트 맵이 참고할 수 있는 공식 아키텍처 뷰 유지 관리
- 관측(Observability) 스택, 알림, ChatOps 연동 등 공유 도구 제공 및 운영
이 백본이 제품 팀의 책임을 없애 주는 것은 아닙니다. 오히려 시스템이 예상 밖으로 행동할 때, 팀들이 효과적으로 협업할 수 있도록 공유 기반을 만들어 주는 역할을 합니다.
ChatOps를 살아 있는 워룸으로 바꾸기
손그림 컨텍스트 맵만으로도 충분히 강력하지만, ChatOps와 결합될 때 그 진가가 드러납니다.
Microsoft Teams, Slack 등 협업 도구를 Opsgenie, PagerDuty, VictorOps 같은 알림/온콜 시스템과 연동하면 다음을 할 수 있습니다.
- 알림 중앙화 – 새로운 알림이 자동으로 인시던트를 생성하거나, 기존 인시던트 채널에 연결
- 액션 중앙화 – 런북 실행, 배포, 롤백, 로그/메트릭 쿼리 등을 채팅 명령으로 수행
- 대화 중앙화 – 의사결정, 가설, 상태 업데이트를 한 스레드에서 투명하게 공유
여기에 컨텍스트 맵을 더해 봅니다.
- 화이트보드 스케치를 사진으로 찍어 채널에 올립니다.
- 또는 가벼운 온라인 화이트보드/다이어그램 툴을 사용해, 인시던트 채널에 바로 링크를 공유합니다.
이렇게 되면 ChatOps 채널은 단순한 메시지 로그를 넘어 살아 있는 워룸이 됩니다.
- 지도는 우리가 더 많이 배울수록 함께 진화하고,
- 팀은 “정상 확인”, “조사 중”, “롤백 완료” 같은 식으로 특정 컴포넌트에 **주석(annotate)**을 달며,
- 관측 사항과 조치 사항이, 명확한 시각적 기준과 연결된 공유 타임라인으로 축적됩니다.
실전 워크플로우
-
인시던트 선언
Pager/알림 발생 → 인시던트 채널 자동 생성 → 온콜 대응자 합류 -
초기 컨텍스트 맵 작성 (5–10분)
- 사용자 진입점과 의심되는 경로를 그립니다.
- 관련 주요 서비스와 데이터 스토어를 추가합니다.
- 각 큰 박스마다 오너 팀을 표시합니다.
-
컨텍스트 맵을 ChatOps에 연결
- 사진 또는 협업 화이트보드 링크를 인시던트 채널에 올립니다.
- 채널 상단에 고정해서 모두가 먼저 보게 합니다.
-
협업을 통한 보강
- 새로운 단서가 생길 때마다(“피처 X에서 이상 징후 발견”) 지도를 업데이트합니다.
- 컴포넌트를 “정상(OK)”, “의심(suspect)”, “성능 저하(degraded)” 등으로 표시합니다.
-
인시던트 종료 후 정리
- 최종 컨텍스트 맵을 내보내(post) 포스트모템에 링크합니다.
- 비슷한 유형의 인시던트에 재사용할 수 있는 템플릿으로 다듬습니다.
컨텍스트 맵을 ‘한 번의 묘수’가 아니라 습관으로 만들기
컨텍스트 맵이 일회성 구원 기술로 끝나지 않으려면, 인시던트 문화에 이걸 아예 녹여야 합니다.
- 런북에 추가: “첫 15분 안에 컨텍스트 맵을 스케치해서 채널에 공유한다”를 명시합니다.
- 대응자 교육: 게임데이(Game Day)나 모의 인시던트 훈련에서, 팀이 컨텍스트 맵을 반드시 사용해 문제를 풀도록 합니다.
- 기호/기호 체계 표준화: 서비스, 데이터 스토어, 외부 API, 플래그 등을 표현하는 간단한 기호 규칙을 정해 두면 그릴 때의 마찰이 줄어듭니다.
- 패턴 재사용: 핵심 사용자 여정이나 주요 제품 플로우에 대해, 기본 컨텍스트 맵 라이브러리를 유지합니다.
시간이 지나면 이 맵들은 ‘설계 문서에 적힌 모습’이 아니라, 실제 스트레스 상황에서 시스템이 어떻게 행동했는지에 대한 조직의 기억이 됩니다.
결론: AI 시대 인시던트를 위한 더 나은 다리 만들기
AI가 포함된 시스템이 점점 더 복잡하고 확률적으로 변하면서, 예전의 멘탈 모델과 도구에만 의존할 수는 없습니다. 인시던트는 이제 모델, 데이터 파이프라인, 기능 플래그, 실험을 가로질러 발생하며, 어느 한 대시보드만 봐서는 전체 모습을 파악하기 어렵습니다.
종이 인시던트 스토리 워킹 브리지—즉 손으로 그린 컨텍스트 맵—는 팀이 다음을 할 수 있게 해 주는, 단순하지만 강력한 도구입니다.
- 인시던트에 실제로 관여된 실제 경로에 대해 합을 맞추고
- 팀 간 오너십과 책임을 명확히 이해하며
- 압박 상황에서도 공유된 시각적 기준을 중심으로 행동을 조율하게 합니다.
여기에 탄탄한 인프라/DevOps/SRE 백본과 ChatOps 기반 워룸을 더하면, 혼란은 구조화된 탐색으로 바뀝니다. 팀은 상자 하나, 화살표 하나, 주석 하나씩 더해 가며, 혼란에서 명료함으로 걸어 나올 수 있습니다.
AI 시대에 인시던트에 가장 잘 대응하는 팀은 단순히 알림을 가장 빨리 받거나, 가장 화려한 대시보드를 가진 팀이 아닙니다. **가장 명료한 공유 이해(shared understanding)**를 가진 팀, 그리고 그 이해의 간극을 건너기 위한 가장 간단한 다리를 갖춘 팀일 것입니다.