greenfieldの全体像 — 進化的アーキテクチャの設計と実装例

マルチドメインAPIモノレポの設計主張を、動くコードと実測で検証したリポジトリgreenfield。5日間・チェックリスト29項目・AWS費用$2.5未満から生まれた約20本の記事を、思想→設計→開発体験→デリバリー→イベント→移行→セキュリティの地図に並べる総覧。

greenfield とは

greenfield は、マルチドメイン API モノレポのプロダクション設計の主張を、動くコードと実測で検証するための リポジトリです。Go のサービス群 + TypeScript のフロントエンドで、認可 (OpenFGA)・イベント連携(outbox + SNS/SQS)・オンラインマイグレーション・ CI/CD 分離・AWS 実機(ECS / Aurora / AppConfig)までを一体で作りました。

進め方は「主張 → それを確かめる実験」のチェックリスト駆動で、(任意)を除く 29項目を全部消化して成功条件を宣言しています。AWS を使う検証は使い捨て (apply → 計測 → 当日 destroy)で、費用は合計 $2.5 未満。

通底する文化は3つだけです。

  1. 測れることは測ってから主張する — 「無停止のはず」ではなく非200ゼロを数える
  2. 規約は機械でも止める — 文章だけの禁止は1行の違反が検知されない
  3. 成功し続けている検査を疑う — 検査は壊れると失敗でなく成功として出てくる

この検証から生まれた記事を、地図にして並べます。

地図

思想・文化

Architecture as Code / fail open

設計

ドメインモデル / CQS / 集約境界

モノレポと開発体験

1プロセス実行 / CI分離 / 境界の引き直し

デリバリー

デプロイ・トラフィック切替・リリース / 選ばせない運用

イベント連携

outbox / キューポリシー / EventBridge

移行

モノリスのデータ切り出し

セキュリティ

脆弱性検査の層 / オープンリダイレクト

最初に読む1本

思想・文化

設計

モノレポと開発体験

デリバリー(読み順のあるシリーズ)

  1. プログレッシブデリバリー入門 — デプロイ・トラフィック切替・リリース — B/G・canary・promotion gate・bake・feature flag の語彙整理から
  2. アプリとDBでプログレッシブは別物 — 各層の実測 — トラフィックは割合で割れるがスキーマは1つしかない。両層の実測値の本体
  3. B/Gとカナリアの選び方、そして選ばせない運用 — 総集編。既定1本・カナリアはサービス属性・開発者は何も選ばない
  4. モノレポの無停止移行とデプロイ分離 — Parallel Change と CI 分離の深掘り(シリーズより前に書いた原型)
  5. AppConfig用のOpenFeatureプロバイダを自作した — リリース側の手段の実装。エコシステムに無かったので書いた

イベント連携

認証・認可

運用と可観測性

移行

セキュリティ

数字で見る greenfield

実測値
promotion gate ありの壊れた版デプロイ失敗 0 / 1,679
カナリア20% + アラーム自動ロールバック失敗 69 / 2,880(2.4%)
デプロイの巻き戻し(stopDeployment)32 秒
リリースの巻き戻し(フラグOFF)14 秒・再起動なし
オンライン改名一式(負荷継続中)エラー 0 件・新旧一致率 100%
COPY にしかならない DDL(ADD CHECK)2M 行 56 秒(Aurora 実測)
Aurora fast clone(データ量非依存)接続可能まで 5 分 34 秒
affected CI9 モジュール中、変更に関係する 2 個だけ実行
fail open の実測7 例
チェックリスト29 項目消化(任意2項目を除く全部)
AWS 費用合計 $2.5 未満(予算 $15、毎回当日 destroy)

還流物(コードとして持ち帰れるもの)

← Back to all posts