テクノロジーレーダー:テクノロジーランドスケープを一目で可視化する
すべてのアーキテクチャにはテクノロジーストーリーがあります。バックエンドを支える言語は何か?サービスが依存するデータベースは?新しいフレームワークはコンテナ全体に広がっているのか、それとも単一の実験に留まっているのか?
これまで Archyl でこれらの質問に答えるには、各要素を一つずつ開いてテクノロジーフィールドを読む必要がありました。情報はそこにありましたが、散在していました——個々のシステム、コンテナ、コンポーネントにアタッチされ、全体像を見る方法がありませんでした。
今日、これを変える2つの連携した機能をリリースします:テクノロジー管理とテクノロジーレーダー。
アーキテクチャへのテクノロジーのアタッチ
すべての C4 要素——システム、コンテナ、コンポーネント——およびすべてのリレーションシップに、1つ以上のテクノロジーをアタッチできるようになりました。要素を編集する際、既知のテクノロジーカタログから選択するか、独自のものを作成できるテクノロジーセレクターが表示されます。
各テクノロジーにはカテゴリがあります——プログラミング言語、フレームワーク、データベース、メッセージブローカー、クラウドサービス、DevOps ツールなど。Archyl は数百の一般的なテクノロジーのアイコンを搭載しているため、ダイアグラムやリストがすぐに認識できます。
リレーションシップにアタッチされたテクノロジーも同様に重要です。コンテナが gRPC でデータベースと通信している場合、またはサービスが RabbitMQ を介して別のサービスと通信している場合、そのトランスポートレイヤーが明示的かつ追跡可能になります。
レーダービュー
サイドバーからテクノロジーページに移動すると、レーダーが表示されます。
レーダーは組織内のすべてのテクノロジーを4つのクアドラントに整理します:
- 言語とランタイム — Go、TypeScript、Python、Java、コードが動作するすべてのもの
- フレームワークとライブラリ — React、Spring Boot、Express、Django——コンテナ内の構造的な選択
- データとメッセージング — PostgreSQL、Redis、Kafka、RabbitMQ——データが存在し移動する場所
- インフラとツール — Docker、Terraform、GitHub Actions——下層のプラットフォーム
各クアドラント内で、テクノロジーはアーキテクチャ全体での使用度に基づいて同心円リングに配置されます:
- Core — 4つ以上の要素で使用。基盤的。変更は大きな決定。
- Active — 2-3の要素で使用。確立され成長中。
- Emerging — 単一の要素で使用。始まったばかり——注目に値する。
- Registered — カタログ化されているがまだどの要素にもリンクされていない。
配置は自動です。レーダーを手動でメンテナンスする必要はありません。アーキテクチャ要素にテクノロジーをアタッチすると、レーダーが自動的に更新されます。
フィルタリングと探索
レーダーは静的ではありません。クアドラントラベルをクリックしてそのカテゴリだけにフィルタリングできます。ヘッダーのリングピルをクリックして単一の採用ティアを分離できます——選択されたリングがハイライトされ、残りはフェードし、重要なものに集中しやすくなります。
検索フィールドでテクノロジーを名前で検索できます。クアドラントとリングのフィルターと組み合わせて、「Core ティアにあるデータベースは?」や「使い始めた Emerging フレームワークは?」といった質問に答えられます。
アクティブなフィルターは検索バーの下にチップとして表示されます。個別に、または一括でクリアできます。
詳細パネル
レーダー上のテクノロジーブリップ、またはテーブルビューの行をクリックすると、右側から詳細パネルがスライドインします。
上部:テクノロジー名、カテゴリ、クアドラント、リング配置、そのリングの意味の説明。
その下にパネルが表示します:
使用統計
このテクノロジーを参照する要素数と、使用するリレーションシップ数。相対的な採用バーが、組織で最も使用されているテクノロジーとの比較を表示します。
最も頻繁に関連するテクノロジー
このセクションは、選択したテクノロジーと最も頻繁に一緒に現れるテクノロジーを表示します。Go をクリックして PostgreSQL、Docker、gRPC がリストされていれば——それがあなたの Go スタックパターンであり、アーキテクチャの実際の配線から直接導き出されたものです。
各エントリはクリック可能です。関連テクノロジーをクリックするとパネルがそれに切り替わり、サイドバーを離れることなくテクノロジーグラフを探索できます。
関連要素
このテクノロジーを使用するすべての C4 要素がここにリストされます——すべてのシステム、コンテナ、コンポーネント。任意の要素をクリックすると、そのプロジェクトのダイアグラムに直接移動し、要素が選択され正しい C4 レベルが読み込まれます。
ここがレーダーからアーキテクチャに戻る接点です。「PostgreSQL は Core」とだけ見るのではなく、正確にどのコンテナがそれを使っているかがわかり、ワンクリックでそのいずれかにジャンプできます。
テーブルビュー
テーブルビューに切り替えると、構造化されたスキャン可能なリストが得られます。テクノロジーはクアドラントとリングでグループ化され、使用量でソートされます。各行にテクノロジーアイコン、名前、使用量バーが表示されます。行をクリックすると同じ詳細パネルが開きます。
テーブルビューは監査やレビューに適しています——視覚的な探索ではなく、テクノロジーポートフォリオ全体を体系的に確認する必要があるとき。
なぜアーキテクチャレベルでテクノロジーを追跡するのか?
ほとんどのチームはスプレッドシート、wiki、または内部デベロッパーポータルでテックスタックを追跡しています。これらのリストは、記述するアーキテクチャから切り離されているため古くなります。誰かが新しいデータベースで新しいサービスを追加しても、wiki は更新されません。
Archyl では、テクノロジー情報はアーキテクチャ要素自体に存在します。チームが新しいコンテナに Redis をアタッチすると、レーダーが更新されます。サービスが削除されると、使用していたテクノロジーの採用カウントが下がります。モデルから読み取るため、レーダーは常に最新です。
これにより、いくつかのワークフローが具体化されます:
- テクノロジー標準化 — 組織がいくつの異なるデータベースやフレームワークを使っているか一目でわかる。統合を目指しているなら、レーダーが外れ値がどこにあるかを正確に示します。
- マイグレーション追跡 — あるテクノロジーから別のテクノロジーへの移行?チームが移行するにつれて古いものが Core から Active、Emerging へと下がり、新しいものが上昇するのを観察。
- オンボーディング — 新しいエンジニアが数秒で組織のテクノロジーランドスケープ全体を確認でき、各テクノロジーを使用する正確な要素へのリンク付き。
- リスク評価 — Emerging リングに単一要素しかないテクノロジーは置き換えリスクが低い。4つのプロジェクトにまたがる15のコンテナに触れる Core リングのテクノロジーは全く別の議論。
はじめに
テクノロジーレーダーはすべてのプランで利用可能です。既存のアーキテクチャ要素にテクノロジーをアタッチすることから始めてください——任意のシステム、コンテナ、コンポーネントを開き、編集パネルのテクノロジーセレクターを使用します。
いくつかの要素にタグ付けしたら、サイドバーのテクノロジーページに移動してください。レーダーはそこから自動構築されます。
アーキテクチャモデルをゼロから構築するチームは、C4 モデル入門から始めてください。テクノロジーを自動的に発見したい場合、AI 駆動のアーキテクチャ発見がディスカバリープロセスの一部としてテクノロジーを検出します。コアテクノロジーを変更したときに何が起こるかを理解するには、Impact Radar がコミット前に影響範囲を表示します。