モノリス

全機能を 1 つのデプロイ単位にまとめたアーキテクチャで、シンプルだが大規模化で課題が生じる

アーキテクチャ設計

モノリスとは

モノリスは、全機能を 1 つのデプロイ単位にまとめたアーキテクチャである。シンプルで開発が速いが、大規模化するとデプロイの遅延やチーム間の調整コストが増加する。

モノリス vs マイクロサービス

観点 モノリス マイクロサービス
デプロイ 全体を一括 サービスごと
スケーリング 全体をスケール サービスごと
開発速度 (初期) 速い 遅い (インフラ構築)
開発速度 (大規模) 遅い (調整コスト) 速い (独立)
運用の複雑さ 低い 高い
トランザクション 容易 分散トランザクション

モノリスの問題

問題 説明
デプロイの遅延 小さな変更でも全体をデプロイ
スケーリングの非効率 注文処理だけスケールしたいのに全体をスケール
チーム間の調整 同じコードベースで衝突
技術スタックの固定 全体が同じ言語・フレームワーク

モノリスの段階的分割

Phase 1: モノリス (1 Lambda)
Phase 2: モジュラーモノリス (内部を分離)
Phase 3: マイクロサービス (Lambda を分割)

いつモノリスを選ぶか

ケース 推奨
新規プロジェクト ✅ モノリスから始める
チーム 1〜5 人 ✅ モノリス
ドメイン境界が不明確 ✅ モノリス
チーム 10 人以上 マイクロサービスを検討

より深く学ぶには関連書籍が役立つ。

関連用語