今月の Software Design : 2013/03 (その2)

 「今月の Software Design 」の3月号の2回目の投稿です。

 今回は第一特集「もっとクラウドを活用してみませんか?」について書きます。

 フォーマットは、例によって各記事について以下の通り、要約と感想を書いてゆきます。

 

・記事のタイトル
( 1 行目 ) 記事の要約
( 2 行目以降 ) 感想

 

・第一特集①:OpenStack でクラウドサービスを始めるには

 OpenStack についての紹介を一通りしてくれています。OpenStack の歴史に始まり、各コンポーネントとその関連、devstack による環境の構築、そして OpenStack の事例と最後にコミュニティについての紹介をしています。

 個人的には、特に各コンポーネントとその関連の話と、devstack を用いた環境構築の話がとても勉強になりました。あと OpenStack のコミュニティについての紹介がありましたが、つい先日も OpenStack 勉強会があったりと、OpenStack のユーザコミュニティの充実ぶりには驚きます。実は、ちょっと前まで OpenNebula を使ってクラウド環境をつくってみようかと思い、勢い余って Opennebula 3 Cloud Computing を買ってしまい、OpenNebula について色々調べていたのですが、国内における圧倒的なユーザコミュニティの充実ぶりを目の当たりにし、OpenStack に日和って Openstack Cloud Computing Cookbook を買って読んでます。

 OpenStack を使ってテスト用のクライド環境を作りたいけどデスクトップ無いよ・・・と思っていたところ、Nested KVM を知りました。Nested KVM は、ホスト OS から起動した VM インスタンス上で、別の VM インスタンスを起動するためのカーネルモジュールの機能になります。CPU の仮想化機能をゲスト OS 側の仮想 CPU でも利用できるようにすることで、こうした事が実現できます。実際これはめちゃめちゃ便利です。

 今回の記事で紹介されている DevStack は、Ubuntu Server 10.04 か Fedora 16 が推奨環境となっており、それ以外の環境だとセットアップの段階でコケます(僕が使っている Debian Wheezy がそうでした)。しかし Nested KVM を使えば、Debian 上で Ubuntu Server 10.04 を動かし、そこで DevStack を使ってプライベートクラウドのテスト環境を作れます。

 Nested KVM の使い方は、こちら の irix_jp さんのブログエントリが詳しいです。あと、x86 環境で記事の通り VM インスタンスを起動しようとしても (登録済みイメージの CPU アーキテクチャが 64 bit なので) インスタンスは立ち上げりません。独自の VM イメージの作成方法については、openstack のドキュメントページ が参考になります。

 

 

・第一特集②:CloudStack を試して見ませんか?

 こちらも CloudStack について、機能の概要から構築手法まで一通り解説してくれています。環境の構築では DevCloud を利用し、VM インスタンスの起動及び起動した VM インスタンスへのアクセス方法について解説しています。

 CloudStack については、クラスタだのポットだのゾーンだのと、非常にややこしそうな印象を持っていましたが、やっぱりややこしいです。記事では GUI 環境が充実している事を売りにしていますが、個人的にはそんなの要りません(裏側で何やってるかわかんない上に、処理でコケた際に何がいけないのかが解りづらいので GUI 大嫌いです)。

 感想が CloudStack に対する激しい dis になってしまいましたが、別に CloudStack を意図的に攻撃しようなんてつもりは全然ありません。

 

 

・第一特集③:Cloud Foundry の簡単デプロイがお勧め!

 PaaS クラウドの構築・運用・管理を支援するオープンソースプロジェクトの CloudFoundry について、概要とインストール方法について紹介し、Sinatra を提供する環境を実際に構築する手順について示しています。最後に、Cloud Foundry の機能の各機能についての概要を説明しています。

 クラウド事業者からすると、IaaS よりレイヤの高い PaaS の方が責任範囲が広がるのでエンジニアリングの腕の見せ所で面白そうな反面、どういったプラットフォームを提供するのが良いのかというビジネス的な難しさがあるように思えます。

 ただ記事で述べられているように、PaaS サービスの裏側の仕組みについては、文字通り表に出てくる事はほとんと無いことですし、また記事の最後で「Cloud Foundry のソフトウェアアーキテクチャが洗練されている」という事なので、PaaS の仕組みについて知る意味で Cloud Foundry について調べる価値はあるかもしれません。