pulpul 日本の試験

応用情報技術者 概念書 · システム構成要素

システムの構成

要点と定義

システム構成は、処理を機器やサービスにどう配分し、負荷や障害にどう対応するかを定める設計です。構成要素の機能配分や冗長化、負荷分散によって、性能や信頼性を高めることを目指します。

スケールアウトはサーバを追加して処理を分散し、全体の処理能力を高める方法です。スケールインは処理需要に対して余っているサーバなどの資源を減らすこと、スケールアップは個々のサーバの能力を高めることです。

クラスタは複数のサーバを連携させてサービスを提供する構成です。サーバ障害時に残るサーバでサービスを続けられる場合があります。セッション共有は利用者の処理状態を別サーバで引き継ぐ仕組みとして働きます。

マイクロサービスは、システムの機能を独立した小さなサービスに分ける構成の考え方です。サービスを個別に変更しやすい一方、サービス間の通信やデータ整合性の管理が必要になる場合があります。

信頼性設計では、故障を防ぐこと、故障時に機能を保つこと、安全な状態へ移ることなどを区別します。フォールトアボイダンスは構成要素の品質向上などで故障の発生を防ぐ考え方です。フォールトトレランスは故障が起きても機能を維持する考え方、フェールソフトは機能を縮退させて稼働を続ける考え方、フェールセーフは故障時に安全な状態へ移る考え方です。フールプルーフは利用者の誤操作を防ぐ設計です。

オブジェクトストレージは、データをオブジェクトとして扱うストレージ方式です。非構造型データを大容量かつ拡張性のある領域に格納する用途に適します。

HPCは高精度で高速な演算を必要とする分野で用いる計算形態です。複数のコンピュータの資源を連携させ、単一の高性能なコンピュータのように利用する構成もあります。リアルタイム処理は、入力に対する応答が定められた時間制約を満たす処理です。

適用条件と例

参照要求のように個々の処理を独立して分けやすいシステムでは、要求を複数サーバへ振り分け、サーバを追加することで処理能力を高めやすくなります。処理を分割しにくい場合や、更新時に複数のデータベース間で整合性を保つ負担が大きい場合は、追加サーバの効果が出にくいことがあります。需要に合わせて余分なサーバを外すのはスケールイン、各サーバにメモリなどを追加して能力を上げるのはスケールアップです。

クラスタで利用者の処理状態を引き継ぐには、セッション状態を共有できる構成が役立ちます。共有しない構成でも残るサーバで新しい要求を受けられる場合がありますが、障害が起きたサーバ上の利用者の処理が継続するとは限りません。処理中のデータベーストランザクションには別途復旧が必要です。

機能を独立したサービスに分ける構成では、個々のサービスを変更しやすくなります。一方、サービス間の通信が生じ、別々に管理するデータの整合性を保つ設計が必要になることがあります。

オブジェクトストレージは、画像や文書などの非構造型データをオブジェクトとして格納する方式です。更新頻度が低いデータを含む、大容量で拡張性のある保存領域が必要な用途に適します。

HPCでは、複数ノードのコア数と一コア当たりの理論ピーク性能から、構成全体の理論ピーク演算性能を求めます。ノード数を変える場合は、更新後の総コア数を一ノード当たりのコア数で割ります。

リアルタイム処理が必要な組込みシステムでは、入力に対する結果を定められた時間制約内に返せることが要件になります。

スケールアウトは、サーバを追加して処理を分散し、全体の処理能力を高める方法です。互いに独立して処理しやすい参照系の要求を複数サーバへ分散できるシステムでは、追加サーバの効果を得やすくなります。処理の分割が難しい場合や、データ更新時の整合性管理が重い場合は適用効果が限られます。

スケールインは、処理需要に対して余っているサーバなどの資源を減らして規模を縮小することです。サーバの台数を減らす調整がこれに当たります。サーバを増やすことはスケールアウト、個々のサーバの能力を高めることはスケールアップです。

コールドスタンバイでは、稼働系の障害後に待機系へ切り替えるため、切替え中はサービスが中断します。クラスタでは残るサーバがサービスを提供できる場合があり、セッション共有は利用者の処理状態を別サーバで引き継ぐ助けになります。セッション共有だけで処理中のデータベーストランザクションの復旧まで保証されるわけではありません。

この節の続き

ここまでが冒頭部分です。ログインすると、無料でも1日2節まで全文をお読みいただけます。

アプリでこの節を読む