第 4 章 システム構成要素
止まらないシステムを設計する。この章では次の 12 個の知識点を、解説・インタラクティブ教材・練習問題で学びます。
システムの利用形態と処理形態
利用形態:データをためてまとめて処理するバッチ処理と、発生するたびにすぐ処理するリアルタイム処理。処理形態:1 台がすべてを処理する集中処理と、複数台で分担する分散処理(現在の主流)。
クライアントサーバシステムとシンクライアント
サービスを要求するクライアントと、提供するサーバで処理を分担するのがクライアントサーバシステム。機能をプレゼンテーション層(見た目)・アプリケーション層(機能)・データベース層(データ)に分け、アプリケーション層をサーバ側に置くのが3層クライアントサーバシステム。シンクライアントは端末を最小限にし、処理とデータをサーバ側に置く(VDI/DaaS)。
システムの二重化
止められないシステムは 2 組用意して信頼性を高める。デュアルシステムは 2 組が同じ処理を同時に行い結果を照合、片方が壊れたら残りで続ける(縮退運転)。デュプレックスシステムは現用系+待機系で、故障時に切り替える。待機系を起動したまま待たせるのがホットスタンバイ、電源オフ等で待たせるのがコールドスタンバイ(切替えに時間がかかる)。
バックアップ方式
フルバックアップ=毎回すべて。差分バックアップ=最初のフル以降の変更分。増分バックアップ=直前のバックアップ以降の変更分。バックアップ時間はフル>差分>増分、復元時間は逆にフル<差分<増分。復元に必要なのは、フル:最新 1 つ、差分:フル+最新の差分、増分:フル+その後の増分すべて。
バスタブ曲線
装置の故障率と時間の関係を表すバスタブ曲線。初期故障期(設計・製造の不良で故障率が高く、だんだん下がる)→ 偶発故障期(低く安定、偶然の故障)→ 摩耗故障期(摩耗・劣化で再び上がる)。形が浴槽(バスタブ)に似ている。
性能評価とベンチマーク
性能の指標:スループット(単位時間あたりの仕事量)、ターンアラウンドタイム(処理を依頼してから結果の出力が終わるまで。主にバッチ処理)、レスポンスタイム(依頼し終えてから最初の応答が返るまで。主にオンライン処理)。標準プログラムで性能を測って比べるのがベンチマークテスト:SPEC(CPU。SPECint 整数・SPECfp 浮動小数点)、TPC(トランザクション処理)、3DMark(3D 描画)。
RASIS
システムの良さを評価する 5 つの観点 RASIS:R 信頼性(故障しにくい・MTBF)、A 可用性(いつでも使える・稼働率)、S 保守性(早く直せる・MTTR)、I 保全性(データが正しく保たれる)、S 安全性(セキュリティ)。
MTBF・MTTR と稼働率
MTBF(平均故障間隔)=稼働時間の合計 ÷ 故障回数。MTTR(平均修理時間)=修理時間の合計 ÷ 故障回数。稼働率= 。MTBF が長いほど、MTTR が短いほど稼働率は上がる。
直列・並列システムの稼働率
直列システムは全部が動いて初めて動く → 稼働率は掛け算 。並列システムはどれか 1 つ動けばよい → 「全部止まる確率」を 1 から引いて 。複雑な構成は、内側のかたまりから順に 1 つの装置とみなして計算する。
信頼性設計
信頼性を高める 2 つの考え方:そもそも故障させないフォールトアボイダンスと、故障しても大丈夫にするフォールトトレランス(構成を冗長化する)。故障・ミスへの備え方:フェールセーフ(安全側に止める)・フェールソフト(機能を落としても動かし続ける)・フールプルーフ(人の誤操作を防ぐ)。障害の影響を外に出さないフォールトマスキングも。
IaC(Infrastructure as Code)
IaCは、サーバやネットワークなど IT インフラの構成・設定をコード(設定ファイル)で記述し、そのコードから自動で構築・管理する考え方。手作業の設定ミスを減らし、同じ環境を何度でも再現でき、変更履歴も残せる。DX 推進の手段として注目されている。
エッジコンピューティング
エッジコンピューティングは、利用者や IoT 機器(センサなど)の近く(ネットワークの端=エッジ)に置いたサーバでデータを一次処理する方式。遠くのクラウドまで全データを送らずに済むので、通信の遅延が減りリアルタイム性が高まる。通信量の削減にもなる。