In my previous post I have written about VMware Cloud Foundry, few days back I was playing with Cloud Foundry. Again, it looks very impressive and it seems Derek (Cloud Foundry CTO) team has done a fabulous job with this first PAAS offerning with Vmware. I have used and deployed my app with Google App Engine as well, and I have to say Cloud Foundry stand right there with Google App Engine and Amazon. In my view this will take lots of industry attention as it gets more mature and more and more folks will start using.
To give you an idea, it only took me 30-40 mins from the start to deploy this application. I have used VMC CLI tool to deploy this application. Spring STS also have plugin for Cloud Foundry, I might give it a try later on sometime. Here’s my first “Hello World” kind of application, which is deployed in Cloud Foundry.
http://hellovikascloudfoundry.cloudfoundry.com/
Here's my terminal output from my mac:
Vikas-Kumars-MacBook-Pro:~ Vikas$ bashbash-3.2$ vmc target api.cloudfoundry.com
Vikas-Kumars-MacBook-Pro:~ Vikas$ bash
bash-3.2$ ruby -v
ruby 1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0]
bash-3.2$ gem -v
1.3.5
bash-3.2$ sudo gem update --system
Updating RubyGems
Updating rubygems-update
Successfully installed rubygems-update-1.8.5
Updating RubyGems to 1.8.5
Installing RubyGems 1.8.5
RubyGems 1.8.5 installed
=== 1.8.5 / 2011-05-31
* 2 minor enhancement:
* The -u option to 'update local source cache' is official deprecated
* Remove has_rdoc deprecations from Specification.
* 2 bug fixes:
* Handle bad specs more gracefully.
* Reset any Gem paths changed in the installer.
RubyGems installed the following executables:
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/gem
bash-3.2$ clear
bash-3.2$ sudo gem install vmc
Fetching: json_pure-1.5.3.gem (100%)
.......
bash-3.2$ vmc
bash-3.2$ vmc target api.cloudfoundry.com
Succesfully targeted to [http://api.cloudfoundry.com]
Successfully logged into [http://api.cloudfoundry.com]
bash-3.2$ vi
bash-3.2$ lS
hello.rb
bash-3.2$ vmc push
Would you like to deploy from the current directory? [Yn]: y
Application Name: hellovikasCloudFoundry
Application Deployed URL: 'hellovikasCloudFoundry.cloudfoundry.com'? y
Detected a Sinatra Application, is this correct? [Yn]: y
Memory Reservation [Default:128M] (64M, 128M, 256M, 512M, 1G or 2G)
Creating Application: OK
Would you like to bind any services to 'hellovikasCloudFoundry'? [yN]:
Uploading Application:
Checking for available resources: OK
Packing application: OK
Uploading (0K): OK
Push Status: OK
Staging Application: OK
Starting Application: OK