2014年11月5日水曜日

15分でクラウド基盤が立ち上がるPiston OpenStack!
                        -Cloud OS3-

Piston Cloud Computingの本社はサンフランシスコ市内にある。以前はスタートアップのメッカと言えばシリコンバレー(San Jose、Santa Clara、Mountain Viewなど)だった。しかし、このところはサンフランシスコで創業する会社が多い。理由は単純だ。シリコンバレーの町々は宵闇が下りればスポーツバーなど以外、ほとんど遊ぶところはないからだ。このためシリコンバレーでも比較的賑やかなスタンフォード大学の学園通り(University Ave.)のあるパロアルトで創業を始めるスタートアップは以前からあった。日本に住んでいる我々から見れば、何もあの狭い、車の止めにくい町でなくても と思うのだが、彼らにとっては大事なエンジニア集めのセールスポイントなのだろう。今回取り上げるPiston Cloudはサンフランシスコの観光名所ユニオンスクエアの裏面に接するPost St.を2ブロック下がったところにある。何とも優雅なオフィスだ。同社を興したのはJoshua McKenty氏(現CTO, Cloud Foundry)とChristopher MacGown氏、そしてGretchen Curtis女史の3人。全員共に、NASAのクラウドNebulaの関係者と言って良い。中心となったMcKenty氏はNebulaのTechnical Architectだった。MacGown氏はRackspaceに買収されたXenベースのバーチャルサーバプロバイダSliceHostのエンジニアだったが、その後OpenStackプロジェクトに参加し、NebulaのコンピュートエンジンNova開発に従事。Curtis女史はNASAのIT部門の広報担当である。現CEOのJim Morrisroe氏はZimbra出身で2012年末に就任した。

=Pistonが目指すもの=
同社が目指すものは迅速構築が可能なターンキーのOpenStackである。
つまり、多機能なOpenStackの幾つかの要素を決め打ちにして、簡単に導入が出来るパッケージに仕上げたものだ。ターゲットは企業の部門ユーザ。各部門では、これまでITに関する要求があると、都度、ITセクションに連絡した。しかし、ストレージの増強やネットワークの拡大、サーバ割り当てなど全てが担当に分かれ、さらに予算配分も絡んで遅れること甚だしい。この点、クラウドになればエンドユーザがリソースプールから直接必要な分を手に入れることが出来る。OpenStackはこれらリソースのプール管理を行い、その利用のために、ユーザにAPIやCLI、ダッシュボードなどを提供する。出来上がったターンキー製品はPiston OpenStack。これを使えば、企業データセンタでも、利用部門でも、たった15分あればOpenStack基盤が出来上がる。

=どうやってインストールするのか=
インストールの手順を紹介しよう。まずBoot Node用のサーバ1台とCluster Node用を最低5台用意し、ラックなどに積み込んで連結させる。ライセンスは試用期間の60日は無償、その後は購入してGUIから更新すれば良い。そして、同社サイトからPistonパッケージをダウンロード。それをUSBデバイスにWindows Image WriterやLinuxのddコマンドなどで書き込む。次に書き終わったUSBデバイスを開き、中の設定ファイルを編集する。設定ファイルには、ハードウェア/OpenStackサービス/仮想マシンなどのネットワーク設定やNTP/DNS/SYSLOG設定、Cluster Node=5といったサーバ数の設定、イメージキャッシュの設定、IPMI設定、ディスク構成などがあり、初期値(サンプル)からインストール環境に合わせて編集する。このUSBデバイスを差し込んだサーバがBoot Nodeとなる。するとUSBからBoot Node用のソフトウェアが自動的にインストールされ、さらに設定ファイルやCluster Node用のソフトウェアも保存される。これが済めばUSBデバイスはもう要らない。通常、OpenStackで扱うサーバはCompute NodeとControl Nodeに分かれるが、Pistonでは区分がなく、2つの機能を兼ね備えたものをCluster Nodeと言う。次にベアメタルなCluster NodeをBoot Nodeと同じネットワークに接続する。これら複数のCluster NodeにもBoot Nodeから必要なソフトウェアが自動インストールされる。Iocane Micro-OSやPistonの本体ともいうべき実行環境のMoxie RTE(Run Time Environment)などだ。このMicro-OSは最低限の機能を含んだLinux、つまりJeOSである。ここまででたった15分!これでOpenStackクラウド基盤が出来上がった。

=Pistonの構造=
インストールされたPiston OpenStackを構造面から見てみよう。
まず、VMを実行するのはCluster Nodeだが、これをVirtual Computeと言い、仮想化はMicro-OSに組み込まれたKVMが担当。Clusterは最低5台が必要だと述べた。この5台はMoxie RTEによってHA(High Availability)構成となり、1台で障害が発生すると残り4台の自動運行へ切り替えられる。ただ障害ノード上で実行されていたVMが自動修復されるわけではない。サポートするGuest OSは以下の通り。
  1.  Windows 7, 2008 R2, 2012 R2
  2. Ubuntu: 10.04, 11.04, 12.04, 12.10 13.04, 13.10, 14.04
  3. Red Hat Enterprise Linux 6.x
  4. CentOS 6.x、Fedora 20
  5. OpenSUSE 13.1, 12.3, SUSE Linux Enterprise 11SP3
次にVirtual Storage。Pistonが扱うストレージとはサーバ内臓のディスクを指す。もともとPistonはOpenStackの開発遅れと簡素化のために、Piston OpenStack 2.0まではストレージにCephのみを採用していた。しかし、後述の最新版3.5ではBlock StorageにCinder、Object Storageにはこれまでとの継続性確保からCeph(但しDriverはSwift)をサポートしている。 もうひとつのVirtual NetworkはNeutronのPluginでNova NetworkとPlumGridをサポートする。

 =セキュリティ強化のPiston OpenStack 3.5リリース=
9月10日、最新版のPiston OpenStack 3.5がリリースされた。
この版には2つ目玉がある。まずAPI通信時のSSL対応やIntel TXT(Trusted Execution Technology)適用によるセキュリティの強化だ。通常、サーバの電源をONにすると、①BIOS→②Boot Loader→③OSの順で立ち上がるが、TXTでは①BIOS→②Boot Loader→③Vitual Machine Monitor→④OS となって、OS立ち上げ前に仮想マシンモニタ(VMM)のチェックを行う。これによって改ざんモニタの実行を未然に防止するのだ。さらにTXTでは Gest OSからのメモリアクセスについても他チップセットと連携してセキュリティを厳格にしている。つまり、Intelの提唱するトラステッドコンピューティングの適用である。もうひとつの目玉は「Zero Downtime Update」の強化だ。Pistonではこれまでもインターネット経由でOpenStackの更新機能「Online Update」を提供してきた。今回の追加は「Near-Line Update」。これは更新情報を一旦ローカルサーバにダウンロードし、その後、OpenStackを更新する機能だ。この方式の採用で、Cluster Nodeのローリングアップデート時の遅延回避やより安全なシステムを更新することが出来る。
以上見てきたように、Piston OpenStackは難しいこと無しに、迅速にクラウド基盤の構築ができる。動かすのは簡単でも、内容は通常のOpenStackに負けることはない。日本市場への導入もTEDから始まった。