システムアーキテクチャ — 可用性・拡張性・冗長化
導入
ネットショッピングのサイトが24時間止まらず動き続けているのは、なぜでしょうか。その秘密は、障害が起きても動き続けるための「システムアーキテクチャ」の設計にあります。
なぜ重要か
ITパスポートのテクノロジ系分野において、システムアーキテクチャは安定した出題実績を持つテーマです。3層アーキテクチャの各層の役割、RAID・クラスタリングなどの冗長化技術、フォールトトレランスとフェールセーフの違いは、毎回の試験でいずれかが必ず問われるほど頻出です。
実務の観点でも、システムを安定稼働させるための設計知識は、IT部門だけでなくシステムを発注・管理する立場の人にも必要です。「なぜこのシステムは高コストなのか」「どこが止まると業務が止まるのか」を理解するためには、アーキテクチャの基本概念を押さえておくことが前提になります。
また、クラウドサービスが普及した現代においても、3層アーキテクチャや冗長化の考え方はクラウド設計の基盤として生き続けており、現場での有用性も高い知識です。
くわしく知ろう
システムアーキテクチャとは、システムを構成するコンピュータやソフトウェアをどのように組み合わせて動かすかという設計の考え方を指します。代表的な構成として、クライアントサーバシステムと3層アーキテクチャが挙げられます。
クライアントサーバシステムは、サービスを要求する「クライアント」とサービスを提供する「サーバ」に役割を分けた構成です。Webブラウザ(クライアント)とWebサーバの組み合わせが典型例になっています。
3層アーキテクチャは、プレゼンテーション層(画面表示)・ロジック層(業務処理)・データ層(データ管理)の3つに分けて設計する手法です。層を分けることで、変更や拡張がしやすくなります。プレゼンテーション層はWebブラウザや画面、ロジック層はアプリケーションサーバ、データ層はデータベースサーバが担当するのが一般的な構成です。
可用性を高めるための技術として冗長化があります。RAIDはハードディスクを複数組み合わせて、1台が故障してもデータを保護する仕組みです。RAID 1はミラーリング(2台に同じデータを書き込む)、RAID 5はパリティ情報を分散させることで1台の故障に耐えられる構成として知られています。クラスタリングは複数のサーバを連携させ、1台が落ちても別のサーバが処理を引き継ぐ構成を指します。
フォールトトレランスは「障害が起きても継続稼働できる」性質を指し、フェールセーフは「障害発生時に安全な状態に移行する」設計のことです。たとえば、信号機が停電時に全方向赤になる設計はフェールセーフの典型例です。
具体例で理解する
たとえば、ECサイトでは注文処理(ロジック層)と商品データベース(データ層)を別々のサーバに置くことで、障害時の影響を最小限に抑えられます。RAIDを使えば、ディスク1台が故障してもデータが消えない仕組みを実現できます。クラスタリングを組み合わせれば、サーバ1台が落ちても別のサーバが瞬時に引き継ぎ、ユーザーにはサービス停止が見えない状態を維持できます。
試験での出題パターン
【パターン1:3層アーキテクチャの各層を問う問題】
「業務ルールや処理を担当する層はどれか」という問いに対してロジック層(アプリケーション層)を選ぶ形式です。プレゼンテーション層=見た目・画面、ロジック層=処理・計算、データ層=保存・管理という対応を整理しておくと判断が速くなります。
【パターン2:冗長化技術の違いを問う問題】
「ディスクの冗長化」はRAID、「サーバの冗長化」はクラスタリングと区別します。どちらも耐障害性を高める技術ですが、対象が「ディスク」か「サーバ」かで使い分けます。問題文に「データ保護」「ディスク故障」が含まれていたらRAID、「サーバ切り替え」「フェイルオーバー」が含まれていたらクラスタリングを選ぶと対応しやすくなります。
【パターン3:フォールトトレランスとフェールセーフの違いを問う問題】
フォールトトレランスは「故障しても動き続ける」、フェールセーフは「故障したら安全な状態に移る」と区別します。「継続稼働」か「安全停止」かが判断のポイントです。
よくある間違い・紛らわしいポイント
【3層アーキテクチャとクライアントサーバの混同】
クライアントサーバシステムはクライアントとサーバの2役割に分ける構成であり、3層アーキテクチャとは別の概念です。3層アーキテクチャはサーバ側を「ロジック層」と「データ層」に分けるため、クライアントを含めると実質的に3階層になりますが、「クライアントサーバ」と呼ぶ場合は2分割の意味で使われることがほとんどです。
【RAIDの種類の混同】
RAIDにはRAID 0・RAID 1・RAID 5など複数の構成があります。RAID 0はストライピング(データを分散して高速化するが冗長性なし)、RAID 1はミラーリング(同じデータを2台に書き込む)です。試験ではRAIDの「冗長化」という側面が問われることが多いため、RAID 0は冗長化とは言えない点に注意が必要です。
【フォールトトレランスとフォールトアボイダンスの混同】
フォールトアボイダンスは「故障そのものを防ぐ」設計思想で、高品質な部品を使うことで障害の発生確率を下げます。フォールトトレランスは「故障を前提に耐える」設計です。「避ける」か「耐える」かで区別することができます。
まとめ・試験ポイント
- クライアントサーバ=クライアント(要求側)とサーバ(提供側)に役割を分離
- 3層アーキテクチャ=プレゼンテーション層・ロジック層・データ層の3分割
- RAID=複数ディスクでデータを保護する冗長化技術(RAID 1:ミラーリング、RAID 5:パリティ分散)
- クラスタリング=複数サーバの連携で耐障害性を高める
- フォールトトレランス=障害時も稼働継続、フェールセーフ=障害時に安全側へ移行
- 試験では3層アーキテクチャの各層の役割と冗長化技術の違いがよく問われる
学習した内容を試験形式で確認しよう。ITパスポート入門試験100問に挑戦できます。
入門試験100問に挑戦する