What is Redhat OpenShift
OpenShift is the Platform as a Service (PaaS) offered by Redhat. It offers an environment for you to deploy, scale and manage applications while you as a developer can focus on building applications. OpenShift has built in support for PHP, Ruby, Java, node.js, Perl and can be extended with support of cartridge to host clojure and other platforms.
How does it work?
For a developer you can create application through web console or through command line. I would talk with reference of command line as it will be in line with our next steps. For command line interaction you will need gems for GitHub and the openshift gem named “rhc” * . After successful installation you can login with “rhc setup” command. Applications can be created with “rhc app create” command and appropriate arguments based on type of applications you are creating. You can modify the created app locally with your favourite IDE. You can add services needed for your application which are called “cartridge”. For example for adding MongoDB you can use command “rhc app cartridge add -a twt -c mongodb-2.0″. Now your application is literally a “git push” away!
What goes on behind the scenes
Redhat is a pioneer and leader in open source and without doubt they use their robust set of technology to power openShift. Red Hat Enterprise Linux (RHEL) forms the basic foundation of OpenShift and SELinux is used for enhanced security and separation between multiple applications. By default OpenShift scales automatically so you don’t have to worry when load on application increases. Users can choose to scale manually if they wish to. For the architecture enthusiasts this link explains the architecture in detail.
Use and extend!
OpenShift comes with support for Java, Ruby, Perl, PHP etc. But don’t worry if you have something that is not supported out of the box. Any binary that can run on a RHEL 6.2 X64 and can talk HTTP can be configured by creating a cartridge yourself as explained here. OpenShift looks a promising platform with power of Linux and open source expertise of Redhat!