PaaS基盤「Cloud Foundry」のアーキテクチャは、どうなっている?

2011年10月21日

先週、Cloud Foundryのソースコードを読もうという「第1回 CloudFoundry輪読会」が開催され、参加してきました。

Cloud FoundryはVMwareからリリースされたオープンソースのPaaS基板ソフトウェア(および同名のVMwareによるクラウドサービス)で、IaaSに依存せず、VMwareのvSphereやAmazonクラウドなど複数のクラウドに対応するのが特徴です。また、Java、Pythonなど複数の言語、MySQLやPostgreSQLなど複数のデータベースをサポートしており、囲い込みをしない「Open PaaS」を指向しています。

同種のPaaS基盤はRed HatからOpenShiftが登場してきており、IaaS非依存、複数言語対応、複数データベース対応のオープンなPaaSという新しいトレンドを作りつつあります。

この新しいPaaS基盤がどのような仕組みになっているのか、これまで情報がほとんどなかった中でこのCloud Foundry輪読会はその情報を得る貴重な機会でした。輪読会の内容からポイントになるところを、記事として紹介したいと思います。

(追記:Cloud Foundry V2のアーキテクチャについては、記事「PaaS基盤「Cloud Foundry V2」のアーキテクチャは、どうなっている?(前編)」をご参照ください)

CloudFoundryの全体構成

fig

CF Kernelを作る上での方向性

基本デザインとパターン

カーネルコンポーネント

カーネルコンポーネントの種類

fig

CloudController

DEA

Router

HealtManager

Services/Massaging

Cloud Foundryのマルチノードへの展開

VCAPはCloud Foundryの本体。CF Kernel部分のソースコード

fig

複数のノードに分散してコンポーネントをインストールできるため、スケーラビリティや可用性に適したシステム構築が可能。

ただし、CFカーネルからは下のレイヤに対して(つまりOrchestratorレイヤ)に対して、インスタンスの増減の指令を出す機能はないので、あらかじめマニュアルで最初から複数ノードにデプロイしておく必要がある。

Q&Aなど

──── 動作環境はLinuxのみと考えていいのか?

Linux/UNIXで、Windowsは対応していない。

──── CF KernelとOrchestratorレイヤの連係はないと説明があったが、つまりPaaSレイヤからIaaSレイヤに対してインスタンスの増加や減少といった要求はそもそも出せないということか?

イエス。いまはあらかじめマニュアルでIaaSレイヤにデプロイするだけ。Orchestrationレイヤはいまのところない。(新野注:たぶんVMwareが将来、製品としてリリースするCloud Foundryでは、IaaSとなるvSphereと連係がとれるようになるのでしょう)。

──── HealthManagerやCloudControllerはSPOFにならないのか?

HealthManagerは落ちても直接の運用の支障にはならない、ただしNATS(Messagingのこと)は、ここが死んだらだめだと思っているので、いま対応を作りかけのようだ。CloudControllerに関してはRailsのアプリなので、これのSPOF対策はRailsアプリとしてデプロイ側でいまはやらなければならないレベルのようだ。

──── Messaging(NATS)は、なぜ独自のものを作ったのか? RabbitMQをサポートしているのなら、なぜそれを使わなかったのか?

シニアアーキテクトの人によると、小さいのがほしかった、余計な機能を持たせたくなかったとのこと。

参照資料

輪読会で説明に使われたスライドです。

Node on CloudFoundry :: 2011

このエントリーをはてなブックマークに追加
follow us in feedly

タグ : PaaS , VMware , クラウド



≫次の記事
歌:Javaこそ人生だ、コードを叩き続けろ!
≪前の記事
「クラウドと女子のステキな関係」について話を聞きました

Loading...

Blogger in Chief

photo of jniino Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。新しいオンラインメディアの可能性を追求しています。
詳しいプロフィール


Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed



Publickey 最新記事 10本

Publickey Topics 最新記事 10本


PR - Books


fig

fig

fig

fig



blog comments powered by Disqus