Reality: 살아 숨 쉬는 아키텍처 다이어그램
솔직해져 봅시다. 아키텍처 다이어그램을 마지막으로 믿었던 게 언제인가요?
모든 다이어그램은 딱 한 번, 누군가 그린 그날에만 진실입니다. 그다음부터 프로덕션은 제 갈 길을 갑니다. 서비스가 배포되고, 데이터베이스에 레플리카가 붙고, 누군가 밤 11시에 새 큐를 연결하죠. 다이어그램은 그 흐름을 따라가지 못합니다. 6개월 뒤면 박물관 전시품이 되어 있습니다. 아름답고, 정교하지만, 조용히 틀려 있죠.
그림과 프로덕션 사이의 이 간극에 장애가 숨고, 온보딩이 어긋나며, 하필 최악의 순간에 "잠깐, 뭐가 결제 데이터베이스랑 통신한다고?"라는 질문이 튀어나옵니다.
오늘 우리는 그 간극을 메웁니다. Reality를 소개합니다.
실제로 돌아가는 것을 보세요
Reality는 라이브 프로덕션 시스템에 연결해 거기서 정말로 돌아가고 있는 것들 — 서비스, 데이터베이스, 의존성 — 을 발견하고, 이를 당신이 정성껏 다듬은 C4 모델과 나란히 맞춰 봅니다. 다이어그램은 더 이상 스냅샷이 아니라 거울이 됩니다.
Reality 렌즈를 켜면 캔버스가 살아납니다. 프로덕션에서 실제로 돌아가는 무언가에 뒷받침되는 요소들은 라이브 헬스 점등으로 빛납니다. 당신의 모델이 전혀 몰랐던, 프로덕션이 하고 있는 일들은요? 그것들도 함께 나타나, 당신이 어떻게 처리할지 결정해 주기를 기다립니다.
쓰던 소스를 그대로 가져오세요
당신은 아마 Reality가 읽어 들이는 도구들을 이미 돌리고 있을 겁니다. 새 에이전트도, 연결할 익스포터도, 계측할 코드도 필요 없습니다.
- Kubernetes — 읽기 전용 토큰 하나면, Reality가 워크로드를 열거하고 클러스터 설정에서 곧바로 그 연결 관계를 발견합니다.
- Datadog — APM 서비스 맵을 가리키기만 하세요. Datadog이 이미 추론해 둔 데이터베이스와 큐까지 포함한, 진짜 의존성 그래프를 얻습니다.
- New Relic — APM과 OpenTelemetry 서비스, 그리고 그들의 호출 관계를 읽어 들입니다.
조직에 소스를 한 번만 연결하면, 어떤 프로젝트에서든 쓸 수 있습니다. 여러 개를 섞어 쓰나요? 셋 다 돌리세요. 아무것도 안 쓰고 모델에만 충실하고 싶다면, Reality는 당신이 원할 때 거기 있습니다.
먼저 발견하고, 그다음 결정하세요 — 등 뒤에서 벌어지는 일은 없습니다
여기가 핵심입니다. Reality는 절대 프로덕션 시스템을 건드리지 않으며, 절대 스스로 아키텍처를 수정하지 않습니다.
스캔은 읽기 전용입니다. 발견한 모든 것은 _제안_일 뿐입니다. 프로덕션에서 돌아가는데 다이어그램에는 없는 새 서비스가 있나요? Reality가 그것을 끄집어내고, 당신은 모델에 promote(승격) 할지, 이미 가진 요소에 bind(연결) 할지, 아니면 ignore(무시) 할지 고릅니다. 두 서비스 사이의 실제 의존성을 발견했다면, promote 하면 관계로 그려집니다. 모델은 끝까지 당신의 것입니다. 모든 변경 하나하나를 당신이 승인하고, 모든 것은 되돌릴 수 있습니다.
이것은 간단한 인박스로 정리됩니다.
- Unmodeled(미반영) — 프로덕션에서 돌아가지만, 아직 지도에 없는 것.
- Drifted(어긋남) — 지도에는 있지만, 프로덕션이 달라진 것.
- In your model(모델에 있음) — 확인된 일치 항목.
- Orphan(고아) — 지도에는 있지만, 프로덕션 어디에도 없는 것.
목록을 하나씩 처리하다 보면, 다이어그램은 진실로 수렴해 갑니다.
왜 이게 판도를 바꾸는가
믿을 수 있는 다이어그램은 완전히 다른 도구입니다. 새로 합류한 엔지니어는 누군가 만들려고 의도했던 것이 아니라 실제로 존재하는 것을 봅니다. 리뷰는 결제 데이터베이스로 가는 문서화되지 않은 호출을 잡아냅니다. "이거 아직 쓰나요?"라는 질문에 답이 생깁니다. 그리고 관계마다 그 출처 — 실제 텔레메트리에서 관측된(observed) 것인지, 설정에서 도출된(derived) 것인지 — 가 함께 따라오기 때문에, 각 선을 얼마나 믿어야 할지 정확히 알 수 있습니다.
이것이 living diagram(살아 있는 다이어그램)의 시작입니다. 프로덕션에 뒤처지는 대신 프로덕션과 발맞춰 가는 아키텍처죠.
직접 써보세요
아무 프로젝트나 열고, 툴바에서 Reality를 누르고, 소스를 연결한 뒤 스캔하세요. 몇 분이면 당신의 모델과 화해된 실제 아키텍처가 보이고 — 돌아가고 있는 줄도 몰랐던 것 한두 개쯤은 분명히 발견하게 될 겁니다.
전체 가이드는 Production Reality 문서에 있습니다. 당신의 프로덕션이 실제로 무엇을 하고 있는지 보러 가세요.