Ⅱ-3-6. OSSによるシステム基盤設計の手順

OSSを活用してシステム基盤を構築する手順を理解させる。OSSプロダクトの選定方法からシステムを構成するソフトウェアの配置、ハードウェア性能の検討、非機能要件検討といった具体的な手順を概説する。

【学習の要点】

* OSSによるシステム基盤設計の際には、機能要件、非機能要件を明らかにし、要件を満たすことのできるソフトウェアを選定する必要がある。

* 非機能要件の検討にあたっては、ソフトウェアだけでなく、ハードウェアの採りうる構成も含めて考慮する必要がある。

図Ⅱ-3-6. OSSによるシステム基盤設計の手順

【解説】

1) OSSによるシステム基盤設計手順

システム基盤設計の手順とポイントを以下に挙げる。

* 機能要件の定義

システムに要求される機能を明確にする。要求される機能により、利用するソフトウェアや技術を決定する。機能要件のうち、システム基盤設計に影響を与える要素の例を以下にあげる。

- セキュリティ機能

暗号化されるべきデータや、ユーザ認証、アクセス制御などについて仕様を明確にし、情報が適切に保護されるアーキテクチャを設計する必要がある。

- トランザクション機能

トランザクションの発生するオペレーション、トランザクションの単位などを定義し、適切なトランザクションの管理方法を設計する必要がある。

* 非機能要件の定義

非機能要件は、システム基盤の設計に直接影響を与える。そのため、チェックリストなどを用いて要求項目を漏れなく明確にしておく必要がある。考慮すべき項目の例を以下に挙げる。

- 性能要件

想定されるリクエスト数などを考慮する。

- 信頼性要件

可用性要件のほか、障害発生時のデータ復旧要件なども考慮する。

- 運用要件

運用のオペレーションや、監視要件、障害通知要件なども考慮する。

* OSSの選定

機能要件、および非機能要件を満たすOSSを選定する。

- OSSの機能についての情報は、OSSの開発Webサイトから得られる場合が多い。

- OSSの適用例に関する情報としてOSS iPedia(http://ossipedia.ipa.go.jp)を利用することができる。

* システムアーキテクチャの設計

機能要件、および非機能要件を満たすアーキテクチャの設計を行う。例を以下に挙げる。

- システムに高信頼性が求められる場合、クラスタ化による冗長設計を行う。

- システムに高効率性が求められる場合、負荷分散を行う。

- システムにスケーラビリティが求められる場合、複数の層に分割した設計にすることにより、将来の拡張に備える。

2) 非機能要件の検証

非機能要件の検証にあたってはOSSのツールを利用できる場合がある。例として、日本OSS推進フォーラム開発基盤ワーキンググループより手法、およびツールが公開されている。(http://www.ipa.go.jp/software/open/forum/development/index.html)

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