プライベートクラウドの作り方
前回は、仮想化統合基盤を「社内サービス化」したものがプライベートクラウドであると解説致しました。プライベートクラウド化された環境では、アプリケーション開発者はインフラの内部構造を意識する事無く、インフラ機能をサービスとして利用できるようになります。そしてそれを実現する「社内サービス化」では、プライベートクラウドの利用者の視点に立ち、サービスの仕様を定義しながら様々なルールや仕組みを整備する事が必要となります。
「社内サービス化」を進めるためには、「インフラ」、「運用」、「サービス」の3つの領域に対して適切な順序で検討を進める事が重要です。今回は3領域に対するそれぞれの検討事項について解説します。
社内サービス化の実行プロセス
プライベートクラウドを構築する際には、インフラ、運用、サービスの各領域に対して、それぞれインフラ設計、運用設計、サービス設計を実施します。インフラ設計と運用設計では主にプライベートクラウドの内部仕様を定義し、サービス設計ではプライベートクラウドの外部仕様を定義します。
ウォーターフォール型のシステム開発では、外部設計の後に内部設計を実施する事が一般的です。しかし、筆者の所属する伊藤忠テクノソリューションズ(以下CTC)での経験から言わせてもらうと、プライベートクラウドの構築は、インフラ設計と運用設計を先行して実施し、内部構造を先行して固めてからサービス設計を実施するボトムアップ型の進め方が、より効率的に進められるとの結論に至っています。
インフラ、運用、サービスにおける主要な検討事項と検討の流れを以下に示します。
図1:社内サービス化の検討プロセス(クリックで拡大) |
以降で、それぞれの検討事項に対して実施すべき内容を解説します。
インフラ領域での検討事項
インフラの領域では、「提供機能スコープの定義」と「グレード別アーキテクチャ標準化」を検討します。
提供機能スコープの定義
アプリケーション担当者に対して提供する、プライベートクラウドの機能スコープを決定します。提供する機能の例には以下のようなものがあります。
- ・仮想マシン
- CPU、メモリ、Disk、NICなどのコンピューターリソースを提供します。一言で仮想マシンを提供すると言っても、仮想マシンにはx86アーキテクチャの仮想マシンもあれば、UNIX系の仮想マシンもあります。仮想化されていない物理サーバーを提供する場合もありますので、どこまでを提供するかを検討します。
- ・ネットワーク機能
- ネットワークスイッチ、ファイアウォール、ロードバランサなどのネットワーク機能を提供します。これら機能を提供しない場合には、各システムで個別にネットワーク機器を導入、運用する形態になります。
- ・バックアップ機能
- バックアップはシステムバックアップとデータバックアップに分けられます。このうち、システムバックアップ機能はプライベートクラウド側で提供する事がほとんどですが、データバックアップについては、プライベートクラウド側で提供する場合とシステムが個別に構築する場合があります。
バックアップの全体最適を目指すのであれば、データバックアップ機能も標準化し、統合されたバックアップ環境を提供する事を検討します。バックアップに関連して、災害対策(DR)のための機能を提供する場合もあります。 - ・監視機能
- 監視も、インフラなど下位レイヤーに対する監視と、アプリケーションなど上位レイヤーに対する監視に分類する事ができます。下位レイヤーの監視はプライベートクラウド側で提供する事が一般的です。上位レイヤーの監視もプライベートクラウド側で集中的に実施する事で、問題解析の迅速化やコストのさらなる最適化を計る事ができます。
既存で統合監視システムが導入されている場合には、統合監視システムの管理者と調整し、プライベートクラウドにおける役割分担や機能連携を定義する必要があります。 - ・ソフトウエア
- OSやミドルウエアなどのソフトウエアライセンスを提供します。OSやミドルウエアを標準化し、プライベートクラウド側で集中的に購入、提供する事で、統制の強化やコストの削減が期待できます。
OSやミドルウエアが企業内で標準化がされていない場合は、現在利用されているOSの分布を参考にしながら、ニーズの多いものを中心に標準化していく事となります。 - ・その他
- 上記以外にも、ジョブスケジューラーや、ウイルス対策システム等、統合化により効果が見込めるものについては、プライベートクラウドでの提供要否を検討する場合があります。
最初から多くの機能をプライベートクラウドで提供する事はお勧めできません。利用者がつくかどうかが分からないまま多くの機能を提供すると、結果としてその機能が使われずコストが増大してしまう危険性もあります。また、提供機能のスコープを広げる事は容易であっても狭める事は難しく、提供した機能を一度アプリケーション側が使い始めてしまうと、途中でその機能の提供を取りやめる事は困難を極めます。
まずは少ない機能で提供を開始し、運用しながら段階的に提供機能範囲を広げていく事をお勧めします。