OpenShift by Red Hat is a platform as a service (PaaS) designed for developers. Many typical systems administration tasks, like virtual server provisioning, configuration and scaling, are automated so developers can spend more time on code and less time configuring operating systems and installing libraries and packages.
To view all our recommendations for cloud computing services, visit our best picks page.
Red Hat offers a limited amount of resources for free, but they are enough to run a small website. The free Starter plan supports one project and 1GiB of storage per gear. The Pro plan is $50 per month, and supports 10 projects with 2GiB of memory included, with an option to add up to 48GiB. You get basic support with the Pro plan, while Starter plan users will only have access to community support.
OpenShift is an open source platform, so it supports a wide range of languages and server-side technologies. Developers can choose to code their applications in Java, PHP, Perl, Ruby, Python and Node.js.
OpenShift supports server-side technologies commonly used with these languages, too. For example, Java developers can choose between JBoss Enterprise Application Server, JBoss Application Server and JBoss Enterprise Web Server/Tomcat according to their needs. Python developers can build on frameworks including Django, Pylons, TurboGears, Bottle and Zope. Ruby on Rails and Sinatra are provided for Ruby developers. For applications that require a relational database, developers have the choice of using MySQL or PostgreSQL. If a NoSQL data store is a better option, developers can work with MongoDB.
In addition to multiple languages and application stacks, there are a few different ways to interface with the OpenStack platform. Developers create and manage applications from a Web console, the command line or through an integrated development environment. With a simple local installation, developers can use the Red Hat command line tools to create applications, clone copies of git repositories, start and stop applications, display status information, and add cartridges. Eclipse developers do not have to leave the IDE environment if they don't want to. Installing the JBoss Tools in Eclipse gives developers the ability to deploy and work with applications within the development environment.
OpenShift supports the use of git repositories for code management. Git is so well integrated, developers can deploy an application with a single command that specifies needed cartridges (e.g. language and database) and a URL to a git repository with application code. The git model of source control works well with OpenShift. Developers can develop modules and manage them in a local git repository and then copy them ("commit" in git terminology) to the application's OpenShift git repository.
OpenShift supports a number of hooks, which are points in the deployment process when custom scripts can be run. Scripts can be run at five stages: pre-receive, pre-build, build, deploy and post-deploy. These scripts give developers control over ancillary processes that may need to run at varying points in the deployment process.
OpenShift users will have access to phone support and email support as well as an online knowledge base.
OpenShift is an open source platform that provides developers with a lot of control. If you're looking for a solution that provides more guidance, you may want to consider other options. We also didn't find a lot of public online reviews of OpenShift. However, the company does have an A+ rating with the Better Business Bureau.