モノリス(モノリシックアーキテクチャ)
ものりす
意味
モノリシック(Monolithic:一枚岩)とは、ソフトウェアのアーキテクチャにおいて、全ての機能がひとつの巨大なプログラムとして結合されている状態。「マイクロサービス」の対義語。初期開発は早いが、巨大化すると修正や変更の影響範囲が分かりにくく、保守性が下がる。
概要
ソフトウェア全体が、分割されずに一つの巨大な塊(一枚岩)として作られているシステム構造のこと。 映画『2001年宇宙の旅』に出てくる黒い石板(モノリス)が語源。
特徴
全ての機能(UI、ビジネスロジック、データベース接続など)が密接に絡み合っている。
- メリット: 初期開発が楽。単純なのでテストやデプロイが簡単。
- デメリット: システムが巨大化すると、「一箇所直すと全体に影響する」「ビルドに数時間かかる」「技術スタックを変えられない(Javaで作ったら一生Java)」という問題が出る。
脱・モノリス
近年は、このモノリスを分割して「マイクロサービス」へ移行するのがトレンドだが、分割しすぎて管理不能になる失敗(分散モノリス)も多発している。