Ⅱ-3-2. 非機能要件とシステム構成

コンピュータシステムを構成する非機能要件について述べる。システム構成で要点となるクラスタ構成や、ネットワーク負荷分散、サーバ負荷分散といった負荷分散構成、データ分散構成によるセキュリティ構成などについて説明する。

【学習の要点】

* 非機能要件とは機能要件以外の要件を指し、信頼性や効率性などに代表される。

* 非機能要件を満たすためには、システム構成を適した形にするよう考慮する必要が生じる場合がある。

* クラスタ構成により信頼性向上、負荷分散構成により効率性向上、データ分散構成によりセキュリティ向上を見込める場合がある。

図Ⅱ-3-2. 非機能要件を実現するシステム構成

【解説】

1) 非機能要件

* 非機能要件とは機能要件以外の要件を指し、信頼性、効率性、保守性、使用性などが含まれる。

* 非機能要件の管理にあたってはISO9126(ソフトウェア品質特性)を参考にすることができる。

2) 非機能要件を実現するシステム構成

非機能要件を実現するためには、アプリケーション側での対応に加え、適切なシステム構成を適用することも必要となる。

* クラスタ構成による高信頼性の実現

- システムをアクティブ系とスタンバイ系の2系統に冗長化し、アクティブ系に障害が発生した場合、ただちにスタンバイ系に切り替える構成にすることで、信頼性の向上が期待できる。

* ネットワーク・サーバ負荷分散による高効率性の実現

- 処理を行うサーバを複数台用意し、トラフィックおよび処理の分散を行う構成にすることで、効率性の向上が期待できる。

* データ分散構成によるセキュリティの実現

- OSSとして提供されている分散ファイルシステムGfarmを利用して情報を断片化して管理することにより、セキュリティ強化を実現することも可能である。顧客情報の管理に利用した事例がある。

3) OSSによる高信頼・高効率システムの構成例

高信頼性・高効率性を実現するシステム構成の代表例として、冗長化されたロードバランサと、複数の実サーバの2層によるシステム構成があげられる。OSSを利用することによってこのような構成をとることが可能である。

* LVS (Linux Virtual Server)とLdirectordによる負荷分散

- 実サーバ群に対し負荷分散を行うロードバランサとして、LVSを利用することができる。

- Ldirectordを利用して実サーバ上のサービスを監視することにより、不適切な状態の実サーバをLVSによる処理の分散対象から外す処理を自動化することができる。

* Heartbeatによるクラスタ構成

- Heartbeatを利用することでアクティブ系とスタンバイ系の2系統による冗長化を実現できる。

- LVSとLdirectordを利用したロードバランサによる負荷分散と、Heartbeatによるロードバランサ自体のクラスタ化を併用することで、高信頼性と高効率性の両方を実現した構成をとることが可能である。

OSS Course Naviのコンテンツは IPA OSS モデルカリキュラムを基としています。