システム構成要素(システムの構成とシステムの評価指標)
テクノロジ系 / コンピュータシステム
この単元の範囲
大分類2「コンピュータシステム」の中分類4にあたる「システム構成要素」は、複数のハードウェア・ソフトウェアを組み合わせて1つの情報システムを作り上げる際の「組み方(構成)」と「良し悪しの測り方(評価指標)」を扱う単元である。シラバスは大項目を2つに分け、「1. システムの構成」で処理形態からストレージ、信頼性設計までの7つの小分類、「2. システムの評価指標」で性能・信頼性・経済性の3つの小分類を挙げている。前半が「どう組むか」、後半が「組んだ結果をどう測るか」という対応関係で整理すると覚えやすい。
1. システムの構成
(1) 処理形態・利用形態・適用領域:1台のコンピュータで処理を行う集中処理と、複数のコンピュータに処理を分散させる分散処理がある。利用形態には、日中にリアルタイムで処理する対話型処理、複数の処理要求をまとめて一括処理するバッチ処理、即座に応答を返すリアルタイム処理、複数の処理を同時並行で進める並列処理、多数の端末からの要求をサーバが受け付けるクライアントサーバ処理、複数の更新処理を一つのまとまりとして扱うトランザクション処理などがあり、業務内容に応じて使い分ける。例えば銀行のATM入出金はリアルタイム処理、深夜の給与計算は夜間バッチ処理が適する。
(2) システム構成:信頼性を高める代表的な構成として、同一処理を行う機器を2系統用意するデュアルシステム、普段は現用系(主系)のみ稼働させ障害時に待機系(従系)へ切り替えるデュプレックスシステム、複数のサーバを束ねて1台のように扱うクラスタがある。切替え先の拠点も、常時稼働のホットサイト、最小限の設備のみのウォームサイト、施設だけのコールドサイトに分かれる。複数のプロセッサが密に連携する密結合とゆるく連携する疎結合、対等な立場で通信するピアツーピア、多数の計算資源を束ねるグリッドコンピューティングも構成方式の一つである。近年は物理機器を論理的に分割・統合する仮想化(VM、VDI)、必要な計算資源をネットワーク経由で利用するクラウドコンピューティング(SaaS・PaaS・IaaS・FaaS、サーバの管理を意識しないサーバレス)、インフラ構築をコードで管理するIaC(Infrastructure as Code)、端末に近い場所で処理するエッジコンピューティングが重要な用語となっている。冗長構成は信頼性向上、負荷分散はレスポンス速度向上という異なる目的を持つ点を区別しておきたい。
(3) ハイパフォーマンスコンピューティング:高精度な高速演算が必要な科学技術計算などの分野で、多数のプロセッサを協調させて処理するHPC(High Performance Computing)を扱う。大規模並列による超高速処理が特徴である。
(4) クライアントサーバシステム:処理をプレゼンテーション層(画面表示)・ファンクション層(業務ロジック)・データベースアクセス層(データ処理)に分ける考え方があり、これを2層または3層構成のクライアント・サーバ間に配置する。端末側の処理を最小限にするシンクライアントシステム、離れたサーバの手続きをあたかもローカルのように呼び出すRPC(Remote Procedure Call)も関連用語である。
(5) Webシステム:Webブラウザが要求を送りWebサーバが応答を返す、インターネット上で最も広く使われる構成形態である。
(6) ストレージ:複数のディスクを組み合わせて性能や信頼性を高めるRAID(RAID0~RAID6、RAID10)が中心的な用語である。データを分散して書き込むストライピング(高速化)、同じデータを複製するミラーリング(冗長化)、誤り訂正用の情報であるパリティを組み合わせて実現する。
(7) 信頼性設計:障害(フォールト)が起きても被害を抑える設計思想を扱う。障害が発生してもその影響を外部に波及させないようにする(隠蔽する)フォールトマスキング、障害が起きても稼働し続けるフォールトトレラントシステム、そもそも故障しにくい部品を選ぶフォールトアボイダンス、障害時に安全側へ倒すフェールセーフ、機能を縮退させても稼働を続けるフェールソフト、誤操作をしても事故につながらないフールプルーフという考え方がある。冗長構成には、普段は待機系を止めておくアクティブ-スタンバイ構成と、両系を常時稼働させるアクティブ-アクティブ構成がある。
2. システムの評価指標
(1) システムの性能特性と評価:性能指標として、要求から最初の応答までの時間であるレスポンスタイム(応答時間)、処理の依頼を開始してからすべての結果を受け取るまでの時間であるターンアラウンドタイム、単位時間あたりの処理件数であるスループット、性能を測る標準的なベンチマーク(TPC、SPECint、SPECfp)、稼働状況を継続的に観測するモニタリングがある。また将来の負荷増大に備え、必要なサイジングを行い、サーバを増やして分散するスケールアウト、既存サーバの性能を上げるスケールアップによって容量・能力管理(キャパシティプランニング)やプロビジョニングを行う。
(2) システムの信頼性特性と評価:信頼性を5つの観点でまとめたRASIS(Reliability:信頼性、Availability:可用性、Serviceability:保守性、Integrity:完全性、Security:安全性)が中核概念である。信頼性計算では、時間経過による故障率の変化を表すバスタブ曲線(初期故障期・偶発故障期・摩耗故障期)、平均故障間隔であるMTBF、平均修理時間であるMTTRを用い、稼働率=MTBF/(MTBF+MTTR)で計算する。複数の機器を組み合わせたシステムでは、すべてが正常でないと動かない直列システムの稼働率は各稼働率の積、いずれか1つが動けばよい並列システムの稼働率は1-(各稼働率の余事象の積)で求める。
(3) システムの経済性の評価:導入時にかかる初期コスト(イニシャルコスト)と、導入後の運用にかかる運用コスト(ランニングコスト)を合算した総所有費用(TCO:Total Cost of Ownership)でシステムの経済性を評価する考え方を扱う。費用は特定の対象に直接紐づく直接コストと、複数の対象にまたがって配分される間接コストに区別される。
---
参考文献
- IPA「基本情報技術者試験シラバス Ver.9.2」大分類2「コンピュータシステム」中分類4「システム構成要素」(印刷ページ-15-~-17-): https://www.ipa.go.jp/shiken/syllabus/omgdg50000005kpe-att/syllabus_fe_ver9_2.pdf
本資料はIPAが公表する基本情報技術者試験シラバスVer.9.2(大分類2「コンピュータシステム」中分類4「システム構成要素」、印刷ページ-15-~-17-)に基づく自作の解説テキストである。
- シラバス本文の小分類構成・用語例を参照しつつ、解説文・具体例は独自作成である
- 本文中でIPA過去問・サンプル問題の実在する問番号は一切引用していない
- 末尾の「オリジナル演習問題」はIPA過去問を模倣・転記せず、独自に作成したものである
- シラバスそのものの著作権はIPAに帰属する。原文はIPA公式シラバスPDFを参照すること
- 本資料の利用にあたっては、IPAの著作権・利用規約に従うこと
- 著者: 本資料著者(nomuraya-dojo)
考えてみよう
既定では正解・不正解の判定はしません。自分のペースで「答えを見る」を。採点してほしい場合だけ「採点してほしい」を押してください。
問1
複数のディスク装置にデータを分散して書き込むことで読み書き速度を高める技術と、同じデータを複数のディスクに複製して書き込むことで冗長性を高める技術の組合せとして、最も適切なものはどれか。
ア ストライピング=速度向上、ミラーリング=冗長化
イ ミラーリング=速度向上、ストライピング=冗長化
ウ パリティ=速度向上、ストライピング=冗長化
エ ストライピング=冗長化、パリティ=速度向上
解答:ア
解説: ストライピングはデータを複数のディスクに分散して並行して読み書きすることで速度を向上させる技術であり、ミラーリングは同じデータを複数のディスクに複製して書き込むことで、1台が故障してもデータを失わないようにする冗長化技術である。パリティは誤り訂正のための符号情報であり、速度向上そのものを目的とする技術ではない。RAID5やRAID6はストライピングとパリティを組み合わせることで、速度と一定の冗長性を両立させている。
問2
システムの信頼性を評価する指標であるRASISのうち、「Serviceability」が表す特性として最も適切なものはどれか。
ア システムが正しく動作し続ける度合い
イ システムが必要なときに使用できる度合い
ウ 障害発生時に迅速に保守・復旧できる度合い
エ データが不正に改ざん・破壊されない度合い
解答:ウ
解説: RASISはReliability(信頼性=正しく動作し続ける度合い)、Availability(可用性=必要なときに使える度合い)、Serviceability(保守性=障害からの復旧のしやすさ)、Integrity(完全性=データが正確で改ざん・破壊されない度合い)、Security(安全性=不正アクセスなどから保護されている度合い)の頭文字を取った指標である。選択肢アはReliability、イはAvailability、エはIntegrityの説明であり、Serviceabilityは「保守のしやすさ・復旧の速さ」を指す点で区別する。
問3
あるシステムを1年間(8,760時間)稼働させたところ、故障による停止が合計2回発生し、1回あたりの修理に平均10時間を要した。このシステムの稼働率に最も近い値はどれか。ただし、MTBF・MTTRは1年間の実績値から算出するものとする。
ア 約97.7%
イ 約99.0%
ウ 約99.5%
エ 約99.8%
解答:エ
解説: 総停止時間は10時間×2回=20時間、総稼働時間は8,760-20=8,740時間である。MTBF(平均故障間隔)=8,740時間÷2回=4,370時間、MTTR(平均修理時間)=20時間÷2回=10時間となる。稼働率=MTBF÷(MTBF+MTTR)=4,370÷(4,370+10)=4,370÷4,380≒0.9977、すなわち約99.8%であり、エが最も近い。稼働率の計算ではMTBFとMTTRをそれぞれ「総稼働時間÷故障回数」「総停止時間÷故障回数」として求める点を押さえておく。
問4
システムの経済性評価に関する説明のうち、TCO(総所有費用)の考え方として最も適切なものはどれか。
ア システム導入時にかかる初期コストのみを合計した費用
イ システムの運用・保守にかかるランニングコストのみを合計した費用
ウ 初期コストと運用コストを合わせた、システムを所有し続けるために必要な総費用
エ システムを売却した際に得られる収益から初期コストを差し引いた費用
解答:ウ
解説: TCO(Total Cost of Ownership:総所有費用)は、導入時の初期コスト(イニシャルコスト)だけでなく、導入後の運用・保守にかかるランニングコストも含めて、システムを所有し続けるために必要な総費用を評価する考え方である。初期コストの安さだけでシステムを選定すると、運用コストがかさんで結果的に総費用が高くつく場合があるため、TCOという長期的な視点での評価が重要になる。アとイはTCOの一部分のみを指しており、エは売却益に関する説明でありTCOの定義とは異なる。
問5
冗長構成に関する説明のうち、「アクティブ-スタンバイ構成」の説明として最も適切なものはどれか。
ア 2系統の機器を両方とも常時稼働させ、処理を分担させる構成
イ 1系統の機器のみを稼働させ、もう1系統は障害発生時に備えて待機させておく構成
ウ 障害が発生した箇所を自動的に切り離し、縮退した機能で稼働を続ける構成
エ 誤った操作を行っても、システムに危険な影響が及ばないように設計する考え方
解答:イ
解説: アクティブ-スタンバイ構成は、一方の系統(アクティブ系)のみを稼働させ、もう一方(スタンバイ系)は障害発生時に切り替えるための待機状態としておく構成である。これに対し、選択肢アのように両系統を常時稼働させて負荷を分担する構成はアクティブ-アクティブ構成と呼ぶ。ウはフェールソフトの考え方、エはフールプルーフの考え方の説明であり、いずれも冗長構成の分類そのものを指す用語ではない。