テクノロジーレーダー

テクノロジーレーダーは、アーキテクチャ全体で使用されているすべてのテクノロジーの視覚的な概要を提供します。テクノロジーは自動的にクアドラントに分類され、C4 要素とリレーションシップでの実際の使用状況に基づいて採用レベルがランク付けされます。
コアコンセプト
テクノロジー
テクノロジーとは、アーキテクチャで使用されるあらゆるツール、言語、フレームワーク、またはサービスを表します。各テクノロジーには以下の情報があります:
| フィールド | 説明 |
|---|---|
| 名前 | 表示名(例:PostgreSQL、React、Kubernetes) |
| カテゴリ | レーダーのクアドラントを決定する分類 |
| 説明 | 使用方法や目的に関するオプションのメモ |
| アイコン | 視覚的な識別のためのオプションのロゴ |
クアドラント
テクノロジーはカテゴリに基づいて4つのクアドラントにグループ化されます:
| クアドラント | カテゴリ |
|---|---|
| 言語 | プログラミング言語、ランタイム |
| フレームワーク | フレームワーク、ライブラリ |
| データ | データベース、メッセージブローカー、オブジェクトストレージ |
| インフラストラクチャ | クラウドサービス、DevOps ツール、トランスポートプロトコル、その他 |
採用リング
各テクノロジーは、アーキテクチャ全体での使用状況に基づいてリングに配置されます:
| リング | 基準 | 意味 |
|---|---|---|
| コア | 4つ以上の要素/リレーションシップで使用 | 基盤技術、深く組み込まれている |
| アクティブ | 2〜3つの要素/リレーションシップで使用 | 積極的に採用、使用拡大中 |
| 新興 | 1つの要素/リレーションシップで使用 | 最近導入、評価中 |
| 登録済み | まだどの要素にもリンクされていない | カタログ化されているが、積極的に使用されていない |
ガバナンスリング
採用リングはテクノロジーがどれだけ使われているかを表します。ガバナンスリングは、アーキテクトがそのテクノロジーについて何を決めたかを記録します。この 2 つは独立しています。利用状況では Core でも、決定としては 保留 ということがあり得ます。移行中のライブラリがまさにそのケースです。
| リング | 意味 |
|---|---|
| 採用 | 新しい作業での標準の選択肢 |
| 試行 | リスクを許容できるプロジェクトで試す価値あり |
| 評価 | 調査する価値あり。本番利用はまだ早い |
| 保留 | 新しい作業では使わない |
管理ビューでテクノロジーを作成・編集するときに、リングと短い理由(例: 「代わりに slog を使う」)を設定します。リングはレーダー、テーブル、詳細パネルにバッジとして表示され、ホバーすると理由が表示されます。保留のみ フィルターで、移行対象のものをすべて一覧できます。リングのないテクノロジーは未分類のままです。
レーダーで依存関係をチェックする
POST /api/v1/projects/{projectId}/technologies/check は最大 50 個の依存関係マニフェスト(各 1 MB まで)を受け取って解析し、各依存関係を名前で組織のテクノロジーと照合します。照合では大文字小文字、句読点、先頭の npm スコープ、.js や -go などのサフィックスを無視し、Go モジュールパスの最後のセグメントを使います。そのため github.com/sirupsen/logrus は Logrus という名前のテクノロジーに一致します。プロジェクトの閲覧権限が必要で、読み取り専用の API キーで十分です。
{"manifests": [{"path": "go.mod", "content": "module example.com/app\n\nrequire github.com/sirupsen/logrus v1.9.3\n"}]}
レスポンスには、各依存関係と一致したテクノロジー(一致しない場合は null)、およびサマリーが含まれます。一致しない依存関係とリングのない依存関係は unclassified として数えられます。
{
"dependencies": [
{
"name": "github.com/sirupsen/logrus",
"version": "1.9.3",
"ecosystem": "Go",
"filePath": "go.mod",
"isDev": false,
"technology": {"id": "…", "name": "Logrus", "radarRing": "hold", "radarNote": "Use slog"}
}
],
"summary": {"total": 1, "adopt": 0, "trial": 0, "assess": 0, "hold": 1, "unclassified": 0}
}
プルリクエストをブロックするには、summary.hold が 0 より大きいときに CI ジョブを失敗させます。コーディングエージェントは MCP ツール check_dependencies で同じチェックを利用できます。このツールは coding プロファイルに含まれ、保留の依存関係とその理由を挙げた短いサマリーを追加します。
対応マニフェスト: go.mod, package.json, requirements.txt, pyproject.toml, Cargo.toml, pom.xml, build.gradle(.kts), Gemfile, composer.json, .csproj, packages.config, CMakeLists.txt, conanfile.txt, conanfile.py, vcpkg.json。
ビュー
レーダービュー
デフォルトのビュー。テクノロジーはレーダーチャート上のドットとして表示され、クアドラントとリングによって配置されます。テクノロジーランドスケープの全体像を一目で把握できます。
インタラクション:
- ドットの上に ホバー してテクノロジー名を表示し、関連テクノロジーをハイライト
- ドットを クリック して詳細パネルを開く
- クアドラントラベルをクリック してそのクアドラントにフィルター
テーブルビュー
クアドラントとリングごとにグループ化されたすべてのテクノロジーの構造化リスト。各エントリには、テクノロジー名、アイコン、相対的な採用状況を示す使用バーが表示されます。
ヘッダーのビューセレクターからテーブルビューに切り替えます。このビューは、テクノロジーを体系的にレビューしたり、アーキテクチャレビューミーティング中に便利です。
管理ビュー
テクノロジーの作成、編集、削除のための管理ビュー。
ビューセレクターからアクセスするか、/technologies/management に移動します。
要素へのテクノロジーの追加
テクノロジーは C4 要素とリレーションシップにリンクされ、レーダーの配置を決定します。
要素パネルから
- ダイアグラム上の任意のシステム、コンテナ、またはコンポーネントを選択
- 要素の詳細パネルを開く
- テクノロジー セクションで、テクノロジーを検索して選択
- 変更は即座に保存される
リレーションシップから
- 2つの要素間のリレーションシップ(エッジ)をクリック
- リレーションシップパネルで テクノロジー を見つける
- 関連するテクノロジーを追加(例:通信に使用されるプロトコルやフレームワーク)
AI ディスカバリー中
リポジトリで AI 搭載のディスカバリーを実行すると、Archyl はコードベースからテクノロジーを自動的に検出し、発見された要素にリンクします。
テクノロジーの管理
テクノロジーの作成
- テクノロジー → 管理 ビューに移動
- テクノロジーを追加 をクリック
- 名前、カテゴリ、オプションの説明を入力
- 必要に応じてロゴ画像をアップロード
- 作成 をクリック
テクノロジーの編集
- 管理ビューで、リスト内のテクノロジーを見つける
- 編集 ボタン(鉛筆アイコン)をクリック
- 名前、カテゴリ、説明、またはロゴを変更
- 変更を保存 をクリック
テクノロジーの削除
- 管理ビューで、テクノロジー行の 削除 ボタン(ゴミ箱アイコン)をクリック
- 削除を確認
テクノロジーを削除すると、リンクされたすべての要素とリレーションシップから削除されます。
詳細パネル
レーダーまたはテーブルビューで任意のテクノロジーをクリックすると、詳細パネルが開きます。表示内容:
使用統計
- 要素:このテクノロジーを使用している C4 要素の数
- リレーションシップ:参照しているリレーションシップの数
- 採用レベル:最も使用されているテクノロジーに対する相対的なパーセンテージバー
関連テクノロジー
選択したテクノロジーと一緒に頻繁に表示されるテクノロジー。スタック内の自然なペアリングを明らかにします。例えば、React と TypeScript が一緒に頻繁に表示される場合などです。
関連要素
このテクノロジーを使用するすべてのシステム、コンテナ、またはコンポーネントのリスト。任意の要素をクリックして、ダイアグラム上に直接移動できます。
テクノロジーの検索
レーダーページから
ヘッダーバーの検索フィールドを使用して、名前またはカテゴリでテクノロジーをフィルタリングします。クアドラントとリングのフィルターと組み合わせて結果をさらに絞り込めます。
コマンドパレットから
Cmd+K(または Ctrl+K)を押してコマンドパレットを開きます。テクノロジー名を入力すると、テクノロジー バッジ付きで一致するテクノロジーが表示されます。選択すると、検索が事前入力されたテクノロジーページに移動します。
フィルタリング
クアドラントフィルター
クアドラントドロップダウンをクリックして、特定のクアドラント(言語、フレームワーク、データ、またはインフラストラクチャ)のテクノロジーのみを表示します。
リングフィルター
リングのピル(コア、アクティブ、新興、登録済み)をクリックして採用レベルでフィルタリングします。ヘッダーのリング分布バーもクリック可能なフィルターとして機能します。
複合フィルター
すべてのフィルターは組み合わせて使用できます。例えば、「フレームワーク」クアドラント+「コア」リングでフィルタリングして、最も重要なフレームワーク依存関係を確認できます。
アクティブなフィルターはフィルターバーの下に削除可能なチップとして表示されます。すべてクリア をクリックしてリセットします。
ベストプラクティス
カタログを最新に保つ
- 採用時にテクノロジーを追加
- 廃止されたテクノロジーを削除
- ツールの役割が変わった場合はカテゴリを更新
テクノロジーを一貫してリンク
- 適切な C4 レベルでテクノロジーを適用 — 言語とフレームワークはコンテナ/コンポーネントに、インフラストラクチャはシステムに
- リレーションシップに使用されるプロトコルやトランスポートをタグ付け(例:gRPC、REST、AMQP)
- 具体的に — 「SQL Database」より「PostgreSQL」を使う
ガバナンスにレーダーを活用
- アーキテクチャレビューミーティングでレーダーを確認
- 新興 リングのテクノロジーはチーム評価の候補
- 使用されていない 登録済み リングのテクノロジーは削除候補の可能性
- 健全なレーダーは、ほとんどのテクノロジーが コア または アクティブ にある
関連テクノロジーを活用
- 「関連」データを使用してテクノロジーのクラスタリングを理解
- 不整合を示す可能性のある予期しないペアリングを特定
- 同じ目的を持つ類似テクノロジーがある場合、標準化の機会を見つける
次のステップ
- AI 搭載のディスカバリー — コードからテクノロジーを自動検出
- アーキテクチャインサイト — アーキテクチャに関する推奨事項を取得
- 要素とスタイリング — C4 要素について学ぶ