• Home
  • pcDuino
  • WiKi
  • Store
  • Distributors
  • Home
  • pcDuino
  • WiKi
  • Store
  • Distributors
HomepcDuinoLinux ApplicationsOpenShift Platform as a Service
Previous Next

OpenShift Platform as a Service

Posted by: Yang , June 11, 2014

OpenShift Platform as a Service

OpenShift is Red Hat’s Platform-as-a-Service (PaaS) that allows developers to quickly develop, host, and scale applications in a cloud environment. With OpenShift you have choice of offerings, including online, on premise, and open source project options.

Understanding OpenShift

OpenShift is a next-generation cloud application platform that makes it easy to develop, deploy, and scale applications in the cloud – public or private.

Application Lifecycle

Code

Develop your application with the language and tools you want. As you go, push your changes to your app’s built-in Git source code repository.

Build

Any steps you need to turn code into a running application can run in OpenShift. Whether it’s a simple script, a personal Jenkins continuous integration server, or even an external build system, you can prepare your code for execution in the cloud.

Deploy

Every app is composed of cartridges – self-contained bits of the application stack like web servers and databases that simplify server maintenance and configuration. You choose the technologies by adding cartridges, and OpenShift will provision those services for you automatically.

Manage

With your app running in the cloud you can monitor, debug, and tune on the fly. Experience a surge in web traffic? Scale your application automatically or allocate capacity ahead of time. Need business intelligence? Engage an OpenShift partner for a wide range of tools to help you succeed.

Inside your Application

http://myapp-mydomain.rhcloud.com

Your Code

Git repository

Your Variables

App Environment

deploys to

  • JBoss 1

    +
    HAProxy
    Jenkins
  • JBoss 2
  • MySQL
  • Jenkins Server
Spread by default across multiple servers

An OpenShift application is code, plus an environment and shared config, with one or more cartridges providing the languages and services your app needs..

Cartridges are deployed to one or more secure containers for your code known as gears. Web and database cartridges get their own gears, while cartridges for logging and monitoring will have access to all gears.

A single server may have multiple gears running at the same time, each isolated from each other through Linux namespacing and SELinux protection. Each gear is given a fair allocation of CPU, memory, disk, and network bandwidth using Linux control groups.

When you add a cartridge to your app, OpenShift chooses where to deploy the cartridge based on the type and needs of the cartridge. Your app is wired together across multiple gears – you reference the services those cartridges expose via environment variables.

System Components

An installation of OpenShift – whether it’s our hosted OpenShift Online service, OpenShift Enterprise running in your datacenter, or OpenShift Origin running on your laptop – is composed of

  • Application Traffic (HTTP, SSH, Git)
    • Node 1
    • Node 2
    • Node 3
    • …
    • Node N
  • Message Bus
    • Broker 1 REST API
    • …
    • Broker N REST API
    • <=>
    • MongoDB
  • Management HTTP Traffic

nodes

which hold the gears that run applications, and

a broker

which manages the nodes and coordinates provisioning and app management, and

a message bus

to link the two together

Client applications like RHC and the web console interact with the broker via our REST API to manage applications, while developers directly push code to their gears in the nodes.

Flexible Capacity

Administrators can flexibly add and remove capacity for apps at the node level – bringing on new hardware (physical or virtual) to deal with increased demand. Multiple applications coexist on each node to maximize utilization and efficiency. In addition, inactive or rarely visited applications can be idled to preserve capacity and brought back in seconds to allow you to overcommit resources as needed.

Open and Extensible

Developers and solution architects can easily introduce new technologies, frameworks, services, and integrations to OpenShift via our public Cartridge API and the open source OpenShift Origin project.

Resilient to Failure

OpenShift is designed to keep applications available to visitors despite outages in the physical infrastructure or management layers. All persistent state is kept in a fast and reliable MongoDB cluster. For more information about running a highly available OpenShift deployment, get in touch with our reference architecture team.

Read more about the OpenShift platform

via

Tags: Linux Applications

Share!
Tweet

Yang

About the author

Leave a Reply Cancel reply

You must be logged in to post a comment.

Category

  • Home
  • pcDuino
  • WiKi
  • Store
  • Distributors