For a while now I’m looking into ‘the cloud’. Looking into its features, what it can do, why we should switch to ‘ the cloud’, going to talks, talking to people like @maartenballiauw, who is a cloud specialist at RealDolmen. I’ve already deployed an application on google app engine (for java) and I really liked the experience. Some new concepts come into play like distributed data and so on.
But in the recent chain of events, being more interested in the future of java EE, I looked into OpenShift.
OpenShift is a PaaS offerd by Red Hat. The basic idea is to run Java EE 6 in the cloud and that is exactly what we want to do. I’m using Ubuntu for this, so all my commands are based upon the Ubuntu distro. Be sure to register for an account on openshift.redhat.com, you will need it to create a domain and application.
Starting of we have to install ruby gems. The ruby gems are the interface to manage our cloud domain. So first we install the gems.
$ sudo apt-get install git ruby rubygems ruby1.8-dev
We need git to checkout the code, the ruby packages is to install the gems. Now we install the gems.
$ sudo gem install rhc
The rhc (red hat cloud I presume) is the base for all the commands that will be used to manipulate our openshift domain. So first we need to create a domain.
The gems are standard deployed installed in the /var/lib/gems/1.8/gems/bin folder. We best add it to our $PATH variable for easy access. Now everything is ready to start working with openshift.
Now we want to create a domain. The domain is your work directory on OpenShift. Choose something unique and you will be able to access your applications via http://projectname-domainname.rhcloud.com. To create your domain we need the ‘rhc-create-domain’ command.
$ ./rhc-create-domain -n domainname -l loginid
Now you will be promted for you password, just type it and you are done. Your domain is created.
Your domain is setup, we now want to create an application.
$ ./rhc-create-app -a applicationName -t jbossas-7.0
The -t parameter indicates we will be running the application on a jbossas-7.0. The cool thing about creating an application on OpenShift is that we now have a fully setup git repository. When we push, the application is pushed to OpenShift.
To start of I forked the seambooking example on github (https://github.com/openshift/seambooking-example). I did not really need to fork it, but it offers a good basic setup for OpenShift project. Once I’ve added the code to my OpenShift git repository, I can simply do a git push.
$ git push
The sample app is running, running in the cloud…