KubeRCA 아키텍처 — 발표에서 아키텍처가 문제·제약·판단 뒤에 와야 하는 이유를 설명할 수 있는 사례

기술 발표를 준비할 때 가장 먼저 슬라이드를 만들면, 대개 아키텍처 그림과 기능 목록이 앞에 옵니다. 그러나 청중이 알고 싶은 것은 기능의 개수보다 “왜 이 문제를 풀어야 했고, 어떤 제약 속에서 무엇을 판단했는가”인 경우가 많습니다. 그래서 발표도 Working Backwards와 비슷하게, 도착점에서 거꾸로 설계합니다.

AWS 현장 기술 세션에서 아키텍처와 운영 환경을 설명하는 모습

기술 설명은 다이어그램만 보여 주는 일이 아니라, 청중이 문제와 제약을 따라올 수 있도록 흐름을 만드는 일입니다.

한 문장으로 남길 메시지

발표가 끝난 뒤 청중이 한 문장만 기억한다면 무엇이어야 하는지 먼저 씁니다. KubeRCA라면 “LLM이 장애 원인을 대신 확정하는 도구”가 아니라 “운영자가 근거를 더 빨리 모아 검토할 수 있게 하는 도구”가 핵심이 될 수 있습니다. 이 문장이 정해지면 넣지 않을 내용도 결정됩니다.

한 문장은 홍보 문구가 아니라 발표의 편집 기준이다. 이 문장과 관계없는 도구 소개, 구현 세부, 실험 결과는 과감히 뒤로 보내거나 보충 자료로 남긴다. 반대로 청중이 이 문장을 믿기 위해 반드시 알아야 할 문제, 제약, 판단, 근거는 앞에 둔다. 발표 시간이 짧을수록 기능을 많이 보여 주는 것보다 중심 주장을 지키는 일이 중요하다.

청중의 출발점을 먼저 확인하기

같은 아키텍처도 SRE, 플랫폼 엔지니어, 제품 팀, 학생에게 다르게 설명해야 한다. 발표 전에 청중이 이미 아는 것과 아직 모르는 것을 적어 보면, 슬라이드의 출발점이 바뀐다. Kubernetes를 잘 아는 청중에게는 incident 조사에서 출처와 시간축이 왜 필요한지부터 말할 수 있고, 운영 경험이 적은 청중에게는 alert 한 건을 조사하는 데 어떤 정보가 흩어져 있는지부터 보여 주는 편이 낫다.

여기서 말하는 맞춤화는 기술 수준을 낮추는 일이 아니다. 각 구성요소가 해결하는 질문을 먼저 공유하는 일이다. 예를 들어 collector, planner, human review라는 단어를 정의하기보다 “운영자가 여러 콘솔을 오가며 확인하던 사실을 어떻게 같은 incident에 모으는가”라는 장면을 제시하면, 뒤의 아키텍처는 부품 목록이 아니라 문제에 대한 답이 된다.

문제, 제약, 판단, 증거의 순서

제가 선호하는 기술 발표의 흐름은 다음과 같습니다.

  1. 실제로 반복되는 문제와 그 비용
  2. 해결을 어렵게 만든 운영·시간·안전 제약
  3. 제약을 고려해 내린 설계 판단
  4. 구현과 데모가 그 판단을 어떻게 보여 주는지
  5. 아직 남은 불확실성과 다음 실험

이 순서는 아키텍처를 더 단순하게 보이게 하려는 장치가 아닙니다. 청중이 왜 특정 컴포넌트가 필요한지, 왜 다른 선택을 하지 않았는지 따라올 수 있게 하는 구조입니다.

아키텍처 다이어그램은 이 순서에서 세 번째나 네 번째에 온다. 그림을 먼저 보여 주면 청중은 상자와 화살표를 해독하느라 문제를 놓치기 쉽다. 문제와 제약을 들은 뒤라면, 각 박스는 “이 제약 때문에 필요했던 경계”로 읽힌다. KubeRCA의 경우 Alertmanager intake, Kubernetes·Prometheus context, 분석 에이전트, 운영자 검토 화면과 Slack 전달이 왜 분리됐는지를 한 incident의 흐름으로 설명할 수 있다.

제약을 숨기지 않는 슬라이드 만들기

기술 발표에서 가장 신뢰를 만드는 부분은 모든 것이 잘 동작한 화면이 아니라, 설계가 무엇을 하지 않기로 했는지 보여 주는 순간이다. KubeRCA와 Run:AI RCA에서는 읽기 전용 수집, 근거가 부족할 때 insufficient_evidence를 남기는 규칙, 실행 조치의 승인·영향·롤백 경계를 중요한 제약으로 둔다. 이 제약은 기능 부족이 아니라 운영 환경에서 잘못된 자동화가 낼 비용을 고려한 설계 판단이다.

슬라이드에는 이 판단을 “제약 → 선택 → 결과”로 적는 편이 좋다. 예를 들어 “모든 원인을 모델이 확정할 수 없음 → 독립된 실시간 근거가 없으면 확신을 낮춤 → 운영자가 다음 검증을 선택할 수 있음”처럼 연결한다. 이렇게 하면 청중은 구현의 장점뿐 아니라 설계자가 어떤 위험을 피하려 했는지 이해한다.

데모는 주장 하나를 증명해야 한다

좋은 데모는 모든 기능을 보여 주지 않습니다. 발표의 핵심 주장을 증명하는 한 흐름을 고릅니다. 예를 들어 alert가 들어오고, 운영 컨텍스트가 모이며, 근거가 포함된 RCA 초안을 사람이 검토하는 흐름은 “Human-in-the-Loop RCA”라는 주장을 직접 보여 줍니다.

발표에서 완성된 척하기보다, 어디까지 검증했고 무엇이 아직 열려 있는지도 말하는 편이 더 오래 신뢰를 만듭니다. 기술 발표는 제품 소개가 아니라, 문제를 푸는 판단을 공유하는 자리이기 때문입니다.

리허설은 시간을 재는 것이 아니라 질문을 찾는 일

리허설 때는 대본을 자연스럽게 외우는 것보다, 청중이 어느 지점에서 질문을 가질지 찾는 데 집중한다. 발표자 자신이 “그래서 왜 이 컴포넌트가 필요한가”에 한 문장으로 답하지 못하는 슬라이드는, 대개 앞의 문제나 제약이 충분히 설명되지 않았다는 신호다. 아키텍처의 복잡성을 줄이는 대신, 흐름을 한 번 더 되짚어야 한다.

데모도 별도로 준비한다. 네트워크·데이터·로그인 상태에 의존하는 전체 시나리오를 그대로 믿기보다, 발표의 주장을 증명하는 한 흐름과 실패했을 때 보여 줄 근거 화면을 정해 둔다. alert가 들어오고, 컨텍스트가 수집되며, RCA 초안을 사람이 검토한다는 흐름이라면 각 단계에서 어떤 화면과 한 문장이 필요한지 미리 정한다. 이 준비가 있으면 데모가 멈춰도 발표의 논리는 무너지지 않는다.

발표 뒤에 남는 산출물

좋은 기술 발표은 행사장에서 끝나지 않는다. 발표의 핵심 메시지, 문제 정의, 아키텍처, 데모 흐름, 아직 열린 질문을 글과 저장소 문서로 남기면 이후의 협업자도 같은 판단을 따라갈 수 있다. 발표 자료에는 압축되어 있던 근거와 세부 조건을 블로그 글에서는 충분히 풀어 쓸 수 있고, 코드에는 설계 의도를 가까이 남길 수 있다.

그래서 발표를 준비하는 과정 자체를 기술 작업으로 본다. 문제를 한 문장으로 줄이고, 제약을 드러내며, 아키텍처를 그 판단의 결과로 설명하고, 데모로 한 주장을 검증한다. 이 구조가 있으면 발표는 기능을 나열하는 자리가 아니라, 다른 엔지니어가 다음 선택을 더 잘할 수 있게 만드는 기술 문서가 된다.

질의응답을 설계 검토로 바꾸기

질의응답에서 받는 질문은 발표의 빈 곳을 알려 주는 좋은 신호다. “왜 이 구성을 골랐는가”, “모델이 틀리면 어떻게 되는가”, “운영에서 누가 확인하는가” 같은 질문에 바로 답하기 어렵다면, 슬라이드에 정보가 부족해서가 아니라 설계 판단이 아직 문장으로 정리되지 않았을 수 있다. 이 질문을 발표가 끝난 뒤 문서·README·backlog에 남기면 다음 발표와 구현의 입력값이 된다.

모든 질문에 완성된 답을 하려 하기보다, 확인된 근거와 아직 열린 가정을 구분해 말하는 편이 낫다. 기술 발표의 목적은 프로젝트를 완벽해 보이게 하는 일이 아니라, 어떤 문제를 어떤 제약 속에서 어떻게 풀고 있는지 함께 검토할 수 있게 만드는 일이다. 그 태도가 아키텍처 그림과 데모를 더 오래 신뢰받게 한다.

슬라이드마다 하나의 질문만 남기기

발표 자료가 길어지는 이유는 한 장의 슬라이드가 여러 질문에 동시에 답하려 하기 때문이다. 아키텍처 그림에는 데이터 흐름, 보안 경계, 배포 방식, 기능 목록, 미래 확장 계획을 모두 넣고 싶어진다. 그러나 청중은 어느 것을 먼저 읽어야 할지 알 수 없다. 그래서 각 슬라이드에 “이 장을 본 뒤 청중이 무엇을 이해해야 하는가”를 하나만 남긴다.

예를 들어 아키텍처 첫 장은 전체 경계를 보여 주고, 다음 장은 incident가 들어온 뒤 evidence가 모이는 흐름을, 그 다음 장은 왜 조치 권한을 분리했는지를 설명한다. 같은 그림을 반복해서 써도 괜찮다. 다만 그때마다 강조하는 판단을 달리하면, 복잡한 시스템도 청중이 문제에서 설계로 자연스럽게 따라갈 수 있다.

발표 자료와 기술 문서의 역할을 나누기

발표는 모든 세부사항을 보존하는 장소가 아니다. 핵심 주장을 증명하는 경로만 보여 주고, 인터페이스·데이터 모델·평가 방법·실패 조건 같은 세부 근거는 글과 저장소 문서로 연결한다. 이 분업이 있어야 발표는 집중력을 유지하면서도 “자세한 내용이 없다”는 인상을 주지 않는다.

Open Source Summit 회고를 포함해 기술 발표를 정리할 때도 같은 원칙을 적용한다. 현장에서 보여 준 문제, 선택, 데모, 질문을 블로그에서는 더 긴 호흡으로 남기고, 발표 슬라이드가 생략한 조건과 시행착오를 채운다. 발표와 글이 서로 다른 요약본이 아니라 같은 기술 판단을 서로 다른 깊이로 설명하는 자료가 된다.

발표 뒤에 기록할 관찰

리허설에서 예상하지 못했던 질문, 데모를 보며 청중이 가장 오래 머문 지점, 설명이 길어져 중심이 흐려진 슬라이드는 모두 다음 글의 재료가 된다. 발표를 마친 뒤 이 관찰을 남기면, 다음 발표는 말투만 다듬는 대신 문제 정의와 근거의 순서를 개선할 수 있다. 기술 발표는 한번 끝난 결과물이 아니라, 설계와 문서가 함께 진화하는 짧은 피드백 루프다.

이 기록은 블로그에도 같은 역할을 한다. 슬라이드에서 생략한 선택지와 실패 조건, 현장에서 받은 반론을 글에 풀어 쓰면 발표의 메시지는 더 단단해진다. 발표와 회고를 한 쌍으로 운영할 때, 청중에게 전달한 한 문장은 다음 프로젝트의 기술적 판단으로 다시 돌아올 수 있다.