名前は聞いたことがあったもののどんなものかよく分かってなかったので、下記チュートリアルページを参考にCloud Foundryを触ってみました。
VMware Cloud Foundry入門 - Getting Started (Japanese)
Cloud FoundryはVMwareが提供しているオープンソースのPaaSフレームワークで、ソースコードを取得してPaaS環境を構築できるほか、VMwareがvSphereデータセンター内で運営しているCloud Foundryのホステッド環境に接続することができます。現在はβ版ということで、無料で利用できるようです。
まずは http://www
とりあえず自宅PCのWindows環境で試してみました。まず http://www
1 C:\Users\akanuma>ruby -version 2 ruby 1.9.3p0 (2011-10-30) [i386-mingw 32] 3 -e:1:in `<main>': undefined local variable or method `rsion' for main:Objec t (NameError)
なにやらエラーが出ていますが、とりあえず続行。
Cloud FoundryのCLIであるvmcをインストールします。
1 C:\Users\akanuma>gem install vmc 2 Fetching: spruz-0.2.13.gem (100%) 3 Fetching: json_pure- 1.5.4.gem (100%) 4 Fetching: rubyzip2-2 .0.1.gem (100%) 5 Fetching: mime-types -1.17.2.ge m (100%) 6 Fetching: rest-clien t-1.6.7.ge m (100%) 7 Fetching: terminal-t able-1.4.4 .gem (100%) 8 Fetching: interact-0 .2.gem (100%) 9 Fetching: vmc-0.3.13 .gem (100%) 10 Successful ly installed spruz-0.2. 13 11 Successful ly installed json_pure- 1.5.4 12 Successful ly installed rubyzip2-2 .0.1 13 Successful ly installed mime-types -1.17.2 14 Successful ly installed rest-clien t-1.6.7 15 Successful ly installed terminal-t able-1.4.4 16 Successful ly installed interact-0 .2 17 Successful ly installed vmc-0.3.13 18 8 gems installed 19 Installing ri documentat ion for spruz-0.2. 13... 20 Installing ri documentat ion for json_pure- 1.5.4... 21 Installing ri documentat ion for rubyzip2-2 .0.1... 22 Installing ri documentat ion for mime-types -1.17.2... 23 Installing ri documentat ion for rest-clien t-1.6.7... 24 unable to convert "\xE2" to UTF-8 in conversion from ASCII-8BIT to UTF-8 to Windows-31 J for README.rdo c, skipping 25 Installing ri documentat ion for terminal-t able-1.4.4 ... 26 Installing ri documentat ion for interact-0 .2... 27 Installing ri documentat ion for vmc-0.3.13 ... 28 Installing RDoc documentat ion for spruz-0.2. 13... 29 Installing RDoc documentat ion for json_pure- 1.5.4... 30 Installing RDoc documentat ion for rubyzip2-2 .0.1... 31 Installing RDoc documentat ion for mime-types -1.17.2... 32 Installing RDoc documentat ion for rest-clien t-1.6.7... 33 unable to convert "\xE2" to UTF-8 in conversion from ASCII-8BIT to UTF-8 to Windows-31 J for README.rdo c, skipping 34 Installing RDoc documentat ion for terminal-t able-1.4.4 ... 35 Installing RDoc documentat ion for interact-0 .2... 36 Installing RDoc documentat ion for vmc-0.3.13 ...
vmcのtargetコマンドでデプロイ対象を api.cloudf
1 C:\Users\akanuma>vmc target api.cloudfoundry.com 2 Succesfull y targeted to [http://api .cloudfoun dry.com]
続けてログインコマンドを実行します。
1 C:\Users\akanuma>vmc login 2 Email: xxxxxxxxxx@xxxxx.xxx 3 Password: ******** 4 Successful ly logged into [http://api .cloudfoun dry.com]
そしてアプリケーションを作成するためのディレクトリを作成して移動します。
1 C:\Users\akanuma>mkdir hello 2 C:\Users\akanuma>cd hello 3 C:\Users\akanuma\hello>
次にhllo.rbという名前で下記内容のファイルを作成します。文字コードはUTF-8で、改行コードはLFにしないと失敗するようです。
1 require 'sinatra' 2 get '/' do 3 "Hello from Cloud Foundry!" 4 end
アプリケーションをデプロイします。vmc pushコマンドを実行すると追加の情報入力用のプロンプトが表示されますので、それぞれ下記のように入力します。
1 C:\Users\akanuma\hello>vmc push 2 Would you like to deploy from the current directory? [Yn]: 3 Application Name: akanumahel lo 4 Applicatio n Deployed URL ["akanumahel lo.cloudfo undry.com"]: 5 Detected a Sinatra Applicatio n, is this correct? [Yn]: 6 Memory Reservatio n ("64M", "128M", "256M", "512M", "1G", "2G") ["128M"]: 7 Creating Applicatio n: OK 8 Would you like to bind any services to 'akanumahel lo'? [yN]: 9 Uploading Applicatio n: 10 Checking for available resources: OK 11 Packing applicatio n: OK 12 Uploading (0K): OK 13 Push Status: OK 14 Staging Applicatio n: OK 15 Starting Applicatio n: OK
無事デプロイされたようです。ブラウザで http://aka
続けて変更を加えてみます。hello.rbの "Hello from Cloud Foundry!" を "Hello from Cloud Foundry and VMware!" に変更して保存します。そして下記コマンドでサーバ上に変更を反映します。
1 C:\Users\akanuma\hello>vmc update akanumahello 2 Uploading Applicatio n: 3 Checking for available resources: OK 4 Packing applicatio n: OK 5 Uploading (0K): OK 6 Push Status: OK 7 Stopping Applicatio n: OK 8 Staging Applicatio n: OK 9 Starting Applicatio n: OK
ブラウザで再度表示を確認して、変更が反映されていれば成功です。
このチュートリアルを試す限りは簡単にアプリケーションを公開できそうです。メモリも2GBまでは使えるようですので、あまり負荷の高くないアプリケーションであれば十分に使えそうです。