OpenShift is a Platform as a Service (PaaS) offering from Red Hat, Inc., and OpenShift Online is the hosted or cloud version of it. OpenShift Enterprise is the version that may be used by businesses to build private clouds.
The software used to cobble the PaaS together is Free Software, so if you have the resources, you can grab it and build your own PaaS. If you are like me, you probably don’t have the hardware resources to run your own PaaS, or don’t need to, and will be more interested in the cloud offering called OpenShift Online.
OpenShift Online is a developer-targeted service, but this article is aimed at non-developers, just to highlight the aspect of the service you can take advantage of.
Every service tends to come with its own set of jargons, and OpenShift is no exception. So if you want to start using OpenShift, here are the terms you need to understand:
1. Gear: This is a container with a set of resources that allow users to run their applications. OpenShift Online runs many gears on each virtual machine and dynamically distributes gears across them.
2. Cartridge: are the containers that house the framework or components that can be used to create an application. One or more cartridges run on each gear or the same cartridge can run on many gears for clustering or scaling. Cartridges are currently enabled for PHP, Java, Ruby, Perl, NodeJS, and Python, with embedded cartridges for MySQL, MongoDB, phpMyAdmin.
So an OpenShift account gives you access to gears, which house cartridges. With cartridges, you can run frameworks, atop which you can deploy your applications. So the relationship flow is like this: Gear > Cartridge > Application Framework > Applications. Note that all four are contained on a virtual machine instance running on Red Hat Enterprise Linux.
OpenShift Online is a developer-targeted or developer-friendly service, but nothing stops a non-developer like me or you from using it to host any number of applications. This WordPress-powered website runs on a VPS account, but there are several non-critical but essential applications I use that could be deployed on a free service like OpenShift Online.
Currently, Gears comes in two sizes – Small and Medium. A small gear comes with 512 MB of RAM and 1 GB of disk space. The medium variety has the same amount of disk space, but comes with 1 GB of RAM. When you sign up for an OpenShift Online account, you get three small gears for free. That’s a total of 1.5 GB of RAM and 3 GB of storage. You can extend your free account to a MegaShift, a paid account, which starts at $0.5 per hour for a small gear and $0.12 per hour for a medium gear.
Three small gears totaling 3 GB of disk space may seem pony, but for the type of applications I intend to deploy on this PaaS, one of which is Piwik, a Free Software Web Analytics software, one small gear is more than enough. The reason for wanting to deploy a non-critical but essential application like Piwik on a FreeShift account is because experience has taught me that, if possible, it is better to run certain applications off site, that is, off your Web or VPS hosting account, especially those that are easy prey or have proven to be easy prey to hackers.
Ultimately, all applications are hackable, but it is recommended that peripheral applications be run off site, so if they are hacked, the bad buys don’t get easy passage to the main application(s). So, the next OpenShift-related article from me will be on how to deploy Piwik on a FreeShift account. You may sign up for one here. Most of the information presented here was taken from the OpenShift FAQ page.