3. 4
Public / Hybrid / Private / Virtualization / Bare Metal
OPENSHIFT PAAS
YOUR CHOICE OF INFRASTRUCTURE
4. 5
RHEL
Public / Hybrid / Private / Virtualization / Bare Metal
RHEL
RHEL
RHEL
• OpenShift is built on instances of
Red Hat Enterprise Linux (RHEL)
• OpenShift can run anywhere RHEL
can run
OPENSHIFT PAAS
RHEL IS THE FOUNDATION
5. 6
OpenShift Broker
– Management and Orchestration Engine
RHEL
Public / Hybrid / Private / Virtualization / Bare Metal
OpenShift Nodes
– Application Hosting Infrastructure
Broker (RHEL)
Node (RHEL)
Node (RHEL)
An OpenShift Broker Manages Multiple OpenShift Nodes
OPENSHIFT PAAS
COMPONENTS
6. 7
Broker (RHEL)
RHEL
Red Hat Enterprise Linux
Node
Public / Hybrid / Private / Virtualization / Bare Metal
Node (RHEL)
Node (RHEL)
A Node is an Instance of RHEL
OPENSHIFT PAAS
COMPONENTS
7. 8
RHEL
Red Hat Enterprise Linux
GEAR
Node
Public / Hybrid / Private / Virtualization / Bare Metal
GEAR GEAR
My
App
Her
App
His
App
Broker (RHEL)
Node (RHEL)
Node (RHEL)
OpenShift user applications run in containers called Gears
OPENSHIFT PAAS
COMPONENTS
8. 9
RHEL
Red Hat Enterprise Linux
GEAR
Node
Public / Hybrid / Private / Virtualization / Bare Metal
CGroups
CGroups
My
App
Broker (RHEL)
Node (RHEL)
Node (RHEL)
CGroups Resource Mgmt
•Sets upper bounds
•CPU
•Memory
•Disk
Gears use Linux CGroups
for Resource Management
RHEL6 provides a new kernel feature: control groups. Cgroups allow you to allocate
resources—such as CPU time, system memory, network bandwidth, or combinations of
these resources—among processes running on a system.
OPENSHIFT PAAS
COMPONENTS
9. 10
Software packaging concept that typically includes an
application and all of its runtime dependencies.
● Easy to deploy and portable
across host systems
● Isolates applications on a
host operating system. In RHEL,
this is done through:
– Control Groups (cgroups)
– kernel namespaces
– SELinux, sVirt, iptables
OPENSHIFT PAAS
LINUX CONTAINERS
13. 14
• Docker builds on Linux Containers, adds an
API, an image format and a delivery and
sharing model
• Docker provides aggregate packaging to bind
application and its runtime dependencies for
deployment into a Linux Container
OPENSHIFT PAAS
DOCKER
15. 17
LIBS
APP HOST OS
SERVER
HOST OS
SERVER
CONTAINER
OPERATIONS FOCUS
● HARDWARE
● OPERATING SYSTEM
● NETWORKING
● MONITORING
DEVELOPMENT FOCUS
● CODE
● APPLICATIONS
● LIBRARIES AND OTHER
DEPENDENCIES
● DATA STORE
CONTAINER
LIBS
APP
OPENSHIFT PAAS
CONTAINERS ENABLE CONTINOUS DELIVERY
16. 18
RHEL
Red Hat Enterprise Linux
SELinuxSELinux
SELinux
GEAR
Node
Public / Hybrid / Private / Virtualization / Bare Metal
My
App
Broker (RHEL)
Node (RHEL)
Node (RHEL)
SELinux Security
•“Jail” around Gear
•MAC instead of DAC
•Process/memory protection
•Pre-configured for you
Gears Use SELinux
for Pre-Configured NSA-Grade Security
OPENSHIFT PAAS
SECURITY
17. 19
RHEL
Red Hat Enterprise Linux
SELinux
GEAR
Node
Public / Hybrid / Private / Virtualization / Bare Metal
CGroups
GEAR IDLED
My
App
Her
App
Broker (RHEL)
Node (RHEL)
Node (RHEL)
OPENSHIFT PAAS
GEARS
Idle Gears can be “de-hydrated”
by the Openshift Broker
18. 20
RHEL
Red Hat Enterprise Linux
Node
Public / Hybrid / Private / Virtualization / Bare Metal
Broker (RHEL)
Node (RHEL)
Node (RHEL)
OpenShift Multi-tenancy provides density, efficiency, and
security
OPENSHIFT PAAS
MULTITENANCY
22. 24
RHEL
Red Hat Enterprise Linux
Node
Public / Hybrid / Private / Virtualization / Bare Metal
DEVELOPER
Broker (RHEL)
Node (RHEL)
Node (RHEL)
A developer creates
a new application
OpenShift creates a
GEAR
OPENSHIFT PAAS
DEVELOPMENT WORKFLOW
23. 25
RHEL
Red Hat Enterprise Linux
Node
Public / Hybrid / Private / Virtualization / Bare Metal
MY GEAR
DEVELOPER
cron
logs
sshd
Broker (RHEL)
Node (RHEL)
Node (RHEL)
REST
Web Console
Eclipse IDE
Cmd Line
Gears Created via Web, CLI,
Eclipse
RESTful call to Broker
OPENSHIFT PAAS
DEVELOPMENT WORKFLOW
25. 27
RHEL
Red Hat Enterprise Linux
Node
Public / Hybrid / Private / Virtualization / Bare Metal
JBoss
DEVELOPER
MY GEAR
cron
logs
sshd
Broker (RHEL)
Node (RHEL)
Node (RHEL)
REST
Web Console
Eclipse IDE
Cmd Line
Cartridges are how
OpenShift installs
Languages &
Middleware
OPENSHIFT PAAS
CARTRIDGES
26. 28
There are two types of cartridges:
● Web cartridges – Perl/PHP/JBoss EAP/Tomcat etc’
● Add-on cartridges – Mysql/MongoDB etc’
https://www.openshift.com/developers/technologies
All Openshift applications must have a web cartridge.
They handle web requests
OPENSHIFT PAAS
CARTRIDGE TYPES
29. 31
RHEL
Red Hat Enterprise Linux
Node
Public / Hybrid / Private / Virtualization / Bare Metal
JBoss
Code
GIT
Repo
DEVELOPER
GIT/SSH
MySQL
MY GEAR
cron
logs
sshd
Broker (RHEL)
Node (RHEL)
Node (RHEL)
REST
Web Console
Eclipse IDE
Cmd Line
Developer pushes
application code via
GIT source code
management system
OPENSHIFT PAAS
CODE, UPDATE & PUSH
31. 33
RHEL
Red Hat Enterprise Linux
Node
Public / Hybrid / Private / Virtualization / Bare Metal
JBoss
Code
Git
Repo
DEVELOPER
GIT/SSH
cron
jenkins
logs
sshd
MySQL
Jenkins
MY GEAR
Broker (RHEL)
Node (RHEL)
Node (RHEL)
REST
Web Console
Eclipse IDE
Cmd Line
Maven
OPENSHIFT PAAS
BUILD & TEST WITH MAVEN & JENKINS
33. 35
Real-world App Dev – PaaS across the life-cycle
Nodes
Dev
Dev QA Release Mgmt/Ops
Nodes
QA
Nodes
Production
G
it
G
it
G
it
G
it
G
it
OPENSHIFT PAAS
MULTIPLE ENV, SINGLE/MULTIPLE PLATFORMS
35. 37
✔ Openshift monitors resource requirements of a scalable
application and automatically allocates resources
accordingly
✔ When an application is scaled, a second cartridge, called
HAProxy, is added to the application (default gear)
✔ If an application's ratio of total number of gears to HAProxy
gears is ever greater than two, the routing function of the
HAProxy cartridge is disabled to the web cartridges
collocated on their gear.
OPENSHIFT PAAS
APPLICATION SCALING
36. 38
RHEL
Red Hat Enterprise Linux
Node
PRODUCTION INFRASTRUCTURE/CLOUD
MANY USERS
MySQL
MY AUTO-SCALED APP
JBosscron
logs
sshd
JBosscron
logs
sshd
JBosscron
logs
sshd
HA-Proxy
HTTP/S
Broker (RHEL)
Node (RHEL)
Node (RHEL)
OPENSHIFT PAAS
APPLICATION SCALING
37. 39
The same great experience
as today!
Users can leverage the
broad Docker ecosystem
https://marketplace.openshift.com
Deploy and manage
complex, n-tier, composite
apps.
Easier for Ops Teams to
manage.
Your trusted Datacenter
OS.
OPENSHIFT V3 – HIGH LEVEL