Cloud Foundry

Cloud Foundryは、オープンソースのPlatform as a Service（PaaS）ソフトウェアである。当初VMWare社が開発を行っていたが、その後EMC社とVMWare社によって設立されたPivotal Software社のガバナンスを経て、2014年12月、Pivotal、EMC、VMWare、IBM、HP、SAP、NTT、Fujitsu等が参加するCloud Foundry Foundationに移管された。

主にRuby、Go、Javaで記述されている。

 歴史 
 2011年4月12日 - VMwareが業界初のオープンなPlatform as a Service（PaaS）としてCloud Foundryの提供を開始
 2012年12月6日 - VMwareとその親組織のEMCが、クラウドの開発プラットフォームとビッグデータに焦点を当てた新組織「Pivotal Initiative」を発表
 2013年3月7日 - VMwareがCloud Foundryの開発をPivotalに移管
 2013年6月6日 - Cloud Foundry V1のサービスを終了し、Cloud Foundry V2の立ち上げ計画を発表。V1とV2のAPI互換性はなく、主な変更点は新しいアーキテクチャとしてHerokuが開発したBuildpackを採用し、各種コンポーネントがGo言語で書き換えられ、アプリケーションはWardenというLinuxコンテナで動かすようになった。
 2014年2月24日 - Pivotalは「Cloud Foundry Foundation」を設立してCloud Foundry開発のガバナンスを移管すると発表
 2014年3月13日 - Diego開発プロジェクトがアプリケーションを実行するコンポーネントであるDEAを置き換え、Dockerなど複数環境に対応した実行環境に対応したDiegoの開発を開始
 2014年12月9日 - 「Cloud Foundry Foundation」は非営利法人としての設立を正式に発表。開発プロジェクトはLinux Foundation Collaborative Projectとして、Linux Foundationの支援を受けると発表。発表時点ではEMC、IBM、VMWare、HP、SAPに加えて、日本の企業として、富士通、NTT、日立、東芝などの44の企業が参加。
 2015年11月7日 - PivotalがCloud Foundryの有償ディストリビューションであるPivotal Cloud Foundry 1.6でDiegoを取り込み提供。

 ソフトウェア 
ソースコードのライセンスはApache License 2.0 となっており、コントリビューターはPivotal Software社の個人向けコントリビューターライセンスもしくは法人向けコントリビューターライセンスへの同意を求められる。

これらのライセンスは、著作権,特許権の利用と保護をPivotal Software社に与えるものとなっており、VMWare社が獲得してPivotal Software社へ移管されたSpring Frameworkと同様のモデルとなっている。

サポートされているランタイムやフレームワークは以下の通りであるhttp://docs.cloudfoundry.org/buildpacks/https://github.com/cloudfoundry-community/cf-docs-contrib/wiki/Buildpacks。

 言語 ランタイム フレームワーク Java Java 6, Java 7 Spring Framework 3.1  Ruby Ruby 1.8, Ruby 1.9, Ruby 2.0 Rails, Sinatra  Node.js  Node.js  Scala  Play 2.0, Lift Go  Go Python  Python PHP  PHP

Cloud Foundryは、VMware Fusion、Virtualbox、AWSで動作させることもできるhttp://docs.cloudfoundry.org/deploying/run-local.html。

 プラットフォーム 
Cloud Foundryはオープンソースプロジェクトではあるが、Pivotal Software社によってCloud FoundryをAWS上にホストしたPivotal Web Servicesが提供されている。また、Cloud Foundryを使用して他の企業もPaaSを提供している。
NTTコミュニケーションズのEnterprise Cloud 2.0 Cloud Foundry、およびCloud(n) PaaS
CenturyLink Cloudhttp://www.centurylinkcloud.com/products/services/platform-as-a-service
IBM Bluemix
SAP Cloud Platform
FJcloud

 利用方法 
アプリケーションの開発者はcfコマンドラインインタフェースを使用して環境構築を行う。アプリケーションをプラットフォームに配備する場合、cf pushコマンドを実行する。以下にコマンドの例を示す。cf push APP-NAME-1234 -i 2 -m 512Mこのコマンドを実行すると、APP-NAME-1234という名前のアプリケーションが、512MBのメモリサイズの2つのコンテナ上に配備される。

 サービス 
配備したアプリケーションは、サービスを使ってデータベースやファイルシステムなどの外部リソースにアクセスする。プラットフォームに事前に登録されているサービスはcf marketplaceコマンドで確認できる。利用するサービスはcf create-serviceコマンドでサービスインスタンスを作成し、cf bind-serviceコマンドを実行して外部リソースを利用するアプリケーションにバインドして利用する。Pivotal Web Servicesでは以下のようなサービスが利用できるが、その他のCloud Foundryを利用したPaaS事業者はそれぞれ独自のインテグレーションを行っている。
 Service Description MySQL オープンソースの RDBMS vFabric Postgres PostgreSQLに基づくRDBMS MongoDB スケーラブルなオープンソースのドキュメント指向データベース Redis The open key-value data structure server RabbitMQ Reliable, scalable, and portable messaging for applications

 関連項目 
 Platform as a Service

 出典 

 外部リンク 
 http://cloudfoundry.org/
 http://cloudfoundry.com/
 https://github.com/cloudfoundry
 http://blog.eukhost.com/webhosting/cloud-foundry-an-insight/

Category:クラウドコンピューティング
Category:オープンソースソフトウェア
Category:Rubyでプログラムされた自由ソフトウェア