Reality:あなたのアーキテクチャ図が、生きはじめる
正直に答えてください。最後にアーキテクチャ図を信じられたのは、いつですか?
どんな図も、正しいのはたった一度きり——誰かがそれを描いたその日だけ。あとは本番環境がどんどん先へ進んでいきます。サービスがデプロイされ、データベースにレプリカが追加され、誰かが夜11時に新しいキューをつなぎ込む。図はそれについていきません。半年後にはもう博物館の展示品です。美しくて、細かくて、そして静かに間違っている。
図と本番のあいだに開いたこの溝こそ、インシデントが潜む場所であり、オンボーディングが脱線する場所であり、「ちょっと待って、決済データベースに話しかけてるのは いったい何 なんだ?」という質問が最悪のタイミングで飛び出す場所です。
今日、私たちはその溝を埋めます。Reality の登場です。
本当に動いているものを、見る
Reality はあなたの本番システムにつなぎ、そこに実在するもの——サービス、データベース、依存関係——を発見し、丹念に整えた C4 モデルと突き合わせます。あなたの図はスナップショットであることをやめ、鏡になりはじめます。
Reality レンズをオンにすると、キャンバスが生き返ります。本番で何かが実際に動いている要素は、ライブのヘルスドットが灯ります。そして、本番がやっているのに、あなたのモデルが知りもしなかったもの。それらもちゃんと姿を現し、あなたがどう扱うかを決めるのを待っています。
あなたのソースを、そのまま持ち込む
Reality が読み取るツールは、たぶんあなたがもう動かしているものばかりです。新しいエージェントもなし、組み込むエクスポーターもなし、計装するコードもなし。
- Kubernetes — 読み取り専用トークンを渡すだけで、Reality はワークロードを列挙し、クラスター設定からそのつながりを直接発見します。
- Datadog — APM のサービスマップに向けるだけ。Datadog がすでに推定してくれているデータベースやキューも含めて、本物の依存関係グラフが手に入ります。
- New Relic — APM と OpenTelemetry のサービス、そしてそれらの呼び出し関係を読み取ります。
組織でソースを一度つなげば、どのプロジェクトからでも使えます。混在している? 3つとも動かせばいい。どれも使わずモデルだけでいく? それでも構いません——Reality は、あなたが欲しいと思ったときに、そこにいます。
発見し、それから決める——あなたの知らないところで何も起きません
ここがいちばん大事なところです。Reality はあなたの本番システムに一切触れませんし、アーキテクチャを勝手に書き換えることもありません。
スキャンは読み取り専用。見つけたものはすべて 提案 です。本番では動いているのに図にないサービス? Reality がそれを浮かび上がらせます——あなたはそれをモデルへ promote(昇格して取り込む)するか、すでにある要素へ bind(紐づける)するか、ignore(無視する)かを選びます。2つのサービスのあいだに実在する依存関係を発見した? promote すれば、関係として描かれます。モデルはあくまであなたのもの。すべての変更を一つひとつあなたが承認し、すべては元に戻せます。
整理はシンプルな受信トレイ形式です。
- Unmodeled(未モデル化)— 本番で動いているのに、まだあなたの地図にない。
- Drifted(ドリフト)— 地図にはあるが、本番がそこから乖離している。
- In your model(モデル内)— 一致が確認できたもの。
- Orphan(孤立)— 地図にはあるが、本番のどこにも存在しない。
このリストを片づけていくほど、あなたの図は真実へと収束していきます。
なぜこれが、ものごとを変えるのか
信じられる図は、まったく別の道具になります。新しいエンジニアは、誰かが 作ろうとした ものではなく、本当に存在するものを目にします。レビューは、ドキュメントに載っていない決済データベースへの呼び出しを捕まえます。「これってまだ使われてる?」という問いに、答えが出ます。そして関係は出自を背負っているので——実際のテレメトリから 観測(observed) されたものなのか、設定から 導出(derived) されたものなのか——各々の線をどこまで信じればいいかが、はっきりわかります。
これは living diagram(生きた図)の始まりです。本番に置いていかれるのではなく、本番と歩調を合わせ続けるアーキテクチャ。
試してみる
どれかプロジェクトを開いて、ツールバーの Reality を押し、ソースをつないで、スキャン。数分のうちに、あなたの本物のアーキテクチャがモデルと突き合わされた姿が見えてきます——そしてたぶん、動いていたことを忘れていた何かが、ひとつふたつ見つかるはずです。
詳しい手順は Production Reality のドキュメント にあります。あなたの本番が実際に何をやっているのか、見に行きましょう。