Build Your Own PaaS,
Just Like Red Hat's OpenShift
Diane Mueller dmueller@redhat.com
Cloud Ecosystem Evangelist & Origin Community Manager
dmueller@redhat.com
Twitter: @pythondj
http://openshift.github.io
2
Agenda
●
Cloud Vision @ RedHat
●
Why PaaS Matters
●
What is OpenShift?
●
OpenShift Architecture & Internals
●
Extending OpenShift with Cartridges
●
How do you like your PaaS?
●
The Road Ahead
●
HP & Red Hat Collaboration
5
6
How to Build an App
Old School vs. Today with PaaS
7
PaaS is the Future
*http://www.gartner.com/technology/research/cloud-computing/report/paas-cloud.jsp
8
Focus is still on delivering
Cloud Infrastructure
9
and managing expectations in the Cloud
10
New Cloud World Order
11
Infrastructure as a Service gives you
• Network, storage & compute as an on-demand service
• Basically, servers in the cloud
• You’re still on the hook to configure & manage the cloud & stack
“How do I use this?”
12
Software as a Service gives you
• An on-demand application
• Nothing to install or configure
“This is all my customers and users care about!”
13
Platform as a Service delivers
• Application run-time environment in the cloud
• Configures & manages both the cloud & stack for
your application
“The cloud is now useful!”
14
What is OpenShift?
`
The Next Generation
Open Source
Platform as a Service
for Applications in
the Cloud
15
origin
Public
Cloud
Service
On-
premise
or Private
Cloud
Software
Open
Source
Project
FLAVORS OF OPENSHIFT
16
OpenShift Online (http://openshift.com)
17
We're not the only ones using OpenShift
●
On Premise Private Clouds
●
Public Clouds
– For Enterprises
– For SaaS providers
– For Developers
●
Other Public PaaSes
Https://github.com/getupcloud/origin-server
18
OpenShift Origin on Github
http://openshift.github.io/
19
OpenShift Enterprise
ENTERPRISE IT MANAGED
●
Let developers have the benefits of self-service PaaS while IT
retains control for governance and compliance in a Private or
Hybrid Cloud
●
OpenShift Enterprise is designed to be deployed on top of and
run on Red Hat Enterprise Linux (RHEL).
20
What makes OpenShift different?
●
RHEL Platform
Support
●
SELinux-based
Secure Containers
for multi-tenancy
●
Extensible
Architecture
●
System Component
Redundancy for
High Availability
●
Automatic
Application Stack
Provisioning
●
Support for Java
EE 6
●
Choice of Cloud
Infrastructure,
Bare Metal, or
Desktop
●
Configurable
Deployment to
Support Enterprise
Requirements
●
Automatic
Application
Scaling
21
22
http://openshift.github.io/
23
24
Multiple, Diverse, Complex
Application Use Cases
●
Require more than just “Infrastructure”
●
Run on a diverse eco-system of application stacks
●
Need to be secure, compliant and well-managed
●
Scale or Fail
25
Infrastructure Layer
SaaS/Applications Layer
Infrastructure LayerInfrastructure Layer
Platform as a Service
fills out the Cloud Layer Cake
26
Infrastructure Layer
SaaS/Applications Layer
Infrastructure LayerInfrastructure Layer
Extend OpenShift with Cartridges
27
●
Expectation Management
●
Add a PaaS Layer to your Cloud
– Increases Interoperability
– Adds On-Demand, Self Service
– (Security+Privacy+Control ) = Compliance
PaaS
Languages, frameworks, web servers
Services: Data, Messaging, others
IaaS
Hypervisor/Infrastructure
28
OpenShift
Architecture &
Internals
29
Summary of Key Terms
Broker – Management host, orchestration of
Nodes
Node – Compute host containing Gears
Gear – Allocation of fxed memory, compute, and
storage resources for running applications
Cartridge – A technology/framework (PHP, Perl,
Java/JEE, Ruby, Python, MySQL, etc.) to build
applications
Application – Instantiation of a Cartridge
29
3030
Amazon EC2 Rackspace Bare Metal
OpenStack RHEV CloudStack
OpenShift Origin PaaS
Runs on IaaS
3131
OpenShift Origin Machines
Node
Broker
Broker
Broker
Node
Nodes are where User applications live.
An OpenShift Origin Broker can manage multiple nodes
3232
Broker
3333
Container Architecture
Gear
Node
Gear Gear Gear
CPU/Memory - C-Groups
Network - IPTables / Traffic control policies
Filesystem - Quota
Security - Unix permissions + SELinux policies
Filesystem - pam_namespace + Bind mounts
3434
Container Architecture
Gear
Node
Gear Gear Gear
CPU/Memory - C-Groups
Network - IPTables / Traffic control policies
Filesystem - Quota
Security - Unix permissions + SELinux policies
Filesystem - pam_namespace + Bind mounts
Pushed upstream:
libvirt-lxc
libvirt-sandbox-service
3535
Applications and Gears
Gear
Node
Gear
Jboss MariaDB Jboss
Gear
Node
Gear
User application
3636
Cartridges
JBoss
PHP
Python
Ruby
MariaDB
MongoDB
PostgreSQL
Community
Cartridges
Your cartridge
here
Etc.
3737
Scaling
JBoss JBoss
MariaDB
HAProxy
3838
Not yet HA but...
JBoss JBoss
MariaDB
HAProxy
3939
Pushing Updates
JBoss JBoss
HAProxy
Git + SSH
4040
Origin Release 2
Fedora 19 or RHEL 6.x
Get up and running
Vagrant
Puppet
Comprehensive guide
Ansible
http://openshift.github.io
41
Cartridges
Gear
Node
Gear Gear Gear
Application
JBoss MySql
42
• Database
• Language
• Daemon
• Load-balancer
• Key-value store
42
... on OpenShift
I want to run a ...
43
•Ability to act on cartridge lifecycle
events
•Expose HTTP/Web-socket ports
•Run your own binaries
•Communicate with other instances
•Create configuration files
•Access and create to environment variables
•Act on user specifies modes of operation
•Provide user a starting point
43
Cartridge API
44
More Complex Examples
44
• http://tinyurl.com/online-cartridges
• JBoss EWS:
• multiple versions of packaged software
• support for multiple java versions
• MySQL
• pub/sub database connections
• PHP My Admin
• one cartridge dependent on another
Deploying your own
OpenShift
where you want it when you want it!
We have a pre-built VM for you to check out today, and an installer is in the works for Origin 3.0 that will enable you to
install Origin on your own systems or confgure multiple Origin VMs into a distributed PaaS
46
How do you you like your PaaS?
http://openshift.github.io/documentation/oo_deployment_guide_puppet.html
https://mirror.openshift.com/pub/origin-server/release/2/images/openshift-origin.zip
47
48
49
50
"this isn't Gospel, but this is the gist"
https://github.com/openshift/origin-install
51 51
Amazon EC2 Rackspace Bare Metal
OpenStack RHEV CloudStack
OpenShift Origin PaaS
OpenShift Runs on IaaS
https://github.com/openshift/origin-dev-tools
52
OpenShift on OpenStack
53
OpenShift on OpenStack with Heat
●
Disk Image Builder –
to build the image
●
Heat – to orchestrate
the resources
●
OpenStack – to run
the infrastructure
54
Disk Image Builder
●
Produces images for a specific purpose
●
Uses a chroot and bind mounted /proc /sys /dev
●
Uses “elements” to alter how the image is built
●
Supports Ubuntu, Fedora, RHEL
55
Heat
●
An orchestration service to build multiple
composite cloud applications
●
Uses AWS CloudFormation template format
●
Interacts with OpenStack using native ReST API
to create infrastructure resources
– Instances, foating ips, volumes, security groups, users,
etc
56
Heat References
●
http://github.com/openstack/heat
●
http://github.com/openstack/diskimage-builder
●
http://wiki.openstack.org/wiki/Heat
The Road Ahead
It's all about
Collaboration & Community
58
Some of us are @RedHat
●
GitHub Avatars here..
59
Some are online..
60
Some are building clouds
●
On Premise/Private and Public
Clouds
– For Enterprises
– For SaaS providers
– For Developers
●
Public
Https://github.com/getupcloud/origin-server
61
OpenShift: Community of Collaborators
●
Contributors
●
Developers
●
Cloud Architects
●
DevOps
●
IT Managers
●
Partners
●
Solution Architects
●
Fellow Evangelists
+ = ?
● Nex Gen PaaS
● Heat Templates
● Cartridges
● UX
● Documentation
62
And all of us are in this together
63
Hanging Out on Google+
64
Contributing on Github
●
https://github.com/openshift/origin-server/network/members
65
OpenShift Contributor Guidelines
●
https://github.com/openshift/origin-
server/blob/master/CONTRIBUTING.md
●
Apache V2 License
●
It's a Meritocracy
– Start with Bug Fixes
– Volunteer to do Code Reviews
– Extend the ecosystem with Cartridges & Quick Starts
– Test!
– Document
– Evangelize!
66 66
It's Open Source! Get Involved!
Github:
openshift/origin-server
openshift/rhc
openshift/puppet-openshift_origin
openshift/openshift-pep
openshift/openshift-extras
Quickstarts & Cartridges
Mailing Lists: dev@lists.openshift.redhat.com
IRC freenode.net, #openshift-dev
Deploy, Extend, Contribute!
67
●
Google+ Community
https://plus.google.com/communities/114361859072744017486
●
E-Mail
●
OpenShift Users: users@lists.openshift.redhat.com
●
Origin Developers: dev@lists.openshift.redhat.com
●
IRC: irc.freenode.net
●
OpenShift Users: #openshift
●
Origin Developers: #openshift-dev
Communication Channels
Questions?
Thank you!
For more information:
http://openshift.com
dmueller@redhat.com

Build Your Own PaaS, Just like Red Hat's OpenShift from LinuxCon 2013 New Orleans CloudOpen