Chapter 1. Introduction to OpenShift Enterprise

OpenShift Enterprise by Red Hat is a Platform as a Service (PaaS) that provides developers and IT organizations with an auto-scaling, cloud application platform for deploying new applications on secure, scalable resources with minimal configuration and management overhead. OpenShift Enterprise supports a wide selection of programming languages and frameworks, such as Java, Ruby, and PHP. Integrated developer tools, such as Eclipse integration, JBoss Developer Studio, and Jenkins, support the application life cycle.
Built on Red Hat Enterprise Linux, OpenShift Enterprise provides a secure and scalable multi-tenant operating system for today's enterprise-class applications while providing integrated application runtimes and libraries.
OpenShift Enterprise brings the OpenShift PaaS platform to customer data centers, enabling organizations to implement a private PaaS that meets security, privacy, compliance, and governance requirements.

1.1. Basic Architecture

OpenShift Enterprise provides disk space, CPU resources, memory, network connectivity, and an Apache or JBoss server to create, deploy, and manage applications in the cloud. For most types of applications, OpenShift Enterprise creates a file system layout that you can use as a template for building an application. It also generates a limited Domain Name System (DNS) so your application is accessible online.
The following table describes the basic system components of OpenShift Enterprise.

Table 1.1. Basic Components

System Component Description
Broker Responsible for managing user logins, DNS, and application state. It manages the nodes and coordinates provisioning and application management. User interaction with the broker is performed using the management console, CLI, or a REST-based API.
Nodes Hold the gears that run the applications, and enable resource sharing so that multiple gears can run on a single physical or virtual machine. This machine is referred to as a node host.
Message Bus Link between the broker and the nodes.
Gears Resource-constrained containers for application code where cartridges run. Gears determine the amount of RAM and disk space available to a cartridge.
Cartridges Cartridges provide the functionality to run applications. Numerous cartridges are currently available to support languages such as Perl, PHP, and Ruby, as well as many database cartridges, such as PostgreSQL and MySQL.
Consult your system administrator for details about the gears sizes that are available. A typical default gear size is a small gear, which provides 512MB of RAM, 100MB of swap space, and 1GB of disk space.