Thanks Cloud Foundry for turning every programmer into a Hero !
‘Spring Data promotes the classic Spring values, enhancing developer productivity by removing the API noise, boiler-plate code and resource management and offering a consistent programming model.’
Spring Roo revolutionized the concept of ‘Rapid Application Development’ by on-demand resource allocation and service provisioning through load-time-weaving of aspects !
Couple of lines of commands and the complete gwt-spring-mvc application launched into Google App Engine !
At the same time MongoDB came up with a ‘ridiculously simple’ json-based api to provide super-fast asynchronous highly-scalable, available, partitioned data-storage with simple ways to crud, map-reduce, search, index ! Redis garnered much excitement by providing a brilliant ‘data-structure key-value storage’ !
Its no wonder that Spring quickly provided a wrapper to access MongoDB, Redis, Riak, Node.js.
VMWare blended the virtualization platform with SpringSource and Ubuntu and formed the magical CloudFoundry (IaaS + PaaS) !
Now any programmers can really taste the flavor of Cloud Computing (which was so far affordable only by large enterprises ).
The CLI Tool – VMC (vmware cloud-controller) can be installed by ruby gem.
VMC simply make various rest requests (push / update / target / start / stop ..). Accordingly cloud-controller delegates the requests to droplet execution engine which routes the requests to service providers (allocated by cloud-controllers).Here goes the simple steps to push a ruby ‘Say hello’ app to Cloud !
Launch a Spring-MySql App into Cloud :
** Login Credentials specified in security-context.xml
2. Just need to remember that we should create a ‘tododb’ service and link it to the application !
Upon starting the app if it does not work on first chance, we just need to restart it once or twice !
3. Inspect logs
# look at the main logs that contain crash information
vmc crashlogs my-app
# to inspect other logs (migration.log, staging.log, etc.)
vmc files my-app logs/migration.log
1. Download hello-spring-mongodb from cloudfoundry samples.
2. Import the project in STS.
3. Rename the application to some unique name like –mongoapp
4. Remember to add the mongodb namespace – in root-context.xml
xmlns:mongo=”http://www.springframework.org/schema/data/mongo” and specify the schema location
http://www.springframework.org/schema/data/mongo http://www.springframework.org/schema/data/mongo/spring-mongo-1.0.xsd5. Now few Command Line tasks..
6. Package the app : mvn package
7. Test that vmc target is api.cloudfoundry.com
8. Next attach a mongoDB service and start the service as shown below…
A ready-to-go powerful web-flow sample :
See Live : http://travel.cloudfoundry.com
and another ACTION-PACKED sample … http://blog.springsource.com/2011/04/27/getting-started-redis-spring-cloud-foundry/A very complex streaming-events sample where external source sends events to redis store. Events are sent to browser using ajax-long-polling (instant update) and also pushed into Mongo for future lookup and analysis (BI) . Cloudfoundry makes it look so simple and easy to learn the concepts !Here I show the steps … (assumption : ticker-analysis mongo service and ticker-stream redis service are already created) :
More food for thoughts : http://blog.mongodb.org/post/6587009156/cloudfoundry-mongodb-and-nodejsReferences :
Comprehensive List : http://devstonez.wordpress.com/2011/04/13/all-you-need-to-know-about-cloud-foundry-blogs-articles-reviews-tutorials-videos/
Command Line Reference : https://github.com/cloudfoundry/vmc/blame/master/README.mdArchitecture :
http://www.slideshare.net/mccrory-me/cloud-foundry-a-developers-perspective http://www.slideshare.net/lethee/cloud-foundry-practiceRuby on CloudFoundry :
MongoDB on CLoudFoundry :
Redis on CloudFoundry in Ubuntu :
Watch the Webinar and Download the Slides !
Grails-Integration – http://www.grails.org/STS+Integration
Spring MVC with STS – http://www.giantflyingsaucer.com/blog/?p=2373
Great MVC Resource – http://www1.springsource.com/files/Getting%20Started%20with%20Spring%20and%20STS%203-17-11.pdf
Google App Engine with STS – http://code.google.com/webtoolkit/doc/latest/tutorial/roo-sts.html
Spring Insight for Monitoring : http://blog.espenberntsen.net/tag/spring-insight/
Full Story : http://gigaom.com/cloud/vmware-open-source-cloud/
FAQ : http://support.cloudfoundry.com/forums/373015-knowledge-base