1 by
Syed M Shaaf
Solution Architect
Red Hat
sshaaf@redhat.com
2 by
Cloud Service Models
STORAGE
(RHS)
HARDWARE
(x86, Power, S/390)
VIRTUALIZATION
(RHEV)
OPERATING SYSTEM
(RHEL)
APPLICATION PLATFORM
(JBOSS, PHP, RUBY, ETC)
APPLICATION
Automated and Managed
by the Public or Private
Cloud Offering
Managed and Controlled
by Customer (IT, Dev, or
User)
IaaS PaaS SaaS
Increased Control
Increased Automation
3 by
PaaS = Platform as a Service
A Cloud Application Platform
Code Deploy Enjoy
Save Time and Money
Code your app
Push-button
Deploy, and
your App is
running in
the Cloud!
4 by
5 by
Today’s IT Challenge
6 by
OpenShift
is
PaaS by Red Hat
Multi-language,
Auto-Scaling,
Self-service,
Elastic,
Cloud Application Platform
7 by
Developers Choose How To Work with
OpenShift
Developer IDE
Integrations
Web Browser
Console
Command Line
Tooling
REST APIs
8 by
OpenShift’s Intuitive and “Responsive”
Web Console Runs on Any Device
9 by
Are You a Command-Line Fan?
OpenShift’s RHC CLI Tools
1.Create App
rhc app create -a javasample -t jbossas-7
2.Add MongoDB
rhc app cartridge add -a javasample –c mongodb-2.0
3.Add add EAR file to your deployments directory
cd javasample
cp /path/to/ear/earfilename.ear ./deployments
1.Add the EAR file to git
git add ./deployments/earfilename.ear
2.Push your code
git push
3.Done
10 by
And, of Course, a Powerful JBoss Dev
Studio IDE Integration
11 by
Developers Choose Languages,
Frameworks and Middleware
12 by
13 by
Why OpenShift?
1. Strength. OpenShift is built on proven Red Hat
technologies.
2. Freedom. In OpenShift, work the way you want.
• Choice of Interface: Web Console, Command-line, or IDE
• Choice of Middleware: Java(EE6), Ruby, Node.js, PHP, Python, and
Perl
• Choice of Cloud: Public, Private, or Hybrid Cloud
• Choice of Elasticity: Automatic application scaling when needed
1. Openness. OpenShift’s open source software stack
ensures application portability and No Lock-In.
14 by
Let’s Take a Look…
15 by
How OpenShift Works
POWERED BY
OPENSHIFT
16 by
OpenShift is a PaaS on top of…
Infrastructure
AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal
17 by
The Foundation of OpenShift is
Red Hat Enterprise Linux
RHEL RHEL RHEL
OpenShift is Built on Instances of
Red Hat Enterprise Linux (RHEL)
RHEL
AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal
18 by
An OpenShift Broker Manages
Multiple OpenShift Nodes
Nodes are where User Applications live.
Brokers keep OpenShift running.
Brokers Node Node Node
RHEL RHEL RHELRHEL
AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal
19 by
Unique SELinux Approach Enables
Security and Multi-tenancy
RHEL RHEL
SELinux Policies securely subdivide
the Node instances.
Broker Node Node Node
RHEL
AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal
20 by
OpenShift User Applications
Run in OpenShift Gears
RHEL RHEL
OpenShift GEARS represent secure
containers in RHEL
Broker Node Node Node
RHEL
AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal
21 by
RHEL RHEL
Broker Node Node
RHEL
AWS / CloudForms / OpenStack / Any VIRT Hyper-visor! / Bare Metal
22 by
Developer
Workflow
RHEL RHEL
A Developer creates a
new application 
OpenShift creates a
GEAR
Web Console
Eclipse IDE
Cmd Line
Broker Node Node Node
RHEL
OpenShift
Gear
AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal
23 by
OpenShift Automates
Gear Configuration
via Cartridges
RHEL RHEL
CARTRIDGES are how
OpenShift installs
Languages & Middleware
Web Console
Eclipse IDE
Cmd Line
Broker Node Node Node
RHEL
AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal
JBoss MySQL
24 by
OpenShift Cartridge System
Enables User-Built Cartridges
Developers can add custom
language, data-store, or
middleware with with a custom
Cartridge.
CUSTOMEtc.
Etc.
Ruby
Python
PHP
Java
Postgres
MySQL
OpenShift Default
Cartridges
AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal
25 by
Now, Code and Push
RHEL RHEL
Developer pushes
application code via
GIT source code
management system
Git Protocol / ssh
Broker Node Node Node
RHEL
Push
AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal
JBoss
Code
Git
Repo MySQL
26 by
OpenShift Automates
Build, Test, Publish
RHEL RHEL
Broker Node Node Node
RHEL
AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal
Jenkins
(CI)
Maven
(Builds) Apache
(HTTP)
Code
JBoss
Git
Repo
MySQL
27 by
OpenShift Automates
Application Scaling!
Broker Node Node Node
RHEL
HA-Proxy MySQLJava
Cod
e
Java
Cod
e
Java
Code
AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal
28 by
Real-world App Dev
– Multi Environments, Single PaaS
Brokers
Nodes
RHEL
Dev DISTRICT
Nodes
QA DISTRICT
Nodes
Prod DISTRICT
Dev QA Release Mgmt
G
it
G
it
G
it
G
it
G
it
29 by
Real-world App Dev
– Multi Environments, multiple PaaSes
Nodes
Dev
Dev QA Release Mgmt
Nodes
QA
Nodes
Prod
G
it
G
it
G
it
G
it
G
it
30 by
OpenShift Automates the
IT Assembly Line
POWERED BY
OPENSHIFT
AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal
31 by
[stack@localhost openshift-origin-cartridge-nodejs]$ find -type f
./hooks/{ pre, post}
./env/OPENSHIFT_NODEJS_PID_DIR.erb
./env/OPENSHIFT_NODEJS_LOG_DIR.erb
./logs/.gitkeep
./openshift-origin-cartridge-nodejs.spec
./usr/template/index.html
./usr/template/server.js
./usr/template/.openshift/action_hooks/README.md
./usr/template/package.json
./usr/template/README.md
./usr/template/node_modules/.gitkeep
./usr/template/deplist.txt
./metadata/locked_files.yml
./metadata/manifest.yml
./metadata/jenkins_shell_command.erb
./versions/0.6/configuration/node.env
./versions/0.6/configuration/npm_global_module_list
./bin/setup
./bin/control
./bin/install
Demystified: Cartridge structure:
Can I make my own?
32 by
Choice of Public, Private, or
Open Hybrid Clouds
33 by
Choice of Public, Private, or
Open Hybrid Clouds
34 by
Choice of Public, Private, or
Open Hybrid Clouds
35 by
References
- http://www.openshift.com
- http://www.redhat.com/products/cloud-computing/openshift-enterprise/
- https://www.openshift.com/developers/cartridge-authors-guide
Contributions:
Part of slide deck originally presented by
Dan Juengst – Product Marketing, Red Hat
36 by
Thank You
Questions?

OpenShift and next generation application development

  • 1.
    1 by Syed MShaaf Solution Architect Red Hat sshaaf@redhat.com
  • 2.
    2 by Cloud ServiceModels STORAGE (RHS) HARDWARE (x86, Power, S/390) VIRTUALIZATION (RHEV) OPERATING SYSTEM (RHEL) APPLICATION PLATFORM (JBOSS, PHP, RUBY, ETC) APPLICATION Automated and Managed by the Public or Private Cloud Offering Managed and Controlled by Customer (IT, Dev, or User) IaaS PaaS SaaS Increased Control Increased Automation
  • 3.
    3 by PaaS =Platform as a Service A Cloud Application Platform Code Deploy Enjoy Save Time and Money Code your app Push-button Deploy, and your App is running in the Cloud!
  • 4.
  • 5.
  • 6.
    6 by OpenShift is PaaS byRed Hat Multi-language, Auto-Scaling, Self-service, Elastic, Cloud Application Platform
  • 7.
    7 by Developers ChooseHow To Work with OpenShift Developer IDE Integrations Web Browser Console Command Line Tooling REST APIs
  • 8.
    8 by OpenShift’s Intuitiveand “Responsive” Web Console Runs on Any Device
  • 9.
    9 by Are Youa Command-Line Fan? OpenShift’s RHC CLI Tools 1.Create App rhc app create -a javasample -t jbossas-7 2.Add MongoDB rhc app cartridge add -a javasample –c mongodb-2.0 3.Add add EAR file to your deployments directory cd javasample cp /path/to/ear/earfilename.ear ./deployments 1.Add the EAR file to git git add ./deployments/earfilename.ear 2.Push your code git push 3.Done
  • 10.
    10 by And, ofCourse, a Powerful JBoss Dev Studio IDE Integration
  • 11.
    11 by Developers ChooseLanguages, Frameworks and Middleware
  • 12.
  • 13.
    13 by Why OpenShift? 1.Strength. OpenShift is built on proven Red Hat technologies. 2. Freedom. In OpenShift, work the way you want. • Choice of Interface: Web Console, Command-line, or IDE • Choice of Middleware: Java(EE6), Ruby, Node.js, PHP, Python, and Perl • Choice of Cloud: Public, Private, or Hybrid Cloud • Choice of Elasticity: Automatic application scaling when needed 1. Openness. OpenShift’s open source software stack ensures application portability and No Lock-In.
  • 14.
  • 15.
    15 by How OpenShiftWorks POWERED BY OPENSHIFT
  • 16.
    16 by OpenShift isa PaaS on top of… Infrastructure AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal
  • 17.
    17 by The Foundationof OpenShift is Red Hat Enterprise Linux RHEL RHEL RHEL OpenShift is Built on Instances of Red Hat Enterprise Linux (RHEL) RHEL AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal
  • 18.
    18 by An OpenShiftBroker Manages Multiple OpenShift Nodes Nodes are where User Applications live. Brokers keep OpenShift running. Brokers Node Node Node RHEL RHEL RHELRHEL AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal
  • 19.
    19 by Unique SELinuxApproach Enables Security and Multi-tenancy RHEL RHEL SELinux Policies securely subdivide the Node instances. Broker Node Node Node RHEL AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal
  • 20.
    20 by OpenShift UserApplications Run in OpenShift Gears RHEL RHEL OpenShift GEARS represent secure containers in RHEL Broker Node Node Node RHEL AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal
  • 21.
    21 by RHEL RHEL BrokerNode Node RHEL AWS / CloudForms / OpenStack / Any VIRT Hyper-visor! / Bare Metal
  • 22.
    22 by Developer Workflow RHEL RHEL ADeveloper creates a new application  OpenShift creates a GEAR Web Console Eclipse IDE Cmd Line Broker Node Node Node RHEL OpenShift Gear AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal
  • 23.
    23 by OpenShift Automates GearConfiguration via Cartridges RHEL RHEL CARTRIDGES are how OpenShift installs Languages & Middleware Web Console Eclipse IDE Cmd Line Broker Node Node Node RHEL AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal JBoss MySQL
  • 24.
    24 by OpenShift CartridgeSystem Enables User-Built Cartridges Developers can add custom language, data-store, or middleware with with a custom Cartridge. CUSTOMEtc. Etc. Ruby Python PHP Java Postgres MySQL OpenShift Default Cartridges AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal
  • 25.
    25 by Now, Codeand Push RHEL RHEL Developer pushes application code via GIT source code management system Git Protocol / ssh Broker Node Node Node RHEL Push AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal JBoss Code Git Repo MySQL
  • 26.
    26 by OpenShift Automates Build,Test, Publish RHEL RHEL Broker Node Node Node RHEL AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal Jenkins (CI) Maven (Builds) Apache (HTTP) Code JBoss Git Repo MySQL
  • 27.
    27 by OpenShift Automates ApplicationScaling! Broker Node Node Node RHEL HA-Proxy MySQLJava Cod e Java Cod e Java Code AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal
  • 28.
    28 by Real-world AppDev – Multi Environments, Single PaaS Brokers Nodes RHEL Dev DISTRICT Nodes QA DISTRICT Nodes Prod DISTRICT Dev QA Release Mgmt G it G it G it G it G it
  • 29.
    29 by Real-world AppDev – Multi Environments, multiple PaaSes Nodes Dev Dev QA Release Mgmt Nodes QA Nodes Prod G it G it G it G it G it
  • 30.
    30 by OpenShift Automatesthe IT Assembly Line POWERED BY OPENSHIFT AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal
  • 31.
    31 by [stack@localhost openshift-origin-cartridge-nodejs]$find -type f ./hooks/{ pre, post} ./env/OPENSHIFT_NODEJS_PID_DIR.erb ./env/OPENSHIFT_NODEJS_LOG_DIR.erb ./logs/.gitkeep ./openshift-origin-cartridge-nodejs.spec ./usr/template/index.html ./usr/template/server.js ./usr/template/.openshift/action_hooks/README.md ./usr/template/package.json ./usr/template/README.md ./usr/template/node_modules/.gitkeep ./usr/template/deplist.txt ./metadata/locked_files.yml ./metadata/manifest.yml ./metadata/jenkins_shell_command.erb ./versions/0.6/configuration/node.env ./versions/0.6/configuration/npm_global_module_list ./bin/setup ./bin/control ./bin/install Demystified: Cartridge structure: Can I make my own?
  • 32.
    32 by Choice ofPublic, Private, or Open Hybrid Clouds
  • 33.
    33 by Choice ofPublic, Private, or Open Hybrid Clouds
  • 34.
    34 by Choice ofPublic, Private, or Open Hybrid Clouds
  • 35.
    35 by References - http://www.openshift.com -http://www.redhat.com/products/cloud-computing/openshift-enterprise/ - https://www.openshift.com/developers/cartridge-authors-guide Contributions: Part of slide deck originally presented by Dan Juengst – Product Marketing, Red Hat
  • 36.