忍者ブログ
情報処理技術者試験の合格を目指す全受験者のための、1問1問「徹底解説」ブログです。単なる過去問の暗記ではなく、なぜその答えになるのかを本質的に理解できるよう解説します。書籍などでは学べない最新用語やトレンドを踏まえてご紹介します。

【システムアーキテクチャ】すべての機能を単一のプログラムに集約!「モノリスアーキテクチャ」|情報処理問題1000本ノック

基本情報技術者試験、応用情報技術者試験、システムアーキテクト試験のシステム設計・クラウド移行分野で頻出の根幹概念。「モノリスアーキテクチャ」の定義と、対比される「マイクロサービスアーキテクチャ」とのメリット・デメリットを攻略しましょう。

1. 【 問題 】:テクノロジ・開発系(システムアーキテクチャ設計)

【 問題 】 ソフトウェアのアーキテクチャ構造に関する記述です。UI処理、業務ロジック、データベースアクセスなどのすべてのアプリケーション機能が、単一のコードベースおよび実行ファイルとして統合・構築されている設計スタイルは、次のうちどれか。

(ア)マイクロサービスアーキテクチャ(Microservices Architecture)
(イ)モノリスアーキテクチャ(Monolithic Architecture)
(ウ)サーバーレスアーキテクチャ(Serverless Architecture)
(エ)イベント駆動型アーキテクチャ(Event-Driven Architecture)

2. 正解:

正解:(イ)モノリスアーキテクチャ(Monolithic Architecture)

3. 解説:「『大きな1つの巨大な岩(一枚岩)』としてのシステム構造!」

モノリス(Monolith)とは「一枚岩」を意味する言葉です。
小規模開発の段階ではシンプルな構造で扱いやすい一方、システムが大きくなると「1箇所の修正で全機能のテストと再デプロイが必要になる」「特定の機能だけを個別にスケール(拡張)できない」といった限界が生じます。

【モノリス vs マイクロサービスの比較表】 ← 超頻出ポイント!

比較項目モノリスアーキテクチャマイクロサービスアーキテクチャ
構成単位 すべての機能が1つのプログラム(一体型) 機能ごとに独立した複数のサービス群(分散型)
デプロイ・更新 一部分の変更でもシステム全体の再デプロイが必要 サービスごとに独立して開発・デプロイが可能
スケーラビリティ 全体をまるごと複製して増強(部分拡張は困難) 負荷の高い特定サービスだけを個別にスケールアウト可能
初期開発・運用 全体像を把握しやすく、初期開発やテストが容易 サービス間通信(API)や分散管理の設計が複雑

1. 理解のコツ:
・「全部入りのお弁当箱」がモノリスです。おかずを1つ変更するだけでも、お弁当箱全体を作り直す必要があります。
・一方、小分けのパックを組み合わせる「バイキング方式」がマイクロサービスです。

2. 試験対策の視点:
・問題文に「単一のプログラム」「一体型の構成」「全体をまとめてデプロイ」「単一のコードベース」と来たら、迷わずモノリス(モノリシック)アーキテクチャを選択しましょう!
・近年は、既存の「モノリス」から「マイクロサービス」へ段階的に移行する(モダナイゼーション)文脈で出題されることが非常に多いです。


4. まとめ

すべての機能が単一の実行ファイル・プログラムとして統合された従来の設計構造。これがモノリスアーキテクチャです。対話的なAPI連携で各機能を独立させるマイクロサービスとの違いも含めて完璧に理解しておきましょう!

PR