Rain Lag

골판지 신뢰성 아케이드 캐비닛: 온콜 혼돈을 모두 함께 즐기는 종이 게임으로 바꾸기

로우파이 협업형 ‘아케이드 캐비닛’ 워크숍으로 온콜 혼돈, 신뢰성 과제, 카오스 엔지니어링을 팀이 실제로 즐기며 참여하는, 손으로 하는 비난 없는 게임으로 바꾸는 방법을 소개합니다.

골판지 신뢰성 아케이드 캐비닛: 온콜 혼돈을 모두 함께 즐기는 종이 게임으로 바꾸기

온콜은 내가 신청한 적도 없는 끝나지 않는 보스전처럼 느껴질 때가 많습니다.

새벽 3시에 호출기가 울립니다. 로그를 뒤적이고, 슬랙 채널은 불이 나고, 모두가 혼란스러운데도 동시에 모두 잘못한 것 같은 분위기가 됩니다. 그다음에는 회고를 하면서 배운 점을 정리하려 하지만, 사실 대부분은 그냥 빨리 끝나기만을 바랍니다.

그렇다면 실제 프로덕션이 터지기 전에, 그 혼돈을 일부러, 함께, 안전하고 놀이 같은 방식으로 연습할 수 있다면 어떨까요?

여기서 등장하는 것이 바로 골판지 신뢰성 아케이드 캐비닛입니다. 종이, 펜, 골판지 몇 장만으로 팀이 가상의 시스템 랜드스케이프를 "운영"하고, DevOps 실천들을 실험하며, 통제된 장애를 직접 만들어보는 로우파이 협업형 테이블탑 게임입니다.

이 글에서는 이 워크숍형 게임을 어떻게 설계하고 운영할 수 있는지 살펴보며, 온콜의 혼돈을 외로운 화재 진압이 아닌 팀 전체의 공유 학습 경험으로 바꾸는 방법을 다룹니다.


왜 신뢰성을 게임으로 만들어야 할까?

전통적인 신뢰성, SRE, 인시던트 대응 교육은 보통 이렇게 진행됩니다.

  • 수동적입니다. (슬라이드, 일방향 발표)
  • 추상적입니다. (맥락 없는 개념 위주)
  • 개인 중심입니다. (온콜 담당 한 명만, 팀과 분리된 채 부담)

하지만 실제 신뢰성 업무는 협업적이고 예측 불가능하게 전개됩니다. 문제는 예상치 못한 방식으로, 여러 팀·서비스·가정이 얽혀 있는 지점에서 터집니다.

특히 테이블탑 스타일의 협력형 게임은 다음을 가능하게 만듭니다.

  • 실제 서비스에 영향을 주지 않고 압박 속에서 연습하기
  • 함께 의사결정하고 그 결과가 시간이 지나며 어떻게 누적되는지 확인하기
  • 숨겨진 가정과 전제를 드러내기
  • 좋지 않은 결정도 비난이나 번아웃 없이 배움의 재료로 삼기

정보보안 쪽에서 하는 사이버 보안 테이블탑 연습을 떠올려 보세요. 다만 여기서는 초점이 SRE와 DevOps 신뢰성에 맞춰져 있습니다. 골판지 캐비닛은 다음을 위한 "훈련 시뮬레이터"입니다.

  • 탐지: 우리는 어떻게 문제가 생겼다는 걸 알아차릴까?
  • 트리아지: 무엇을 먼저 할까? 누가 무엇을 맡을까?
  • 커뮤니케이션: 누구에게, 어떻게 상황을 공유하고 동기화할까?

시스템은 가상이지만, 그 안에서 드러나는 패턴은 현실과 매우 흡사합니다.


핵심 메타포: 로우파이 협업형 아케이드 캐비닛

크고 넓은 골판지 한 장이 옛날 아케이드 캐비닛 전면처럼 세워져 있다고 상상해 보세요.

  • 맨 위에는 가상의 시스템 랜드스케이프를 표현한 시스템 맵이 있습니다. 서비스, 데이터베이스, 외부 API, 메시지 큐 등이 표시됩니다.
  • 가운데에는 계기판과 다이얼이 있어 SLI(지연 시간, 에러율, 처리량, 포화도)를 나타냅니다.
  • 맨 아래에는 현재 게임의 "런(run)"을 정의하는 실천(Practice) 카드 슬롯인시던트 카드 슬롯이 있습니다.

팀은 이 캐비닛을 둘러싸고 서서 마치 아케이드 게임을 함께 하는 것처럼 플레이합니다. 다만 조이스틱 대신 이들은 다음을 가지고 있습니다.

  • 아키텍처 패턴 카드 (예: 블루/그린 배포, 서킷 브레이커, 지수 백오프를 사용하는 재시도)
  • DevOps 실천 카드 (예: 기능 플래그, 런북, Observability 투자, 온콜 교대·인수인계 의식)
  • 카오스 엔지니어링 도구(예: Mutineer)에서 영감을 얻은 카오스 카드 – 장애를 의도적으로 유발하는 데 사용
  • 사용자 영향 또는 SLO 소진(SLO burn)을 나타내는 에러 토큰

이 게임의 목표는 "게임을 깨는 것"이 아닙니다. 목표는 트레이드오프를 만들고, 인시던트를 유발하고, 그 결과에서 함께 배우는 것입니다.


시스템을 운영하기: 신뢰성과 리스크를 바꾸는 선택들

세션 시작 시, 그룹은 하나의 시나리오를 선택하거나 할당받습니다.

  • 빠르게 성장하지만 프로세스는 최소한인 스타트업
  • 엄격한 가용성·규제를 요구받는 금융 플랫폼
  • 점진적으로 마이크로서비스로 분리 중인 레거시 모놀리식 시스템

각 시나리오는 다음을 포함합니다.

  • 기본으로 깔려 있는 아키텍처 선택
  • 현재 DevOps 성숙도 수준
  • 초기 신뢰성 목표와 제약 조건 (SLO, 예산, 팀 규모 등)

플레이어들은 여러 라운드를 거치며 이 시스템을 "운영"합니다. 각 라운드는 보통 다음과 같이 진행됩니다.

  1. 계획 단계 (Planning Phase)

    • 그룹으로서 제한된 수의 **실천 카드(Practice Cards)**와 **아키텍처 카드(Architecture Cards)**를 선택해 플레이합니다.
    • 예시:
      • 구조화된 로깅과 트레이싱 도입
      • 스테이징 환경과 스모크 테스트 추가
      • 서비스 간 서킷 브레이커 구현
      • 기능 플래그와 점진적 배포(Progressive Delivery) 도입
  2. 운영 단계 (Operation Phase)

    • 퍼실리테이터가 트래픽/이벤트 카드를 공개합니다. (예: 계절성 트래픽 급증, 신규 기능 런칭, 외부 의존성 지연 등)
    • 팀이 선택한 카드와 간단한 규칙에 따라 캐비닛의 계기판과 다이얼이 움직이며 시스템의 반응을 표현합니다.
  3. 카오스 단계 (Chaos Phase)

    • 누군가가 카오스 카드를 플레이하거나 무작위로 뽑습니다. 이는 장애를 시뮬레이션합니다.
      • 데이터베이스 지연 시간이 세 배로 증가
      • 메시지 큐가 가득 차면서 메시지 드롭 발생
      • DNS 오구성으로 부분 장애 발생
      • 잘못된 배포로 핵심 캐시가 손상
  4. 인시던트 대응 단계 (Incident Response Phase) – 이 연습의 핵심 단계

    • 그룹은 다음을 수행해야 합니다.
      • 자신들이 투자해 둔 Observability를 활용해 문제를 탐지
      • 무엇이 얼마나 영향을 받았는지 트리아지(심각도 평가)
      • 롤백, 페일오버, 레이트 리미팅, 기능 플래그를 통한 킬 스위치 등 대응 액션 선택
      • 누구에게, 무엇을, 어떻게 알릴지 커뮤니케이션 결정
    • 행동에 따라 퍼실리테이터가 에러 토큰, 사용자 영향, SLI를 업데이트합니다.
  5. 미니 회고 단계 (Mini-Retrospective Phase)

    • 무엇이 도움이 되었는가?
    • 무엇이 발목을 잡았는가?
    • "처음에 이런 실천을 좀 더 일찍 투자했으면" 하고 아쉬운 점은 무엇인가?

여러 라운드가 끝나면 플레이어들이 내린 선택에 따라 시스템의 **신뢰성 태세(reliability posture)**가 형성되고, 카오스가 찾아왔을 때 어떤 결과가 나오는지 몸소 느끼게 됩니다.


실제 인시던트 없이 카오스 엔지니어링 녹여 넣기

Mutineer와 같은 카오스 엔지니어링 도구는 운영 환경 또는 매우 현실적인 테스트 환경에서 장애 실험을 도와줍니다. 골판지 캐비닛은 이러한 아이디어를 종이 기반의 학습 공간으로 옮겨옵니다.

게임 안에서 쉽게 모델링할 수 있는 카오스 개념들:

  • 지연 시간 주입(Latency Injection): 서비스 응답 시간이 급증
  • 리소스 고갈(Resource Exhaustion): CPU, 메모리, 커넥션 포화
  • 의존성 실패(Dependency Failures): 서드파티 API 타임아웃·오작동
  • 네트워크 분할(Network Partition): 시스템 일부가 서로 통신 불가
  • 설정 오류(Misconfigurations): 잘못된 기능 플래그, 라우팅 규칙 오류, 만료된 인증서 등

카오스 카드에는 다음 정보가 담겨 있어야 합니다.

  • 무엇이, 어떻게 실패하는지 (예: "결제 API가 요청의 20%에 대해 500을 반환")
  • 그에 따라 시스템 다이얼이 어떻게 움직이는지 (지연·에러율 상승, 처리량 감소 등)
  • 현재 Observability 투자를 고려했을 때 어떤 시그널을 볼 수 있는지
  • 가능한 완화 경로들 (예: 폴백 플로우, 기능 토글, 캐시 활용 등)

여기서 중요한 포인트는, 플레이어가 일부 장애는 언제 발생시킬지 스스로 선택할 수 있다는 점입니다. 즉, 카오스를 의도적인 연습으로 전환하는 것입니다. 이렇게 하면 실패는 두려운 대상이 아니라, 탐구의 대상이 됩니다.


워크숍 설계: 4시간짜리 신뢰성 세션

골판지 신뢰성 아케이드 캐비닛은 구조화된 4시간 워크숍으로 운영할 수 있습니다.

추천 아젠다

  1. 0:00–0:30 – 세팅 및 맥락 공유

    • 가상의 시스템과 시나리오 소개
    • 규칙, 카드 종류, 다이얼 동작 방식 설명
    • 목표 정렬: 학습, 실험, 비난 없음
  2. 0:30–1:30 – 1차 런: 시스템 익히기

    • 비교적 단순한 이벤트·가벼운 카오스를 사용해 2–3라운드 진행
    • 선택이 신뢰성에 어떻게 영향을 주는지 이해하는 데 집중
    • "왜 지금 이 실천을 선택했는가?"에 대한 토론을 적극 유도
  3. **1:30–2:00 – 1차 디브리프(Debrief) **

    • 무엇이 예상 밖이었는가?
    • 어떤 실천이 과대평가·과소평가된 것처럼 느껴졌는가?
    • 탐지와 트리아지는 어떻게 전개되었는가?
  4. 2:00–3:00 – 2차 런: 난이도 올리기

    • 더 복잡한 인시던트 도입 (복합 장애, 연쇄 장애 등)
    • 플레이어가 실제 경험(트라우마 포함)에 기반해 자체 카오스 카드를 설계할 수 있게 함
    • 인시던트 대응 단계에 시간 압박을 추가해 긴장감 상승
  5. 3:00–3:30 – 2차 디브리프: 게임에서 현실로

    • 게임에서의 선택을 실제 시스템과 비교
    • 런북 부재, Observability 취약, 취약한 의존성 등 갭(격차) 식별
    • 구체적인 신뢰성 개선 항목 짧은 리스트로 정리
  6. 3:30–4:00 – 성숙도 점검 및 다음 단계

    • 실제 개선이 이루어진 뒤, 다음 런은 어떻게 달라질지 함께 상상
    • 이 워크숍을 얼마나 자주 반복할지 결정 (분기 1회 정도가 흔함)
    • 새로운 시나리오·카드를 추가하며 게임을 계속 발전시킬 사람 정하기

모든 것이 카드, 다이얼, 토큰 등 물리적인 형태로 존재하기 때문에, 전통적인 교육을 싫어하는 사람들에게도 워크숍이 손으로 만지고 몸으로 하는 활동으로 흥미롭게 다가갈 수 있습니다.


비난 대신 학습: 크게 실패해도 되는 안전한 공간 만들기

이 아케이드 캐비닛 설계의 핵심 원칙 하나: 이곳은 비난 없는 환경이어야 합니다.

여기서는 누가 실패를 유발했는지를 시뮬레이션하지 않습니다. 우리가 탐구하는 것은 시스템이 어떻게 반응하는지, 그리고 팀이 어떻게 협업하는지입니다.

이를 강화하기 위한 방법들:

  • 개인별 점수 대신, 팀 단위 결과만 사용합니다.
  • "잘못된" 결정은 실수라기보다 데이터로 취급합니다.
  • 정답을 맞추는 것보다 호기심과 실험 정신을 칭찬합니다.
  • 일부러 위험한 선택을 해 보고, 어떤 일이 벌어지는지 관찰해 보도록 권장합니다.

그 결과, 이런 공간이 만들어집니다.

  • 주니어 엔지니어도 고압적인 인시던트를 안전하게 경험해 볼 수 있는 공간
  • 시니어 엔지니어는 차분하고 구조화된 대응을 모델링해 보일 수 있는 공간
  • 모두가 기능 플래그, 서킷 브레이커, SLO 기반 알람 같은 실천 뒤의 트레이드오프를 명확한 언어로 설명할 수 있게 되는 공간

이런 경험이 쌓이면 실제 인시던트 문화도 서서히 바뀝니다. 서로를 탓하기보다, 함께 문제를 풀어가는 방향으로 말입니다.


물리 아티팩트로 신뢰성을 눈앞에 보이게 만들기

신뢰성은 보통 SLI, SLO, MTTR, 에러 버짓 같은 추상적인 용어로 설명됩니다. 골판지 캐비닛에서는 이 모든 것이 손으로 만질 수 있는 물건이 됩니다.

  • SLI 다이얼: 지연 시간, 에러율, 포화도 등을 표시하는 커다란 골판지 계기판. 직접 움직이면서 영향을 눈으로 확인합니다.
  • 에러 토큰: 사용자에게 보이는 문제 또는 SLO 소진량을 나타내는 물리 토큰. 인시던트가 악화될수록 팀 앞에 쌓여 갑니다.
  • 런북 & 체크리스트: “카나리 롤백 실행”, “DB 스페셜리스트 호출”, “고비용 엔드포인트 레이트 리미팅” 같은 행동 목록을 적은 코팅 카드.
  • 커뮤니케이션 채널 카드: “상태 페이지(Status Page)”, “고객 지원”, “내부 채팅” 같은 카드로, 어떻게, 누구에게 알릴지 선택하게 만듭니다.

이런 도구들은 다음을 가능하게 합니다.

  • 보이지 않던 시스템 동작을 시각적이고 기억하기 쉬운 형태로 보여주기
  • 제품, 고객 지원, PM 등 다양한 역할의 팀원도 쉽게 참여하도록 돕기
  • 어려운 트레이드오프를 공유된, 구체적인 언어로 논의하게 만들기

신뢰성 성숙도를 시간에 따라 추적하기

골판지 신뢰성 아케이드 캐비닛의 진짜 힘은 이 워크숍을 주기적으로 다시 진행할 때 드러납니다.

각 세션은 팀의 신뢰성 마인드셋을 보여주는 스냅샷이 됩니다.

  • 예전에는 논쟁거리였던 실천이 이제는 당연한 선택이 되었는가?
  • Observability나 자동화에 더 일찍 투자하고 있는가?
  • 복잡한 인시던트에 대응할 때, 팀의 반응이 더 구조화되고 덜 패닉 상태인가?

세션마다 다음과 같은 아티팩트를 남길 수 있습니다.

  • 큰 인시던트가 끝난 뒤 캐비닛 상태를 찍은 사진
  • “이게 진짜 프로덕션이었다면, 우리는 … 했을 것이다” 목록
  • 조직의 학습 내용을 반영해 계속 진화하는 하우스 룰(house rules)

게임 속 "성숙도 레벨"을 실제 로드맵과 정렬시킬 수도 있습니다.

  • 브론즈: 반응형, Observability 최소, 애드혹 인시던트 대응
  • 실버: 정의된 온콜, 기본적인 SLO 도입, 일부 자동화
  • 골드: 선제적 카오스 실험, 강력한 Observability, 잘 훈련된 커뮤니케이션

실제 시스템이 개선될수록, 게임 속 가상 시스템도 함께 성장할 수 있습니다.


결론: 당신만의 골판지 캐비닛을 만들어 보자

화려한 시뮬레이션 도구에 큰 예산을 쓰지 않아도 신뢰성 문화를 개선할 수 있습니다. 골판지, 마커, 몇 시간의 시간만으로도 다음을 할 수 있습니다.

  • 온콜 혼돈을 협업형 학습 게임으로 바꾸기
  • 실제 장애 없이 인시던트 대응과 커뮤니케이션을 안전하게 연습하기
  • 아키텍처·DevOps 트레이드오프를 안전하고 비난 없는 공간에서 탐색하기
  • 시간이 지날수록 팀의 신뢰성 성숙도를 점진적으로 끌어올리기

사후 분석(Postmortem)이 행동 변화를 이끌지 못하고 있다면, 혹은 주니어 엔지니어들이 호출기를 맡는 걸 두려워한다면, 여러분 팀만의 골판지 신뢰성 아케이드 캐비닛을 한번 만들어 보세요.

여전히 새벽 3시에 호출기가 울릴 수도 있습니다. 하지만 그때쯤이면, 여러분의 팀은 이미 이 보스전을 골판지 위에서 여러 번 함께 연습해 본 상태일 것입니다. 실제 프로덕션이 걸려 있을 때보다 훨씬 이전에 말이죠.

골판지 신뢰성 아케이드 캐비닛: 온콜 혼돈을 모두 함께 즐기는 종이 게임으로 바꾸기 | Rain Lag