OpenShift Platform as a Service (PaaS) by Red Hat
What is OpenShift?
OpenShift is Red Hat's Cloud Computing Platform as a Service (PaaS) offering. OpenShift is an application platform in the cloud where application developers and teams can build, test, deploy, and run their applications.
OpenShift takes care of all the infrastructure, middleware, and management and allows the developer to focus on what they do best: designing and coding applications.
How do I use OpenShift?
For a Developer to use OpenShift to take advantage of the power and elasticity of the Cloud, they need only do the following:
- Create an "Application" in OpenShift (With the command-line or via their IDE)
- Code the application (in Vi, TextMate, Eclipse, Visual Studio, or whatever)
- Push the application code to OpenShift (again, with the command-line or from their IDE)
OpenShift takes a No-Lock-In approach to PaaS by providing built-in support for Node.js, Ruby, Python, PHP, Perl, and Java (the standard in today's Enterprise). In addition, OpenShift is extensible with a customizable cartridge functionality that allows enterprising developers to add any other language they wish. We've seen everything from Clojure to Cobol running on OpenShift.
In addition to this flexible, no-lock-in, language approach, OpenShift supports many of the popular frameworks that make a developer's life easier including frameworks ranging from Spring, to Rails, to Play. OpenShift is designed to allow Developers to work the way they want to work by giving them the languages, frameworks and tools they need for fast and easy application development.
Blow the doors off your expectations
Once you have your application running in the Cloud, the next thing to worry about is how it is going to handle the massive amount of usage it gets when it goes viral. Well, no worries here. OpenShift has you covered.
OpenShift provides both automatic and manual scaling of the resources that are supporting your application such that, as usage increases, performance will not suffer. This is one of the sweet benefits of OpenShift PaaS you don't need to worry about common infrastructure or middleware issues like administration, tuning, or scaling. OpenShift handles this for you.
With Auto-Scaling, OpenShift can scale your application by adding additional instances of your application and enabling clustering. Alternatively, you can manually scale the amount of resources with which your application is deployed when needed. When your big idea takes off, OpenShift will allow it to soar.
Under the hood
OpenShift by Red Hat is built on open-source technologies (we are one of the world's leading open source companies, after all). A decade of enhancements in these technologies contributed by the open source community has resulted in a set of very robust technology components that provide the inner-workings of the OpenShift PaaS.
OpenShift is built on a foundation of Red Hat Enterprise Linux (RHEL). Beyond being a leading and well respected Linux distro, RHEL provides some key capabilities that allow OpenShift to be stable, responsive, performant and secure. OpenShift leverages the multitenancy and security models within RHEL to provide fine-grained and trusted control over the compute and storage resources available to any single OpenShift application. SELinux allows OpenShift to "firewall" one user's application from another in order to insure security and survivability. Taking a "multi-tenant in the OS" approach vs. a "multi-tenant hypervisor" approach allows OpenShift to scale resources much more quickly so that your application will never lack the horsepower that it needs.
Add on top of RHEL, a full selection of open source Languages, Frameworks, and Middleware combined with a "Cartridge" approach that allows users to very easily select the components that their applications need whether it is a NoSQL datastore or a Business Intelligence analytics engine.
OpenShift is designed to provide one thing for Developers: Ease of Use without Worries. OpenShift's mission is to make your job easier by taking care of all the messy IT aspects of app development and allowing you to focus on your job: Coding your Application and satisfying your customers.