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

【アルゴリズム設計】問題を小分けにして解き、最後に統合!「分割統治法」|情報処理問題1000本ノック

基本情報技術者試験、応用情報技術者試験のアルゴリズム・プログラミング分野で超頻出の計算設計手法。「分割統治法(Divide and Conquer)」の定義と、適用される代表的なソート(整列)アルゴリズムを攻略しましょう。

1. 【 問題 】:テクノロジ系(アルゴリズム・データ構造)

【 問題 】 アルゴリズムの設計手法に関する記述です。与えられた大きな問題を直接解くことが容易なサイズの小さな部分問題へ再帰的に「分割」し、それら独立した部分問題をそれぞれ解決した後に、得られた解を「結合・集計」することで元の問題全体の解を導き出す手法は、次のうちどれか。

(ア)動的計画法(Dynamic Programming)
(イ)分割統治法(Divide and Conquer)
(ウ)貪欲法(Greedy Algorithm)
(エ)バックトラッキング(Backtracking)

2. 正解:

正解:(イ)分割統治法(Divide and Conquer)

3. 解説:「『小分けにして解いてマージ(結合)する』アルゴリズムの王道!」

分割統治法(Divide and Conquer)は、主に「再帰呼び出し(Recursion)」を用いて実装されます。
問題を小さく分解することで計算の手間を大幅に削減できるため、大量のデータを扱う処理で絶大な効果を発揮します。

【分割統治法を採用している代表的なアルゴリズム】 ← 超頻出ポイント!

アルゴリズム名分割と結合の具体的な仕組み
マージソルト 要素群を半分ずつに再帰的に分割し、1要素まで細分化したあとにソートしながら結合(マージ)していく(計算量: $O(n \log n)$)。
クイックソート 「基準値(ピボット)」を選び、それより小さいグループと大きいグループに分割して再帰的に処理する(平均計算量: $O(n \log n)$)。
二分探索(バイナリサーチ) ソート済みの配列で、中央の値と比較して探索範囲を半分に分割(削ぎ落とし)しながら目的のデータを検索する(計算量: $O(\log n)$)。

1. 理解のコツ:
・「10,000人分のテストの採点」を1人で行うのは大変ですが、10人のチームに1,000人分ずつ「分割」して同時に採点させ、最後に点数を合算「結合」すれば早く終わります。これが分割統治法です。

2. 試験対策の視点:
・問題文に「問題を小さな部分問題に分割」「部分問題の解を組み合わせる(結合)」「再帰的」「マージソート・クイックソート」と来たら、迷わず分割統治法を選択しましょう!
・前回学んだ「貪欲法(局所最適解の選択)」や「動的計画法(メモ化による部分問題の再利用)」との定義の違いもしっかり比較しておきましょう。


4. まとめ

大きな問題を扱いやすい小さな問題に分割し、それぞれの解を組み合わせて全体の解を得るアプローチ。これが分割統治法です。マージソートやクイックソートといった代表的なソートアルゴリズムの基礎概念として、確実に理解しておきましょう!


PR

【アルゴリズム設計】その場その場の「ベスト」を愚直に選ぶ!「貪欲法(Greedy Algorithm)」|情報処理問題1000本ノック

基本情報技術者試験、応用情報技術者試験、アルゴリズム・プログラミング分野で頻出の重要設計手法。「貪欲法(グリーディ法)」の定義と、動的計画法(DP)や全探索との違いを攻略しましょう。

1. 【 問題 】:テクノロジ系(アルゴリズム・データ構造)

【 問題 】 段階的に判断を行う最適化問題のアルゴリズム設計技法に関する記述です。各ステップにおいて、全体最適解になるかどうかの検証や将来への影響の考慮を行わず、その時点で最も評価が高い選択肢(局所最適解)を貪欲に選び続けて解を導出する手法は、次のうちどれか。

(ア)動的計画法(Dynamic Programming)
(イ)貪欲法(Greedy Algorithm)
(ウ)分割統治法(Divide and Conquer)
(エ)バックトラッキング(Backtracking)

2. 正解:

正解:(イ)貪欲法(Greedy Algorithm)

3. 解説:「『目先の利益』を最優先で選んで進むシンプル解法!」

貪欲法(Greedy Algorithm)は、「目先の利益(局所解)」だけを見て選択を決定していく手法です。
計算量が少なく高速に解を求められるメリットがある反面、「全体の最適解(全体解)」に到達できるかどうかは問題の構造(マトロイド構造や最適な部分構造をもつか)に依存するという性質があります。

【代表的なアルゴリズム設計技法の比較】 ← 超頻出ポイント!

設計技法アプローチの特徴代表的な適用例
(イ)貪欲法
(Greedy)
各ステップで目先の局所最適解を検証せずに選択する。高速。 おつりの枚数最小化(日本円等の硬貨)、ハフマン符号、プリム法・ダイクストラ法(グラフ最短経路)
(ア)動的計画法
(DP)
問題を小さな部分問題に分割し、部分問題の計算結果をメモ(記録)して再利用することで全体最適解を求める。 ナップサック問題、編集距離(Levenshtein distance)
(ウ)分割統治法 大きな問題を小さく分割し、それぞれを独立して解いたあとに解を結合・統合する マージソルトクイックソート
(エ)バックトラッキング 解の候補を探索し、条件に合わないと分かった時点で1つ前の分岐まで戻って別の選択肢を試す(枝刈り) Nクイーン問題、迷路解法

1. 理解のコツ:
・例えば「100円、50円、10円、1円で462円のおつりを払う」時、「大きい硬貨から順番に使えるだけ使う」という選び方は貪欲法です(日本円の貨幣体系では、この貪欲法で枚数最小=全体最適解になります)。
・一方、特殊な硬貨体系(例:1円、4円、5円で8円を作る場合、貪欲法だと `5+1+1+1` で4枚になりますが、全体最適解は `4+4` の2枚)では、貪欲法では最適解にならないケースがあります。

2. 試験対策の視点:
・問題文に「局所解」「全体最適解であるか検証しない」「その時点で最も良い選択肢を選ぶ」「目先の最適」と来たら、迷わず貪欲法(グリーディ法)を選択しましょう!


4. まとめ

検証を行わずに各段階の局所最適解(目先の最善)を選択していくアルゴリズム設計手法。これが貪欲法です。部分問題の計算結果をメモしながら全体最適を保証する「動的計画法(DP)」との違いも含めてしっかり整理しておきましょう!


【ハードウェア】散らばった空き領域を集約!「メモリコンパクション」|情報処理問題1000本ノック

基本情報技術者試験、応用情報技術者試験のOS・記憶管理分野で頻出の重要テーマ。「メモリコンパクション(記憶領域の再配置)」の目的と、関連するフラグメンテーション(断片化)用語を攻略しましょう。

1. 【 問題 】:テクノロジ系(オペレーティングシステム・主記憶管理)

【 問題 】 OSの主記憶(メモリ)管理に関する記述です。プログラムのロードと解放を繰り返すうちに、主記憶内に小さな不連続の空き領域が多数散乱する現象(フラグメンテーション)が発生した際、使用中のメモリ領域を片側に移動・再配置して、連続した大きな空き領域を作り直す処理は、次のうちどれか。

(ア)メモリコンパクション(Memory Compaction)
(イ)ページイン(Page-in)
(ウ)スラッシング(Thrashing)
(エ)オーバーレイ(Overlay)

2. 正解:

正解:(ア)メモリコンパクション(Memory Compaction)

3. 解説:「『散らかった本棚(メモリ)を片側に詰める』整理整頓!」

メモリの領域確保と解放を繰り返すと、合計の空きメモリ容量は足りているのに「連続した領域が存在しないため新しい大きなプログラムをロードできない」という現象(外部フラグメンテーション)が発生します。
メモリコンパクションを実行して使用中領域をギュッと片側に寄せることで、大きなプログラムもロード可能な連続領域を復活させます。

【記憶管理における関連用語の比較】 ← 超頻出ポイント!

用語名動作・メカニズム
(ア)メモリコンパクション メモリ上の使用中領域を詰めて移動し、連続した大きな空き領域を作る。
ガーベジコレクション プログラム内で使われなくなった不要なメモリ領域(ゴミ)を検知し、自動的に解放して再利用可能にする。
(ウ)スラッシング 仮想記憶システムで物理メモリが不足し、ページアウト/インが多発して処理能力が極端に低下する状態。
デフラグ(デフラグメンテーション) ハードディスク(HDD)などの補助記憶装置上で、断片化したファイルを整理・再配置する処理。

1. 理解のコツ:
・「Compact(凝縮する、隙間なく詰める)」という英語の通りです。
・主記憶(RAM)上で行われる整理整頓がメモリコンパクション、ストレージ(HDD等)上で行われる整理整頓がデフラグと対比して整理しておきましょう。

2. 試験対策の視点:
・問題文に「空き領域の断片化(フラグメンテーション)」「領域の再配置・移動」「連続した空き領域を作成」と出たら、迷わずメモリコンパクションを選択しましょう!


4. まとめ

確保と解放の繰り返しで生じた断片化(フラグメンテーション)を解消するため、使用中メモリを詰めて移動し、大きな連続空き領域を作り直す機能。これがメモリコンパクションです。仮想記憶管理の「スラッシング」など、OS分野の他の重要用語と一緒にマスターしておきましょう!


【ネットワーク】ループ配線で帯域が枯渇!「ブロードキャストストーム」|情報処理問題1000本ノック

基本情報技術者試験、応用情報技術者試験、ネットワークスペシャリスト試験のLAN・L2スイッチ・障害対策分野で極めて高頻出の重要キーワード。「ブロードキャストストーム」の発生原因と、それを防止する制御技術(STP等)を攻略しましょう。

1. 【 問題 】:テクノロジ系(ネットワーク・LAN・スイッチング)

【 問題 】 レイヤ2(L2)ネットワークにおける通信障害に関する記述です。スイッチ間の配線ミスなどによってループ状の経路(物理ループ)が形成された際、ARPリクエストなどの全宛先向けデータ(ブロードキャストフレーム)がスイッチ間を無制限に増幅・巡回し続け、通信帯域やスイッチの処理能力を枯渇させてネットワーク全体を不通にする障害現象は、次のうちどれか。

(ア)スパニングツリー(Spanning Tree)
(イ)ブロードキャストストーム(Broadcast Storm)
(ウ)シンフラッド(SYN Flood)
(エ)フラッディング(Flooding)

2. 正解:

正解:(イ)ブロードキャストストーム(Broadcast Storm)

3. 解説:「『無限増殖ループ』によってLAN全体が嵐(ストーム)に飲まれる!」

L2スイッチは、宛先MACアドレスが「全宛先(`FF:FF:FF:FF:FF:FF`)」のブロードキャストフレームを受信すると、受信ポート以外のすべてのポートへ転送(**フラッディング**)します。
ネットワーク内にループ経路が存在すると、スイッチ間でフレームが相互に何度も転送され、**ネズミ算式にフレームが増殖してネットワークがパンク**します。

【ブロードキャストストームの回避技術・対策】 ← 超頻出ポイント!

防止技術・機能動作・メカニズム
スパニングツリープロトコル(STP) スイッチ間で制御フレーム(BPDU)をやり取りし、物理的なループ経路の一部を論理的に遮断(ブロック)して木構造(ツリー状)を作る。
ループ検知機能 スイッチ自身がテストフレームを出力し、自分に戻ってきた場合にポートを自動閉鎖して障害を防ぐ。
ストームコントロール機能 特定のポートで閾値以上のブロードキャストトラフィックが発生した際、超過分のフレームを破棄・制限する。

1. 理解のコツ:
・「2枚の合わせ鏡」の間で光や音が反響し合って、どんどん巨大な叫び声(嵐)に育ってしまうイメージです。
・L3(IPプロトコル)にはTTL(Time To Live:生存時間)があり、一定回数転送されるとパケットが自動消去されますが、**L2(イーサネットフレーム)にはTTLのような寿命が存在しない**ため、ループすると無限に残り続けるという点も重要です。

2. 試験対策の視点:
・問題文に「ブロードキャストフレーム」「ネットワーク内を循環・巡回」「帯域やCPUを圧迫」「ループ(配線ミス)」と来たら、迷わずブロードキャストストームを選択しましょう!
・その防止対策として「スパニングツリープロトコル(STP:IEEE 802.1D)」が正解になるパターンも超頻出です。


4. まとめ

L2ネットワークのループ経路によってブロードキャストフレームが無制限に増殖・巡回し、帯域を枯渇させる障害現象。これがブロードキャストストームです。これを未然に防ぐ「スパニングツリープロトコル(STP)」とセットで確実に覚えておきましょう!


【ハードウェア】1ビットの記憶を保持する基本回路!「フリップフロップ」|情報処理問題1000本ノック

基本情報技術者試験や応用情報技術者試験の論理回路・ハードウェア分野で最頻出の根幹概念。「フリップフロップ回路」の定義と、SRAMやレジスタとの関係、組合せ回路との違いを攻略しましょう。

1. 【 問題 】:テクノロジ系(ハードウェア・論理回路)

【 問題 】 コンピュータの論理回路に関する記述です。入力信号が変化しても電源が供給されている限り状態を維持することができ、1ビット(0または1)の情報を一時的に保持・記憶することができる順序回路は、次のうちどれか。

(ア)加算器(Full Adder)
(イ)フリップフロップ回路(Flip-Flop)
(ウ)マルチプレクサ(Multiplexer)
(エ)デコーダ(Decoder)

2. 正解:

正解:(イ)フリップフロップ回路(Flip-Flop)

3. 解説:「『記憶を持つ論理回路』=順序回路の代表格!」

論理回路は、過去の状態を記憶できない「組合せ回路」と、過去の状態を記憶できる「順序回路」に大別されます。
フリップフロップは順序回路の最も基本的な要素であり、パタパタと状態がひっくり返る(Flip-Flop)動作からその名がついています。

【フリップフロップの利用場所と関連知識まとめ】 ← 超頻出ポイント!

適用先・概念特徴・仕組み
SRAM(Static RAM) フリップフロップで記憶セルを構成する。リフレッシュ(再充電)動作が不要で高速だが、回路が複雑で大容量化が難しい(キャッシュメモリに使用)。
CPUレジスタ CPU内部で演算データを一時保持する最も高速な記憶領域。フリップフロップ群で構成される。
DRAM(Dynamic RAM)との違い DRAMはコンデンサ(電荷)で1ビットを記憶するため、放電を防ぐリフレッシュ(再充電)操作が必要(主記憶・メインメモリに使用)。

1. 理解のコツ:
・「壁の電気スイッチ」をイメージしてください。一度「ON(1)」側にパチンと倒すと、手を離してもONのまま留まります(記憶保持)。これがフリップフロップです。

2. 試験対策の視点:
・問題文に「1ビットの情報を保持」「0または1の状態を維持」「SRAMのメモリセル」「順序回路」と来たら、迷わずフリップフロップ回路を選択しましょう!
・「SRAM = フリップフロップ(リフレッシュ不要)」と「DRAM = コンデンサ(リフレッシュ必要)」の対比は毎年のように出題される超重要ポイントです。


4. まとめ

1ビットの情報を電源が供給されている間保持できる基本的な順序回路。それがフリップフロップです。CPU内部のレジスタやSRAMの記憶セルとして用いられるハードウェアの基本要素としてしっかりマスターしておきましょう!


【最新ITトレンド】現実空間を仮想空間上にリアルタイム再現!「デジタルツイン」|情報処理問題1000本ノック

ITパスポート、基本情報技術者試験、応用情報技術者試験、DX・ストラテジ分野で極めて高頻出の重要キーワード。「デジタルツイン」の定義と、CPS(サイバーフィジカルシステム)やシミュレーションとの関係を攻略しましょう。

1. 【 問題 】:テクノロジ・ストラテジ系(IoT・DX・システム運用)

【 問題 】 IoTやデータ分析技術を活用した先進的なシステムに関する記述です。工場内の製造ライン、建設現場、都市の交通状況など、現実世界(物理空間)にある事物や環境の状態を、IoTデバイスのセンサー群から収集したリアルタイムデータを用いてコンピュータ上の仮想空間に双子(ツイン)のように精密に再現し、シミュレーションや将来の状況予測を行う技術や概念は、次のうちどれか。

(ア)メタバース(Metaverse)
(イ)デジタルツイン(Digital Twin)
(ウ)拡張現実(AR:Augmented Reality)
(エ)エッジコンピューティング(Edge Computing)

2. 正解:

正解:(イ)デジタルツイン(Digital Twin)

3. 解説:「『現実空間の生き写し(デジタル上の双子)』を作る技術!」

デジタルツイン(Digital Twin)は、その名の通り「デジタル空間上に作った双子」です。
従来の静的な3D CADやコンピュータシミュレーションとは異なり、**IoTセンサーから常時送られてくるデータによって、現実世界の物理オブジェクトの「今の状態」が仮想空間へリアルタイムに同期・反映され続ける**のが最大の特徴です。

【デジタルツインの活用例と主なメリット】 ← 応用・記述問題でも超頻出!

活用分野具体的な内容と効果
製造・工場(スマートファクトリー) 稼働中の製品や製造装置の状態を監視し、部品の摩耗や故障を事前に察知(予知保全)する。
都市・交通(スマートシティ) 都市全体の交通量、人流、気象データを再現し、渋滞緩和策や災害時の避難シミュレーションを実施する。
開発・テスト 物理的な試作品を作らずに、仮想空間上で強度試験や動作テストを何度でも低コストで実行できる。

1. 理解のコツ:
・「サイバーフィジカルシステム(CPS)」という大きなフレームワーク(フィジカル空間⇄サイバー空間の相互作用)の中で、**『フィジカル側の実体をサイバー側へ丸ごと精密再現したモデルそのもの』**をデジタルツインと呼びます。

2. 試験対策の視点:
・問題文に「現実世界(物理空間)を仮想空間(コンピュータ上)に再現」「IoTセンサーのリアルタイムデータ」「双子(ツイン)」「予知保全・シミュレーション」と出たら、迷わずデジタルツインを選択しましょう!


4. まとめ

現実世界の物体や環境をIoTデータによって仮想空間上にリアルタイム再現し、予測や最適化を行う技術。これがデジタルツインです。CPS(サイバーフィジカルシステム)の構成要素として確実に覚えておきましょう!


【最新ITトレンド・ロボティクス】現実世界で自律動作する次世代知能!「フィジカルAI」|情報処理問題1000本ノック

ITパスポート、基本情報技術者試験、応用情報技術者試験、ITストラテジスト試験の最新ITトレンド・ロボティクス・CPS(サイバーフィジカルシステム)分野で大注目の重要テーマ。「フィジカルAI」の定義と、従来の産業用ロボットとの違いを攻略しましょう。

1. 【 問題 】:テクノロジ・ストラテジ系(最新ITトレンド・ロボティクス)

【 問題 】 AIおよびロボティクス技術の統合に関する記述です。画面上の情報処理に留まらず、センサーを通じて現実空間(フィジカル空間)の状況をリアルタイムに認識・把握し、人型ロボット(ヒューマノイド)や自動運転車などの物理的なハードウェアを用いて自律的な移動や作業・行動を行うAIシステムを表す用語として、適切なものはどれか。

(ア)マルチモーダルAI(Multimodal AI)
(イ)フィジカルAI(Physical AI)
(ウ)エッジAI(Edge AI)
(エ)生成AI(Generative AI)

2. 正解:

正解:(イ)フィジカルAI(Physical AI)

3. 解説:「『頭脳(デジタルAI)』が『身体(ハードウェア)』を得て現実で動く!」

フィジカルAIは、高度な言語・画像理解能力を持つデジタルAIに「身体(フィジカル)」を持たせる技術です。
従来のプログラミングされた産業用ロボットとは異なり、未知の環境や予期せぬ状況変化に対しても、**自律的にセンサーデータを解析して最適な物理的行動(回避・掴む・移動するなど)を決定・実行できる**のが最大の特徴です。

【フィジカルAIと関連AI技術の分類】 ← ポイント!

用語名特徴・主な適用領域
(イ)フィジカルAI 高度なAIモデルを物理ボディ(ロボット・自動運転・ドローン等)に搭載し、現実空間で自律的に行動する技術。
(ア)マルチモーダルAI テキスト、画像、音声、動画など「複数の異なる形式のデータ」を同時に理解・処理できるAI技術(フィジカルAIの目や耳として機能)。
(ウ)エッジAI 端末側(現場デバイス)でAI推論処理を行い、リアルタイム応答(低遅延)を実現する実装形態(フィジカルAIの制御に必須)。

1. 理解のコツ:
・「ChatGPT」などのAIが「画面の中で文章や画像を答えてくれるAI」だとすると、**「フィジカルAI」**は「部屋の片付けをしてくれたり、工場で荷物を運んでくれたりする実体を持ったAI」です。
・CPS(サイバーフィジカルシステム)やデジタルツイン技術と融合して、製造業、物流、医療、農業などの現場で急速に活用が進んでいます。

2. 試験対策の視点:
・問題文に「物理的な行動」「現実空間(フィジカル)」「自律的に作業・動作」「ヒューマノイド・自動運転・ロボティクスとの融合」と出たら、迷わずフィジカルAIを選択しましょう!


4. まとめ

高度な知能モデルを用いて、現実世界で物理的な動作や作業を自律的に行うAIシステム。これがフィジカルAIです。デジタル空間のAIから現実空間への展開を示す重要トレンドとして、確実に押さえておきましょう!


【クラウド・システム運用】大量のコンテナを自動で統括・管理!「コンテナオーケストレーション」|情報処理問題1000本ノック

基本情報技術者試験、応用情報技術者試験、システムアーキテクト試験のクラウド・仮想化技術分野で頻出の超重要キーワード。「コンテナオーケストレーション」の定義と、代表的なソフトウェア(Kubernetes)の役割を攻略しましょう。

1. 【 問題 】:テクノロジ・運用系(クラウド・コンテナ仮想化)

【 問題 】 コンテナ仮想化技術を用いたシステム運用に関する記述です。多数のコンテナのデプロイ、負荷に応じた自動スケーリング、ロードバランシング、障害発生時の自動再起動(セルフヒーリング)など、マルチホスト環境におけるコンテナ群の統合管理やライフサイクル運用を自動化する技術やソフトウェアの総称は、次のうちどれか。

(ア)ハイパーバイザ(Hypervisor)
(イ)コンテナオーケストレーション(Container Orchestration)
(ウ)Infrastructure as Code(IaC)
(エ)サービスメッシュ(Service Mesh)

2. 正解:

正解:(イ)コンテナオーケストレーション(Container Orchestration)

3. 解説:「『オーケストラの指揮者』のように無数のコンテナを自動指揮!」

オーケストレーション(Orchestration)とは、オーケストラの指揮者が個々の楽器(演奏者)をまとめて美しい音楽を奏でるように、**無数の独立したITリソース(コンテナ群)の動作を自動調整・調律する**ことに由来します。
代表格であるオープンソースの **Kubernetes(クーバネティス / K8s)** や、AWSの **Amazon ECS** などがこの役割を担います。

【コンテナオーケストレーションが提供する主な機能】 ← 超頻出ポイント!

機能名具体的な制御内容
自動デプロイ・配置 空きリソースの多い適切なサーバ(ノード)を自動選択してコンテナを配置・起動する。
オートスケーリング アクセス増加時やCPU負荷上昇時に、自動でコンテナの個数を増やして対応する
セルフヒーリング(自己修復) コンテナがクラッシュ・停止した場合、自動的に検知して再起動または再作成する。
ロードバランシング 複数のコンテナ間でトラフィックを均等に分散し、サービス不能を防ぐ。

1. 理解のコツ:
・「Docker」が**『個々のコンテナ(船の荷物箱)を作る技術』**であるのに対し、**「コンテナオーケストレーション(Kubernetesなど)」**は**『数千個の荷物箱をどの船に乗せるか指揮・管理する自動管制塔』**です。

2. 試験対策の視点:
・問題文に「多数のコンテナを自動管理」「デプロイやオートスケーリング」「セルフヒーリング(自己修復)」「Kubernetes(K8s)」と来たら、迷わずコンテナオーケストレーションを選択しましょう!


4. まとめ

多数のコンテナの配置、負荷分散、自動スケール、障害検出・再起動などの運用管理を自動統括する技術。これがコンテナオーケストレーションです。Kubernetes(K8s)という具体的なツール名とセットで確実に押さえておきましょう!


【システムアーキテクチャ】すべての機能を単一のプログラムに集約!「モノリスアーキテクチャ」|情報処理問題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連携で各機能を独立させるマイクロサービスとの違いも含めて完璧に理解しておきましょう!

【システム構成】システムを止めずに順番に更新!「ローリングメンテナンス」|情報処理問題1000本ノック

基本情報技術者試験、応用情報技術者試験、システムアーキテクト試験のシステム運用管理・クラウド基盤分野で頻出の運用手法。「ローリングメンテナンス(ローリングアップデート)」の仕組みと、システムを無停止(ゼロダウンタイム)で運用するポイントを攻略しましょう。

1. 【 問題 】:マネジメント・テクノロジ系(システム運用・デプロイ手法)

【 問題 】 複数台のサーバで構成された冗長システム(クラスタ環境等)の運用管理に関する記述です。システム全体を停止させることなく、ロードバランサー等を用いて1台ずつ順次サービスから切り離してOSの適用やソフトウェア更新などの作業を行い、完了後に再び組み込む作業を繰り返すことで、無停止(ゼロダウンタイム)でメンテナンスを行う手法は、次のうちどれか。

(ア)ブルーグリーンデプロイメント(Blue-Green Deployment)
(イ)ローリングメンテナンス(Rolling Maintenance / Update)
(ウ)カナリアデプロイメント(Canary Deployment)
(エ)ホットスワップ(Hot Swap)

2. 正解:

正解:(イ)ローリングメンテナンス(Rolling Maintenance / Update)

3. 解説:「『1台ずつ切り離して作業』でゼロダウンタイムを実現!」

ローリングメンテナンスは、Webシステムやクラウド(Kubernetes等)のコンテナ運用で標準的に用いられます。
ロードバランサー側で対象サーバへの接続割り振りを停止(**デノード / ドレイン処理**)し、残りのサーバで通常業務を処理しながら、1台ずつ順番に更新を進めます。

【無停止デプロイ・更新手法の比較】 ← 超頻出ポイント!

手法・名称概要・特徴主なメリット
(イ)ローリング
メンテナンス
冗長化されたノードを「1台ずつ順に」切り離してアップデートし、戻していく。 追加の予備環境を用意する必要がなく、リソースを最小限に抑えられる
(ア)ブルーグリーン
デプロイ
現行環境(Blue)と全く同じ新環境(Green)を用意し、ロードバランサーの切り替えで一瞬で移行する。 問題発生時に元の環境へ一瞬で切り戻し(ロールバック)できる。
(ウ)カナリア
デプロイ
新バージョンを「一部のユーザ(数%)だけに先行公開」して挙動を確認し、段階的に拡大する。 バグ発生時の影響範囲を限定的に抑えられる。

1. 理解のコツ:
・「寿司職人が交代で休憩に入る」シーンをイメージしてください。
・お店(システム全体)は休まず営業を続けながら、板前さん(サーバ)が1人ずつ順番に奥に下がって休憩・準備(メンテナンス)を行い、戻ってきたら次の人が下がる、という流れです。

2. 試験対策の視点:
問題文に「冗長構成を生かす」「1台ずつ順次切り離して更新」「無停止でシステムを運用」「順番に作業を実施」と来たら、迷わずローリングメンテナンス(ローリングアップデート)を選択しましょう!


4. まとめ

冗長化されたサーバ群を1台ずつ切り離しながら順次更新・点検を行い、システム全体を停止させずに運用を継続する手法。これがローリングメンテナンスです。ブルーグリーンデプロイメントなどの類似用語とセットで完璧に整理しておきましょう!