こんにちは。日本ヒューレットパッカード オープンソース・Linuxテクノロジーエバンジェリストの古賀政純です。近年、クラウド基盤ソフトウェアの発展や、クラウド専業ベンダーの登場などにより、オープンソースをベースとしたさまざまなクラウドサービスが登場してきました。これらのクラウドサービスを提供するIT基盤では、国内外問わず、一般的に、ハイパーバイザー型の仮想化技術が利用されています。しかし、最近になって、新たなクラウドビジネスの創出にDockerの活用が検討され始めています。今回は、欧州のクラウド事業者におけるクラウドビジネスとDockerの関係についてご紹介します。
仮想化ソフトウェアによるオーバーヘッドが許されないシステム
筆者は、Hadoopを駆使したビッグデータ基盤やスーパーコンピュータ(HPCクラスタ)を利用するお客様を担当しています。どちらのお客様も、小規模な個人のソフトウェア開発環境では仮想マシンを利用していますが、本番の高速計算処理では、高性能な物理サーバをベースとした非仮想化環境を選択しています。ハイパーバイザー型の仮想化ソフトウェアを採用したシステムでは、アプリケーションが稼働する仮想マシンを管理するハイパーバイザーのオーバーヘッドがしばしば問題になることがあります。
非常に高速なビッグデータ分析基盤や、人工知能、科学技術計算(High Performance Computing:通称HPC)のような超高速計算処理が必要とされるシステムでは、ハイパーバイザー型の仮想化ソフトウェアのオーバーヘッドは、決して無視できるものではありません。ハイパーバイザー型の仮想化ソフトウェアの場合、そのハイパーバイザーのオーバーヘッドによって、ビッグデータ分析、HPCにおける超高速計算処理のターンアラウンドタイムが増大してしまうため、非仮想化環境を使わざるを得ないというのが現実なのです。
仮想化ソフトウェアによるオーバーヘッドが許されないシステムの例
高速な計算処理のサービスを提供する非仮想化のベアメタル(物理)環境を用意すると、やはり物理サーバの消費電力や設置スペースが問題になります。では、超省電力のカートリッジ型サーバによるベアメタル環境で問題が解決できるのでしょうか。
カートリッジ型のサーバには、いくつも種類があり、比較的高速なプロセッサを搭載したものや、省電力を追及したCPUが搭載されているものが存在します。省電力を追求すれば、それだけCPUの性能を犠牲にしなければなりません。また、カートリッジ型のサーバは、設置スペースの削減効果を出すために、カートリッジのマザーボードの大きさも手のひらに乗るサイズに制限していることが多いため、一般的なサーバに比べると搭載できるメモリ容量やディスク容量も制限されてしまいます。
省電力により電気代を節約でき、高集約設計により省スペースを実現でき、仮想化ソフトウェアのライセンスを排除できる反面、享受できるCPU性能、メモリ容量、ディスク容量に制限があることを覚悟しなければならないのです。
これは、仮想化環境だけでなくクラウド環境においても全く同様です。小規模なビジネスユースのアプリケーションを使うクラウドサービスであれば、ハイパーバイザー型の仮想化ソフトウェアを排除した上で超省電力型のカートリッジ型サーバを採用しても構いませんが、最近注目を浴びる人工知能や、ビッグデータ分析処理、HPCなどのように、動作周波数が高く、且つ、コア数の多いCPU、大容量メモリ、大容量ストレージを必要とするような計算処理をクラウドサービスとして提供するためには、カートリッジ型のサーバよりもむしろ、ビッグデータや科学技術計算用途に特化したサーバを採用せざるを得なくなります。
しかし、人工知能、ビッグデータ、HPCなどのクラウドサービスを提供する場合、異なる種類のワークロードのためのOS環境とアプリケーション環境を複数同時に提供しなければならず、その分だけ、物理サーバをいくつも用意しなければなりません。また、一般的にビッグデータ分析やHPC向けの超高速処理を行う場合、1人のユーザーが実行する1つのワークロードに対して、大量の物理サーバを使って並列計算を行うことが少なくありません。
さらに、人工知能(機械学習)の分野では、グラフィックボードに搭載されたGPU(Graphics Processing Unit)を活用した高速計算なども考慮する必要があります。当然、ユーザーごとに利用するアプリケーションも異なるため、そのアプリケーションに対応したLinux OSが複数同時に稼働しなければなりません。
クラウド事業を始めるスタートアップ企業にとっては、用意しなければならない物理サーバ台数や高速計算専用のインターコネクトスイッチ、GPU、データセンターの設置スペースの契約等のハードウェア面での初期投資がかさむため、ビッグデータ分析やHPC向けのクラウドサービスのメニュー化に躊躇する場合も少なくありません。
人工知能、ビッグデータ分析、HPCをクラウドサービスとして提供する際の課題