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 のドキュメント にあります。あなたの本番が実際に何をやっているのか、見に行きましょう。