Software-Defined Storage、これからのストレージ技術が実現する世界とはどのようなものか?
サーバ仮想化が普及し、ネットワークの分野でSoftware-Defined Networkingが盛り上がる中、次の焦点はストレージ分野におけるSoftware-Defined Storageの登場だといわれています。
しかしSoftware-Defined NetworkingがOpenFlowのような標準技術を中心としたおかげで、それがどのような技術であり、どのような機能を備えているのかについて、おおまかなコンセンサスが存在したのに対し、ストレージ分野ではストレージの仮想化についてもSoftware-Defined Storageについても、どのような技術がそれに相当し、何を実現するものなのか、いまだ業界におけるコンセンサスが十分に得られているようには見えません。
VMwareのChief StrategistであるChuck Hollis氏は、昨年まで18年間EMCのグローバルマーケティングCTOとしてストレージ業界に身を置いてきました。そのHollis氏が自身のブログ「Chuck's Blog」にポストしたエントリ「The Future Of Storage Data Services」において、Software-Defined Storageによって何が実現されていくのか、VMwareの立場を踏まえてはいますが、分かりやすく解説しています。
Hollis氏はストレージ分野の著名なブロガーでもあり、以前から専門的かつ公平な視点でストレージ業界の分析を示してきました。彼のブログは、僕にとってストレージ業界に関する貴重な情報源でもあります。本人から許可を得て、日本語訳を紹介したいと思います。
The Future Of Storage Data Services
Chuck Hollis
Chief Strategist, VMware SAS BU
データストアには現在さまざまな形態が存在する。SAN、NAS、オブジェクトストレージ、スケールアップストレージ、スケールアウトストレージ、クラウドストレージ、フラッシュストレージ、テープ、分散ストレージなどなど。
まるでストレージビジネスの関係者が、わざとストレージの形態を複雑にしているようにも見えるが、そうではない。本当のところ、ユースケースごとに最適なさまざまなストレージがあるのだ。しかもスタートアップ企業などによってこれがさらに増殖している。
そして私も、この状況をさらに悪化させようとしている一人だ。
ストレージ技術の価値というものは、永続化されたデータの上に積み上げられたスタックの上に存在する。それらは、スナップショットや、キャッシュ、重複排除、暗号化といったストレージの「データサービス」として、別レイヤを構成している。
そして物理的なストレージアレイ装置は、この両方、つまりデータ永続化とデータサービスを提供している。どちらか片方だけが提供されるということは、通常はあり得ない。
しかしこれから立ち上がろうとしている「Software-Defined Storage」の世界では、これらは簡単に分離できるものとなり、それぞれの依存性はなくなる。これは非常に興味深い動きなのだ。
これが何をもたらすのか
読者の多くは、私がVMwareの社員であり、Software-Defined Storageにフォーカスしていることをご存じだろう。私は、仮想化がサーバというものを永遠に変えてしまったように、ネットワークとストレージでも同様のことが起きると信じている。
これは(VMwareが提唱する)Software-Defined Datacenterの考え方に賛同している、というだけではなく、まさに避けがたい動きなのだと思っている。
ハードウェアの機能を仮想化という視点で考えると、2つの段階が見えてくる。
第一段階は、ハードウェアが提供していたものと同じものを仮想化で再現することだ。例えば物理サーバをエミュレーションした仮想化サーバがそれにあたる。同じことはストレージの世界でも起こるだろう。ストレージアレイ装置が仮想ストレージアレイとしてソフトウェアでエミュレートされることになる。
第二段階ではさらに興味深いことが起こる。仮想化によって機能を再構築することでまったく新しい使い方が登場するのだ。例えばvMotionのような機能は物理サーバの世界では実現できなかった。仮想サーバだからこそ実現できたわけだ。
これと同じことがストレージの世界でも起こるはずだ。そしてそれにより最も影響を受けそうなのものの1つがデータサービスの領域だ。
ストレージアレイは単にデータを保存するだけではない
ストレージアレイを扱ったことがある人なら、それが単にデータをストアするだけでなくさまざまなデータサービスを備えていることをご存じだろう。例えば、データのスナップショット機能があり、スナップショットのレプリケーションやリモートスナップといったものもある。
これはまだ序の口で、性能の最適化のためのキャッシュ、階層化、QoSなどのサービスが、データ保存の効率化については重複排除やシンプロビジョニングもあるし、セキュリティとコンプライアンスに関しては、暗号化、監査記録、アンチウィルスなどもある。
さらに広く考えれば、クラウドゲートウェイ、地理分散最適化、分散キャッシュ、メタデータ管理、アプリケーションパイプラインなどなどたくさんある。
もうお気づきだろうが、ストレージに関わるさまざまなデータサービスは、単にデータをストアする以上に興味深く、付加価値の高いものだ。
Software-Defined Storageがデータサービスをどう変えるか
もしもあなたがストレージ製品のプレゼンテーションを見たことがあるなら、こうした数々の魅力的なデータサービス機能がストレージアレイのソフトウェアによって実現されているということにお気づきだろう。
Software-Defined Storageのモデルでは、このデータサービスはストレージアレイから分離され、仮想マシンか、もしくはハイパーバイザ上でカプセル化されてサーバ上で実行されることになる。この新しいアーキテクチャモデルがどんな変化を起こすのか?
まず第一に、もっとも明確な違いは、データサービスの大半がどんなストレージを使っていようと独立して作動することだ。スナップショットも、レプリケーションも、バックエンドのことは関知しなくなる。
今日、もし3種類のストレージアレイを使っていたなら、ストレージアレイごとに3種類のスナップショットが生成され、別々に管理することになっているはずだ。これは望ましい状況とはいえないだろう。
Software-Defined Storageのデータサービスが実現しようとしているのは、サーバ仮想化と同じように、一貫した機能を提供しつつ下位のハードウェアを抽象化する。
第二に指摘することは、とても現実的なインパクトを持つ。それはリソースプーリングである。データサービスの多くはCPUやメモリを酷使する可能性がある。しかしその能力は、コントローラの性能という形でストレージアレイ購入時に決定されてしまう。
これがSoftware-Defined Storageになると、リソースは動的に割り当てられるようになる。重複排除で一時的に大きな能力が必要になったとき、一時的に大容量キャッシュが必要になったとき、Software-Defined Storageベースのデータサービスならば必要なときに動的に割り当てられるため、あらかじめピークに合わせて大きく保有しておく必要はないのだ。
3番目の利点はささいなものかもしれないが、とても重要なものだ。それはアプリケーション区分(Application alignment)だ。ストレージアレイが提供するデータサービスの多くは、(LUNやファイルシステムなどの)コンテナによって区分されている。これにたいしてSoftware-Defined Storageでは、サービスを必要とするアプリケーションを区分として対応できる。大きなコンテナごとにレプリケートするのではなく、必要なオブジェクトだけを対象にできるわけだ。
アプリケーション区分に対応していないと非効率的なだけでなく、設計や運用における複雑さも引き起こす。理想的なSoftware-Defined Storageの世界では、必要なアプリケーションコンポーネントだけに焦点を当ててストレージをプロビジョニングし、データサービスを適用すればよい。どのストレージアレイ装置のどのLUNに何が保存されているか、といったことを考慮する必要はないのだ。
4番目の利点は、管理と運用の面で大きな利点となる可能性をもたらす。それは、データサービスをポリシーに組み込むことでアプリケーションと同時にプロビジョニングし、プール化されたリソースを用いてストレージレイヤへ動的に持ち込むことができる。データサービス群を、既存のアプリケーションやインフラストラクチャに影響を与えずに容易に変更できるようになるのだ。これはエンタープライズITの世界において非常に大きな出来事になるだろう。
未来のモデルに向かう?
この先に何が見えるのか、少し考えてみよう。
あなたが新しいアプリケーションのプロビジョニングを任されているとしよう。新規のリクエストが営業部門からやってきた。彼らの要求とは、4半期の大半においてはきちんとした性能が出て、データ損失は2時間以内に抑えること、重複排除すること、といった程度だ。しかし4半期の最後の2週間に限っては、駆け込みの売り上げを逃さないために要件は大きく変化する。通常の4倍の処理性能、ダウンからの復旧は1、2分以内、データ損失は5分以内に抑えること。毎分ごとに論理チェックポイントを設定し、必要であれば数秒でフェイルオーバーできるようにし、性能に影響するようなら重複排除は止める、徹底的にキャッシュを活用する、などとなる。
現在のハードウェアベースのストレージアレイでは、こうした要件への対応はピーク性能を基準にせざるを得ない。 しかし将来のSoftware-Defined Storegeの世界では、あるアプリケーションの要件が変化した場合、ポリシーを変更することでデータサービスのコンフィグレーションを動的に変更できる。そして嵐が過ぎ去ったら元に戻せばいいのだ。
我々はどこにいるか?
もしも市場にSoftware-Defined対応のデータサービスが登場していたとしても、現状ではそれがすぐにこの話に結びつくようなものにはならないだろう。
というのも、ほとんどのデータサービスはストレージアレイのデータプレーンに密結合され、特定のハードウェア専用になっており、スタティックなポリシーにしか対応していないからだ。
だから、もしかしたらここに書いたような世界はやってこないだろう、と思われるかもしれない。しかし楽観的になる材料もある。
それは、エンタープライズ市場に現在普及しているハイパーバイザがその世界への第一歩であり、つまりそれはvSphereであるのだが、これがデータサービスをダイナミックに実現するようにアプリケーションの抽象化を行っているからだ。vClolud Suiteのコントロープレーンの一部として、適切なポリシーメカニズムも開発中だ。
私には、Software-Defined Storageに必要な要素が少しずつ、成熟に向けて揃いつつあるように見える。
こうしたSoftware-DefinedなデータサービスがVMwareから登場するか、あるいはテクノロジーパートナーから登場するかにかかわらず、将来のデータサービスはソフトウェアによって仮想化され、動的に適用でき、アプリケーション区分に対応し、プール化されたリソースを使い、ポリシーによって一貫して管理されるというものだと考えられるだろう。
そうしたものが登場するのを、私は待ちきれないでいる。
あわせて読みたい
モバイルBaaSのStackMobが5月でサービス終了を発表。買収されたPayPalのモバイル強化へ注力
≪前の記事
[PR]Linuxビジネスを成長させたエンジニア上がりのリーダーの、リーダーシップ実践論とは?