プライベートクラウド,すなわち適用範囲を企業内に限定したクラウドコンピューティングアプローチの人気が高まっている。既存サーバリソースの利用度の高さや管理性の良さ,ペイ・アズ・ユー・ゴー(利用度に応じた費用発生),セルフサービスなど,組織にとって魅力的なメリットが数多くあるのがその理由だ。
今回のラウンドアップでは,プライベートソリューションを構成している主な要素をいくつか選び出して,その概要について解説する。
典型的な IT ソリューションがすべてそうであるように,プライベートクラウド関連のツールやランタイムに対しても過剰な宣伝やプロモーションがまかり通っている。"誇大広告 (hype)" をランタイムの名称に含むようなアプローチを,いったい誰が信じるというのだろう?
採用するアプローチ,選択するランタイム,利用するツールなどを決定しようとする時,フィクションと事実を見分けるのが難しいかも知れない。そのような時に注目すべきリソースのひとつが,Cloud Standards Customer Council (CSCC,クラウド標準ユーザ協議会) の ケーススタディコンペティション である。CSCC は元々 CA や IBM,Rackspace,Software AG などの企業がホストとなって立ち上げた協議会で,現在では BPtrends とのパートナーシップのもとに Object Management Group によって運営されている。
このコンペティションはパブリックとプライベート,さらにハイブリッドの各クラウドソリューションを対象範囲としてカバーしている。クラウドの実装方式がビジネスに与える影響について洞察を与える,という意図からだ。ここに掲載された情報は,各組織が適切なアプローチを選択するために利用することができる – おそらく完全なプライベートクラウド,ハイブリッドなアプローチ,パブリックのみ,あるいはクラウドをまったく利用しない,というあたりが選択肢になるだろう。
プライベートクラウドの構築には,そのための強固な基盤を用意することが重要である。仮想イメージのランタイムを提供するハイパーバイザは,その基盤の主要なコンポーネントのひとつだ。ハイパーバイザには製品として提供されているものとオープンソースのものがあるが,どちらにも多数の選択肢がある。製品としては Microsoft HyperV や VMWare cSphere,Oracle VM,IBM PowerVM などだ。
Xen や KVM を始めとして,オープンソースコミュニティが提供するハイパーバイザも数多い。(もっと多くのハイパーバイザと,その対象プラットフォームの違いに関するリストが Wikipedia に紹介されている。) ハイパーバイザレベルのオープンソースソフトウェア以外に Eucalyptus や OpenStack,OpenNebula など,プライベートクラウドの構築および管理に関する機能を備えたものもある。Eucalyptus については,Amazon EC2 や Amazon S3 と互換性のある API を通じてアクセス可能なサービスプライベートクラウドとして,インフラストラクチャを生成可能な点も興味深い。
ハイパーバイザを選択する上で,製品の市場シェアというのは,メトリックとしてはあまり有効な決定要因ではない。オペレーティングシステムの一部として提供されているために,シェアが必要以上に膨張しているハイパーバイザ製品が多いからだ。評価基準として有効なのは,次のような指標だろう。
- パフォーマンス: ハイパーバイザのパフォーマンスを評価して,非仮想化ソリューションと比較した仮想化の影響を判断する。仮想化によるオーバーヘッドはどの程度か?
- スケーラビリティ: サポートする仮想マシンの最大数はいくつか? インスタンスごとに割り当て可能なメモリ容量はどれほどか?
- セキュリティ: 管理コンソール,管理サーバ,運用サーバ,ゲストVM,そしてハイパーバイザ自体の 脆弱性に関する報告資料 をレビューする。さらに 強化ガイド や設定資料からも,プラットフォームの全体的なセキュリティと,それをロックダウンするために必要な作業に関するヒントが得られる。
- 管理性と有用性: 仮想マシンおよびそのイメージの管理に関するサポートはどの程度用意されているか? コマンドラインのみか? GUI が用意されているなら,高度で使いやすいものか? スクリプティングのサポートは?
もうひとつ考慮すべきなのが,仮想マシンのイメージを構築する方法だ。生成されるイメージはどの程度複雑なものが必要なのか? シンプルな backbox を多少カスタマイズする程度で再利用できるものなのか,あるいはイメージ内にあるコンポーネントを認識してカスタマイズ設定を可能にするような,もっと高度なアプローチが必要なのか? まず最初は,すでにビルドされているイメージの再利用を検討してみるのがよいだろう。VMware の Virtual Appliance Marketplace には,各種の仮想イメージが用意されている。イメージを構築する必要があるなら,Oracle の Virtual Assembly Builder や IBM Workload Developer などのツールが,仮想イメージを作るための高度なアプローチを提供してくれる。これらのツールは主要なミドルウェアコンポーネント (Web サーバ,アプリケーションサーバ,キャッシュコンポーネント,データベースなど) を理解して,カスタマイズされた仮想マシンイメージの開発を補助してくれる。
最後に重要なこととして,ソリューション全体のアーキテクチャはどうやって決定すればよいのだろう? クラウドソリューションを設計するにあたって従うべき,ベストプラクティスはあるのだろうか? そのような目的で選ばれたクラウドパターン &ndash 既知で頻度の高い問題に対するソリューションとして実証済みのベストプラクティス &ndash の資料が公開されている。中には VMWare や Microsoft,IBM Workload Developer Pattern など,ベンダ固有のリソースも含まれている。
プライベートクラウドを成功させる上で,再利用の果たす役割は大きいだろう。ただしこのアプローチはまだ始められたばかりなので,評価を下すにはまだ時期尚早である。構築済みのイメーを多数再利用するにせよ,イメージ生成専用のツールを利用するにせよ,あるいはパターンを導入するにせよ – 成功のために重要なのは品質,数量,アクセシビリティの3つである。
あなたはクラウドベースのアプローチを進めているだろうか? プライベートプラウドの採用を決めているだろうか? プライベートクラウドの実現に関してどのような経験をお持ちだろう?