第4回 IaaSの一例としてのLibra

株式会社エクシード
取締役兼CTO 千葉 則行

クラウドコンピューティングとは?

クラウドコンピューティングとは、一体なんなのでしょうか?
昨年、NIST(National Institute of Standards and Technology)は、クラウドコンピューティングについて、5つの特徴、3つのサービスモデル、4つのデプロイメントモデルに分類、定義しました(The NIST Definition of Cloud Computing)。全ての人が同意をしているわけでは無いのですが、NISTの定義はクラウドコンピューティングの姿を良く表していると思います。ここでは、NISTの定義をベースにIaaSに絞って考えてみます。

IaaSの要件

NISTの定義によると、IaaSとは、3つのサービスモデルの一つで、サーバ(多くの場合、仮想マシン)をユーザーに提供するサービスとなっています。ただし、サービス提供方法に次の条件があるとしています。(5つの特徴)

  1. 1. オンデマンド、セルフサービス
  2. 2. どこからでもインターネットを介して接続ができる
  3. 3. 巨大なリソース・プールを持っている
  4. 4. 迅速に、利用しているリソースの拡大縮小ができる
  5. 5. 利用量を測定できる

つまり、IaaSというサービスを提供している事業者は、巨大なリソース・プール(サーバ群)を持ち、そのリソース・プールからユーザーが望む量(仮想マシン)を切り出し提供します。このサービスでは、ユーザーは好きな時にどこからでも、ブラウザを操作しサーバを作ることができます(オンデマンド、セルフサービス)。また、このサービスの利用料は従量制であり、ユーザーは使った分だけ費用を支払います。

クラウド化の利点

ここから、クラウド化の利点が二つ見えてきます。一つは、サーバ群を束ねリソース・プール化し、それを多くのユーザーがシェアして使うことにより、規模の経済性の恩恵が受けられること。二つ目は、全ての手続きを自動化し、一切、人の手を介さないことから分かるように、運用負荷の低減です。IaaSでは、電気・ガス・水道のように、必要な時に必要な分だけサーバを利用することができます。
2006年の設立以来、エクシードは”オープンソース”、”仮想化”、”運用管理”を軸としたITソリューションを数多く手がけてきました。それらの技術と実績から、先述のとおりIaaSの要件に合った”Libra”というサービスを開発し2009年9月に発表しました。

Libraとは

Libraは、米CA Technologies社のグリッドOS「AppLogic」を基盤とした仮想サーバのホスティング・サービスです。AppLogicは、IAサーバにインストールするだけで、仮想サーバだけでなく物理サーバまで管理することができ、Webアプリケーションの稼動、スケールアップなどのユーティリティーコンピューティングを可能にするグリッドOSです。

(図1中央)のようなリソースを複数ユーザーで共有するモデルでは、サービス提供者がユーザーのリクエストに応じて、基盤を操作する必要があります。この操作は、人的に行われる為、ユーザーの増加に従いサービス提供者の仕事が増えてしまいます。

Libraでは、この様なサービス提供者の作業を自動化する仕組みを導入しています。この仕組みは、サービス提供者の運用コストを減らし、そしてサービス提供価格を下げるという恩恵をもたらしました。この仕組みにおいて中心的な役割をしているものは、AppLogicに特定のコントロール権限を与えたAPI(Application Programming Interface)です。このAPIを開発することにより、Libraは、ユーザーがいつでもブラウザから仮想サーバの作成、削除等の操作ができる”セルフサービス”を実現しました。(図1右)。

図1 : AppLogicを用いた基盤の提供形態

このようにLibraは、「低コストでサービスを利用・提供できること」かつ「ユーザーの増加と運用負荷が比例しないこと」といったIaaSの要件をAppLogicに対し技術的に補完しています。

Libraの特徴

ここで、Libraの特徴をサービス提供側とユーザー側の視点から説明したいと思います。

サービス提供者から見た特徴

(1)サービスをすぐにスタートできる

すでにAppLogicを資産として利用しているのであれば、Libra用のミドルウエアをインポート/設定するだけで、Libraのサービスを開始できます。

(2)マルチテナント機能により、リソースを共有できる

AppLogicが、ユーザー1社がリソースを占有するプライベート・クラウド・サービスであるのに対し、Libraは、リソースを多数のユーザーによって共有するマルチテナント型のサービスです。これは、Libraが備えるアクセス制御機能によります。

(3)リソース量をスケール・アウトできる

Libraが備えるマルチグリッド機能により、サーバ・リソースを追加/削除できます。これにより、リソース容量のスケール・アウトが容易です。

(4)サービス提供者の運用負荷を削減できる

ユーザーは、WebUIから直接サーバを操作できるため、ユーザー数やリソースの増加に応じてサービス提供者の運用負荷が増えるということはありません。

ユーザーから見た特徴

(1)サービスをすぐに利用できる

(図2)のページから新規登録をすると、ログインIDが発行され、すぐに利用を開始できます。サーバを準備する必要はありません。

(2)簡単に操作できる

サーバの作成や削除、再起動などは、(図3)のようにWebのGUIから操作することができます。初めて操作するユーザーでも直感的に利用できます。

(3)必要に応じてリソースを変更できる

リソースが不足したり余剰リソースが生じたりした場合、(図4)のように操作画面の”つまみ部分”を操作することで、リソースの割り当て量を変更できます。リソースの変更処理は、数分で完了します。

(4)安いコストで利用できる

Libraは、リソースを日割りで課金するため、コストはリソースを使った分だけ支払えばよいことになり、安いコストで利用することが可能になります。

図2 : Libraのトップ画面

図3 : ユーザー専用のダッシュボード画面

図4 : Libraのサーバ・リソース変更画面

全体のアーキテクチャ

Libraのアーキテクチャは、(図5)の通りです。上部から、ユーザーに対してWebUIを提供するサービスフロント、サーバ群のリソースを割り振りする「Antlia(アントリア)」、仮想化技術を抽象化する「ALSA(アルサ)」と呼ぶ中間層です。
AntliaとALSAは、主にサービスフロントとAppLogicの間を仲介する役割を果たします。図の左上にある「Libra」は、エクシードが同名で提供しているホスティング・サービスのサービスフロントを指しています。

図 5: Libraのアーキテクチャ

Libraを利用するユーザーは、仮想サーバのプロビジョニングやリソースの変更/削除などの操作を、WebUIから実行します。この操作のリクエストは、サービスフロントからSOAP(Simple Object Access Protocol)通信によってAntliaに伝えられます。Antliaは、受付たリクエストをSOAP通信によってALSAに伝えます。ALSA は、そのリクエストを”3tshellコマンド”と呼ぶAppLogic独自のシェル・コマンドに変更し、AppLogicコントローラに対して実行処理を行います。
ALSAは、AppLogic専用のドライバとして利用します。中間層をALSAとAntliaの2つに分けて設計しているのは、ALSAの部分 を、AppLogic以外の仮想化技術向けのドライバに変更できるようにするためです。Libraのサービス内で、さまざまな種類の仮想化技術が利用できる設計になっています。

Libraの今後について

マルチハイパーバイザ対応: VMware対応

Libraは今後、多くのハイパーバイザをサポートしていきます。その一環として、VMware対応を進めています。具体的には、VMwareを利用できるようにする対応ドライバの開発を行っています。

Libraコミュニティの拡大

基盤技術のあり方を検討する為にAmakumoというオープンソースプロジェクトを計画しています。このプロジェクトの中で、Libraで使われているコンポーネントの一部をオープンソースとして公開します。

Webからのお問い合わせ、ご質問はこちらから
お問い合わせ窓口へ

イベント/レポート

pagetop