Java EE6 in the Cloud – Getting started with Red Hat Openshift

OpenShift 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…

More information on http://openshift.redhat.com and https://github.com/openshift/seambooking-example

One thought on “Java EE6 in the Cloud – Getting started with Red Hat Openshift”

  1. While creating a sample app I am getting following error

    ./rhc-create-app -a sampleapp -t jbossas-7.0
    Password:

    Found a bug? Post to the forum and we’ll get right on it.
    IRC: #openshift on freenode
    Forums: https://www.redhat.com/openshift/forums

    Attempting to create remote application space: sampleapp
    Contacting https://openshift.redhat.com
    API version: 1.1.1
    Broker version: 1.1.1

    RESULT:
    Successfully created application: sampleapp

    Checking ~/.ssh/config
    Contacting https://openshift.redhat.com
    Could not find /home/ssinha/.ssh/config. This is ok, continuing
    Adding rhcloud.com to ~/.ssh/config
    Now your new domain name is being propagated worldwide (this might take a minute)…
    Pulling new repo down
    fatal: could not create work tree dir ‘sampleapp’.: Permission denied
    Error in git clone

    Cleaning up application

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>