【こんぽーざぶるあーきてくちゃ】

コンポーザブルアーキテクチャ とは?

最終更新:
💡 レゴブロックのように組み替えられるシステム

再利用・組み合わせを考えて機能を部品化し、APIなどの接点を通じてシステムを構成する設計の考え方。機能の追加や交換をしやすくするため、部品の境界や契約、依存関係も設計する。

📌 このページのポイント
再利用できる機能を組み合わせる ひとまとまりの構成 部品を組み合わせ アプリ 在庫 決済 検索 在庫 API 決済 API 検索 API 再利用する機能の役割と接点を定める 交換には互換性・データ・運用の確認も必要 APIやイベントで連携する
販売サービスの構成を左右で比較する例。線は部品間の連携で、実行順序ではない。部品化だけで自由な交換が保証されるわけではない。
ひよこ ひよこ
マイクロサービスと何が違うの?
ペンギン先生 ペンギン先生
マイクロサービスは、サービスに分けて開発・配置する構成の考え方だね。コンポーザブルでは、決済や在庫管理のような機能を再利用し、組み合わせてビジネスの変化に対応することに注目する。マイクロサービスは、その部品を実現する選択肢の一つだよ。
ひよこ ひよこ
なんでブロック化するの?
ペンギン先生 ペンギン先生
たとえば販売画面を追加するときに、既存の在庫管理や決済の機能を再利用したいからだよ。そのためには、部品の役割とAPIなどの接点をはっきりさせ、ほかの部品の内部に頼りすぎない設計が必要なんだ。
ひよこ ひよこ
SaaSをいくつか契約するだけでいい?
ペンギン先生 ペンギン先生
サービスを集めるだけでは足りないよ。自社開発や外部サービスを組み合わせるなら、データ形式や認証、エラー処理、互換性をそろえる必要がある。APIがあるだけで、何でもそのまま接続できるとは限らないんだ。
ひよこ ひよこ
じゃあ、部品の交換は簡単になるの?
ペンギン先生 ペンギン先生
交換の影響を小さくすることが狙いだよ。でも部品どうしの依存やデータ移行、接続先の障害などは残る。再利用できる部品を管理し、接点の変更や動作を確認する運用も大切だね。
ひよこ ひよこ
導入は一気に進めるの?
ペンギン先生 ペンギン先生
既存の機能を少しずつ新しいサービスへ置き換えるストラングラーパターンも選択肢だよ。ただ、旧システムとデータを共有する期間や、要求の振り分けを設計する必要がある。システムの規模や制約に合った進め方を選ぶんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「コンポーザブルアーキテクチャ」って出てきたら「再利用できる機能の部品を組み合わせるシステム設計」と思えばだいたいOK!
📖 おまけ:英語の意味
「Composable Architecture」 = 組み立て可能なアーキテクチャ
💬 Composable(構成可能な)Architecture。レゴブロックのように必要なパーツを組み合わせてシステムを作るよ

参考資料

← 用語集にもどる