Architecture
アーキテクチャ
松葉の開発で作成したアーキテクチャ図 14 点(26 ページ)を、3 つの分類で掲載しています。各図のページでは拡大・移動・ページ切替ができ、draw.io の原本と PNG・SVG をダウンロードできます。
読み方
- 短時間で骨格をつかむ
- システム全体構成図 ファイルライフサイクル図 セキュリティ・認可アーキテクチャ図
- 実装の作法をたどる
- アプリケーション・アーキテクチャ図 設計ルール図 CI/CD パイプライン図
- データベースを 1 枚だけ
- ER 図(全体俯瞰)
システム構成
本番システムを、全体像 1 枚と詳細 8 枚で描いた図です。実行環境とクラウド構成、ファイルと通知の流れ、セキュリティ、コードの構成と設計ルール、CI/CD の構造と判断を示します。並びは読み進めやすい順です。
本番システムの骨格は、どうなっているのかシステム全体構成図本番環境を 7 つの区画に分け、実行単位・入口・非同期基盤・データ層の骨格を 1 枚でつかむための全体像です。
本番には、何が実在しているのかシステム全体構成図(詳細)本番で稼働する実行単位・イベント・データ・外部連携を、実在するものだけ漏れなく 1 枚に並べた全体地図です。
各接続は、何を根拠に信頼しているのかGoogle Cloud サービス構成図Google Cloud 上の各接続がどの認証方式で信頼を成り立たせているかを、境界と権限の 2 ページで示す図です。全 2 ページ
ファイルはどんな経路で預かり、検査し、手放すのかファイルライフサイクル図ファイルが取り込まれ、検査され、削除された後もアーカイブとして参照されるまでの全工程を 1 枚にした図です。
通知はどう届き、失敗にどこで気づくのかイベント駆動・通知配送図通知が生まれてから届くまでを 1 枚に通し、二重送信の防止と失敗の検知をどこで担保するかを示す図です。
1 つのリクエストは、どの層でどう守られるのかセキュリティ・認可アーキテクチャ図1 つのリクエストが通る防御の層と、認可の単位である Box(共有スペース)の定義を同じ 1 枚で示す図です。
コードはどう分かれ、どの単位でデプロイされるのかアプリケーション・アーキテクチャ図モノレポ(アプリ 5・共有パッケージ 12)の依存関係と、それがデプロイ単位へどう対応するかを 1 枚で示す図です。
決めた規約は、どうやって守られ続けるのか設計ルール図フロントエンド・バックエンド・データベースの規約と、それを守る自動検査の対応を 4 ページで示す図です。全 4 ページ
変更は、どうやって本番へ出るのかCI/CD パイプライン図1 人で運用する前提で規律を人ではなく構造に置いた CI/CD の工程を、テスト戦略とクラウド設定の反映まで含めて示す図です。
データベース・ER
データを置く層(PostgreSQL と Cloud Storage)を 4 枚で描いた図です。ER 図の全体俯瞰、全列の詳細、物理構成と接続経路の順に読み、最後の 1 枚で全体をまとめ直します。
データベース全体は、どんな形をしているのかER 図(全体俯瞰)61 のテーブルとテーブル間の参照をすべて 1 枚に収め、データベースを統制された 1 つの構造として示す図です。
実際に、どの表にどの列が入っているのかER 図(詳細)全 61 表・667 列を 1 列も省略せず、実際の型・制約・日本語の意味つきで、全体とドメイン別の 8 ページに収めた辞書です。全 8 ページ
データはどこに置かれ、どう接続されるのかストレージ・データベース構成図データを置く場所(PostgreSQL と Cloud Storage)の物理構成・設定・接続経路を 1 枚に収めた断面図です。
データ全体を 4 つの観点で見ると、どうなるのかデータアーキテクチャ図入口・置き場・13 のドメイン・時間で動く仕組みの 4 つの観点で、データ全体を 1 枚にまとめ直した総括の図です。
サイトマップ
利用者から見た画面の側を描いた図です。URL を持つ画面の全量と、条件ごとにどの画面へ着地するかを 2 ページで示します。