【ものりす】
モノリス とは?
💡 全部入りの「一枚岩」アプリケーション
📌 このページのポイント
モノリスって何のこと?
アプリの全機能を1つのプログラムにまとめて作る方式だよ。ユーザー管理も商品管理も決済も、全部が1つのコードベースに入っている。普通にアプリを作り始めるとまずこの形になることが多い。
それの何がいいの?
じゃあデメリットは?
規模が大きくなると辛くなる。コードが数十万行を超えると、小さな変更でも全体をビルド・テスト・デプロイする必要がある。チームが増えると同じコードベースで衝突も起きやすいし、1箇所のバグがアプリ全体を落とすリスクもある。
マイクロサービスにすれば全部解決するの?
モノリスからマイクロサービスに移行するときのコツってある?
「ストラングラーフィグパターン」がよく使われるよ。いきなり全部を作り直すんじゃなくて、モノリスの周りに新しいサービスを少しずつ生やしていく。特定の機能を切り出してAPIで繋ぎ、古い部分を徐々に置き換える。モノリス内部をあらかじめモジュール分割しておくと、切り出しやすくなる。いわゆる「モジュラモノリス」という中間的な選択肢もあって、モノリスの良さを活かしつつ境界を明確にする方法として注目されているんだ。
まとめ:ざっくりこれだけ覚えればOK!
モノリスって出てきたら「アプリの全機能を1つにまとめた一枚岩の構成のことだな」と思えればだいたいOK!
📖 おまけ:英語の意味
「Monolith」 = 一枚岩
💬 ギリシャ語の「mono(1つの)」と「lithos(石)」が語源。巨大な一枚岩のように、すべてが一体になっているイメージ