クラウド&データセンター完全ガイド:特集
「Software Definedなデータセンター」完成までの道のり
「Software Defined」インフラ刷新に今、着手すべき理由[Part1]
2016年10月7日 16:15
「Software Defined」インフラ刷新に今、着手すべき理由
[Part1] Introduction
「Software Definedなデータセンター」完成までの道のり
仮想サーバー環境を基盤に、ネットワークやストレージなどのあらゆるITリソースをソフトウェアで制御する「Software Defined Data Center(SDDC)」というコンセプトが語られてかなりの年月が経つ。その後の進展は確かに見られるが、では現在、理想的なかたちでSDDCが完成しているかというと、まだそうとは言えない。今の時点での状況を確認しながら、SDDCへの道のりをあらためて確認してみたい。
領域ごとの仮想化がそれぞれ進展
Software Defined Data Center(SDDC)は、仮想化技術の発展を背景に生まれたコンセプトだ。最初に語られ始めたのは、サーバー仮想化が実用段階に入り、仮想マシン(VM)を動作中のまま別の物理サーバーに移動させるライブマイグレーションが当たり前のように使われ始めた頃だ。このとき、ネットワークやストレージに関しては、仮想サーバーの俊敏性に追従しきれていなかった。そのため、当初、SDDCと呼んで目指したのは、「仮想サーバーのメリットを最大化すべく、(他のネットワークやストレージが)足を引っ張ることのないITインフラを実現したい」という、わりとシンプルな目標であった。
その後、ネットワークハードウェアをソフトウェアで制御するSDN(SoftwareDefi ned Networking) が注目され、ほぼ同時期に登場したNFV(Network Functions Virtualization)と共に、Software Definedのアプローチが具現化に向かった。
残るストレージに関しては、ここ2、3年の間にSDS(Software Defined Storage)を謳う製品が登場し、データセンターを構成するITインフラの全領域でのソフトウェア化がかたちとして整うことになった。
しかし、こうして必要な仕様や要素技術が出揃った感があるものの、実際にはまだ各領域がそれぞれバラバラに進化している状況であり、SDDCと呼べるほどの統合感、一体感には至っていないというのが、現時点での正直な印象である。
サーバー仮想化とネットワーク仮想化の関係
サーバー仮想化技術は、十分に高い演算能力に達したCPUリソースを分割し複数のVMを同時並行で実行する仕組みから得られるメリットがユーザーに周知されるかたちで発展した。この形だと、CPUをまるごと使っても処理能力の不足が生じるような「特段に重いワークロード」には対応しにくいのだが、ネットワークを介したWebアプリケーションが大半である今日では、物理(ベアメタル)サーバーでの稼働を一部残すなどの対応でしのぐことができるだろう。
ネットワークについては、いくつかの仮想化アプローチが併存する。最終的にSDNの現実解として普及の途についたと言えるのは、オーバーレイ型ネットワーク仮想化である(Part2参照)。ネットワークを覆い被せるように任意に構築するというこの手法は、物理的なケーブリングの最適化を避けて通れず、物理的な構成変更を「瞬時に終える」ことは不可能だ。この点が仮想サーバーの俊敏な構成変更に追従できないという問題を生むことになった。したがって、現在のSDNは、仮想サーバー側の要件に合わせてネットワーク効率を多少犠牲にするかたちで成立しているものだと言える。
分散スケールアウトでSDSを実現するストレージ
ストレージの分野は、ITインフラの構成要素の中で現在、最も活発な分野である。その仮想化は、歴史的にはIAサーバーの仮想化に先行して実用段階に入っていたが、当時言うところのストレージ仮想化は、RAIDアレイのヘッドユニット(コントローラ)の機能強化によって他の機種や他社製品を制御下に加え、容量を統合できるというものであった。言い換えれば、RAIDアレイの容量拡大手法をより柔軟にしたかたちであり、サーバーからストレージを利用する際は、従来から特に変化はなかった。
その後、シンプロビジョニングや階層化ストレージなどといった有用な技術が次々登場したものの、仮想サーバーと組み合わせて運用する際の使い勝手を強化する方向にはなかなか進まなかった。背景として、やはり各社のストレージ製品の主力がネットワーク接続型のRAIDアレイであり、サーバーからの独立性が高い点をアドバンテージの1つとしていたことも影響していると思われる。
2010年代に入り、ようやくSDSと呼ぶにふさわしい構成として、分散型のスケールアウトストレージが普及し始める。これは、コモディティのIAサーバーの内蔵ストレージを仮想的に統合してストレージプールを作り出す仕組みをとる。
かつてのRAIDアレイがSANやNASの形態でネットワーク接続されることで複数のサーバーからの共用を実現したのに対し、サーバーの内蔵ストレージを使いながらもネットワークアクセス可能なストレージプールを実現でき、さらにコモディティサーバーと同様の拡張性が得られる。その際、ストレージ容量と同時にCPUの処理能力もリニアに拡大できる点もメリットで、容量を拡大すると処理能力も同時に向上し、パフォーマンスのボトルネックが生じない。
現在では、このアーキテクチャをベースにさらにサーバーとしてのプロセッシング能力まで取り込んだ「ハイパーコンバージドインフラ」も使われ始めているが、これはPart3であらためて触れる。ハードウェアとしてはコモディティサーバーを活用しつつ、ネットワーク経由でのブロックアクセス/ファイルアクセスに加えてハイパーバイザから直接アクセスできるストレージとしても利用可能な分散型スケールアウトストレージが成立したことで、ようやくサーバー仮想化と足並みを揃えられるストレージ仮想化が実現したと言ってよさそうだ。
3つの領域をどう統合するか
こうして要素技術が揃ったことでSDDCが普及に向かうようになったかというと、まだ課題も残っている。それは、サーバー、ネットワーク、ストレージとそれぞれバラバラに進化し、発展した仮想化技術を統合し、データセンターという単位で一元的に管理できるインタフェースがまだ完成に至っていないためだ。
その役を担う最有力候補として、OpenStackをはじめとするクラウドオーケストレータがすでに実用段階に入っている。ただし、現行のOpenStackがSDDCに対してユーザーが期待する機能をもれなく実装しているかというと、まだその段階には至っていないと言わざるをえない。
リリースを重ねて進化を続けるOpenStackは、クラウド利用者側からの視点で「リソースプールから必要なリソースを集めてシステムを構築し、利用開始する」というクラウドサービスのためのセルフサービスインタフェースとしてはほぼ満足できる完成度に達してはいる。しかしながら、データセンター側の視点でさまざまなリソースの統合管理ができるかというと、まだ満足できるレベルではない。かといって、SDDCを実現するための別の選択肢があるかと言えば、ベンダーロックインを覚悟すればともかく、オープンで標準的な技術はまだこれといって存在しない。
現時点でのSDDCは、やはりまだ目標であり続けている。足下の要素技術は揃いつつあるので、サーバー仮想化を前提に、SDNやSDSの活用を始めながら、これらを統合的に運用管理できる技術の動向を眺めておき、目の前の運用管理の効率化に注力していく。これが、データセンターの運用担当者にとって現時点で取れるスタンスではないだろうか。