SlideShare a Scribd company logo
OpenShift Community Day
           Internals
    Bill DeCoste
    Principal Software Engineer
    wdecoste@redhat.com




1
RUNS ON IaaS




    OpenShift Origin is a PaaS that runs on top of..... Infrastructure



        Amazon EC2            Rackspace           Bare Metal


         OpenStack              RHEV              VMWare




2
BROKER




    An OpenShift Broker can manage multiple node hosts.


                      Nodes are where User Applications live.

    Fedora/RHEL        Fedora/RHEL          Fedora/RHEL

    Brokers              Node                  Node




3
BROKER



    The Broker is responsible for state, DNS, and authentication.




4
SELINUX




                  SELinux Policies securely subdivide
                  the Node instances.


    Fedora/RHEL                    Fedora/RHEL

    Brokers          Node            Node




5
GEARS




                  OpenShift GEARS represent secure
                  containers in RHEL


    Fedora/RHEL                  Fedora/RHEL

    Brokers          Node          Node




6
CARTRIDGES
                                             Web Console
                                             Eclipse IDE
                                             Cmd Line




                  MYSQL     JBOSS




    Fedora/RHEL                     Fedora/RHEL

    Brokers          Node             Node




7
CARTRIDGES




      Java      MySQL

      PHP       Postgres         CUSTOM
       Python     Etc.
        Ruby

        Etc.



    OpenShift Default
       Cartridges




8
SCALING




                   HA-Proxy




           Code       Code    Code

           Java      Java     Java




    RHEL

                    MySQL




9
COMMUNICATION



     Communication from external clients occurs through the REST API
     The Broker then communicates through the messaging service to nodes




10
HTTP FLOW




11
COMPLETE PICTURE




12
Easy to install on Fedora 18
●
     Using Vagrant and Puppet
     ●
         http://www.krishnaraman.net/installing-openshift-origin-using-vagrant-and-puppet/


     Also install on Fedora 17
     ●
         Using kickstart
         ●
             http://www.krishnaraman.net/building-a-multi-node-openshift-origin-paas-from-
             source/




13
GET INVOLVED!
                                      CHANNELS



     ●
             G+ 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



14
GET INVOLVED!
                                       CHANNELS



     ●
         Forums
         http://openshift.redhat.com/community/forums/openshift

     ●
         Blogs
         https://openshift.redhat.com/community/blogs/

         http://mattoncloud.org/

         http://www.billdecoste.net

         http://www.krishnaraman.net

         http://cloud-mechanic.blogspot.com




15
GET INVOLVED!
                                          OPENSOURCE



     ●
             GitHub: https://github.com/openshift
         ●
             Origin: origin-server
         ●
             Internal Extensions: li
         ●
             OSE: enterprise-server
         ●
             Community Cartridges: origin-community-cartridges
             ●
                 https://github.com/jwhonce/origin-server/tree/dev/cartridge_refactor
         ●
             Quickstarts, Examples
         ●
             Watch, Star, Contribute!!!




16

More Related Content

PDF
How to Launch a Public PaaS with OpenSource: The GetUpCloud & OpenShift Orgin...
PDF
Putting Private Clouds to Work with PaaS Interop Vegas 2013 presentation by D...
PDF
Social IRC bots in the Cloud with OpenShift - Mongo London presentation by Ma...
PDF
How OpenShift SDN helps to automate
ODP
Build a PaaS with OpenShift Origin
PDF
OpenShift in your own backyard - DevConf CZ 2021
PPT
OpenShift Origin: Build a PaaS Just Like Red Hats
PPT
Openshift + Openstack + Fedora = Awesome
How to Launch a Public PaaS with OpenSource: The GetUpCloud & OpenShift Orgin...
Putting Private Clouds to Work with PaaS Interop Vegas 2013 presentation by D...
Social IRC bots in the Cloud with OpenShift - Mongo London presentation by Ma...
How OpenShift SDN helps to automate
Build a PaaS with OpenShift Origin
OpenShift in your own backyard - DevConf CZ 2021
OpenShift Origin: Build a PaaS Just Like Red Hats
Openshift + Openstack + Fedora = Awesome

What's hot (20)

ODP
From Zero to Cloud: Revolutionize your Application Life Cycle with OpenShift ...
PDF
Build Your Own PaaS, Just like Red Hat's OpenShift from LinuxCon 2013 New Orl...
PPTX
"Look Ma, no hands! Zero Touch Provisioning for OpenShift" DevConf.US 2021
PDF
[Devconf.cz][2017] Understanding OpenShift Security Context Constraints
PDF
Testing kubernetes and_open_shift_at_scale_20170209
PDF
Red Hat Forum Benelux 2015
ODP
Putting The PaaS in OpenStack with Diane Mueller @RedHat
PPTX
Open shift enterprise 3.1 paas on kubernetes
PDF
OpenShift 4 installation
PDF
Building Domain-specific PaaS with OpenShift Origin: The TRESOR Healthcare P...
ODP
Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...
ODP
DevOps, PaaS and the Modern Enterprise CloudExpo Europe presentation by Diane...
PDF
OpenShift In a Nutshell - Episode 01 - Introduction
PPTX
HP Advanced Technology Group: Docker and Ansible
PDF
OpenShift and next generation application development
PDF
Deploying WSO2 Middleware on Kubernetes
ODP
An OpenShift Primer for Developers to get your Code into the Cloud (PTJUG)
ODP
5 ways to install @OpenShift in 5 minutes (Lightening Talk given at #DevConfC...
PPTX
Docker for PHP Developers - Jetbrains
From Zero to Cloud: Revolutionize your Application Life Cycle with OpenShift ...
Build Your Own PaaS, Just like Red Hat's OpenShift from LinuxCon 2013 New Orl...
"Look Ma, no hands! Zero Touch Provisioning for OpenShift" DevConf.US 2021
[Devconf.cz][2017] Understanding OpenShift Security Context Constraints
Testing kubernetes and_open_shift_at_scale_20170209
Red Hat Forum Benelux 2015
Putting The PaaS in OpenStack with Diane Mueller @RedHat
Open shift enterprise 3.1 paas on kubernetes
OpenShift 4 installation
Building Domain-specific PaaS with OpenShift Origin: The TRESOR Healthcare P...
Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...
DevOps, PaaS and the Modern Enterprise CloudExpo Europe presentation by Diane...
OpenShift In a Nutshell - Episode 01 - Introduction
HP Advanced Technology Group: Docker and Ansible
OpenShift and next generation application development
Deploying WSO2 Middleware on Kubernetes
An OpenShift Primer for Developers to get your Code into the Cloud (PTJUG)
5 ways to install @OpenShift in 5 minutes (Lightening Talk given at #DevConfC...
Docker for PHP Developers - Jetbrains
Ad

Viewers also liked (17)

PDF
6 dsp matematik tahun 2
PPTX
Survey into video games behaviors v3
DOC
Fairy tails 1
PDF
Dsp d seni visual tahun 2 tambahbaik feb 2013
PDF
Dsp p moral tahun 1 penambahbaikaN jan 2013
PDF
3 standard prestasi bahasa cina sk tahun 2 05012012
PDF
surat pekeliling -bil1-2011 penambahbaikan upsr
PDF
OpenShift Origin Community Day (Boston) Welcome & Resources by Diane Mueller
PDF
surat pekeliling -bil2-2011 penambahbaikan pmr
PDF
Dsp b iban tahun 1 tambahbaik feb 2013
PDF
17 dsp bahasa inggeris sjk tahun 2
PDF
Putting Drupal in the Cloud with Red Hat's OpenShift PaaS #DrupalCon/Prague
ODP
OpenShift & SELinux with Dan Walsh @rhatdan
ODP
DevOps @ OpenShift Online
PDF
OpenShift Overview Presentation by Marek Jelen for Zurich Geeks Event
ODP
OpenShift PaaS Anywhere (Infrastructure.Next Ghent 2014-02-24) Diane Mueller
PPTX
Héberger vos applications web grâce à openshift cloud
6 dsp matematik tahun 2
Survey into video games behaviors v3
Fairy tails 1
Dsp d seni visual tahun 2 tambahbaik feb 2013
Dsp p moral tahun 1 penambahbaikaN jan 2013
3 standard prestasi bahasa cina sk tahun 2 05012012
surat pekeliling -bil1-2011 penambahbaikan upsr
OpenShift Origin Community Day (Boston) Welcome & Resources by Diane Mueller
surat pekeliling -bil2-2011 penambahbaikan pmr
Dsp b iban tahun 1 tambahbaik feb 2013
17 dsp bahasa inggeris sjk tahun 2
Putting Drupal in the Cloud with Red Hat's OpenShift PaaS #DrupalCon/Prague
OpenShift & SELinux with Dan Walsh @rhatdan
DevOps @ OpenShift Online
OpenShift Overview Presentation by Marek Jelen for Zurich Geeks Event
OpenShift PaaS Anywhere (Infrastructure.Next Ghent 2014-02-24) Diane Mueller
Héberger vos applications web grâce à openshift cloud
Ad

Similar to OpenShift Origin Internals (20)

PDF
Ose mod march11
PDF
Codemotion 2012 Rome - An OpenShift Primer
PDF
OpenShift Primer - get your business into the Cloud today!
ODP
Welcome to the @OpenShift Origin Community by Diane Mueller @pythondj @redhat
ODP
OpenShift Anywhere given at Infrastructure.Next Talk at #Scale12X
PDF
Agile NCR 2013- Shekhar Gulati - Open shift platform-for-rapid-and-agile-deve...
PDF
Containers - Portable, repeatable user-oriented application delivery. Build, ...
PDF
Rodando *qualquer coisa* na nuvem com OpenShift, o PaaS open source da Red Hat
PDF
CoreOS automated MySQL Cluster Failover using Galera Cluster
PDF
The Source Control Landscape
PDF
Techtalks: taking docker to production
PDF
JOSA TechTalk: Taking Docker to Production
ODP
Why Docker? Dayton PHP, April 2017
PDF
AWS Summit Singapore 2019 | Latest Trends for Cloud-Native Application Develo...
PDF
Linux Containers and Docker SHARE.ORG Seattle 2015
PDF
NLUUG Spring 2012 - OpenShift Primer
PDF
Introdução ao OpenShift, o PaaS open source da Red Hat
PPTX
Core os dna_oscon
PDF
OpenVZ Linux containers
PDF
OpenShift meetup Bangalore
Ose mod march11
Codemotion 2012 Rome - An OpenShift Primer
OpenShift Primer - get your business into the Cloud today!
Welcome to the @OpenShift Origin Community by Diane Mueller @pythondj @redhat
OpenShift Anywhere given at Infrastructure.Next Talk at #Scale12X
Agile NCR 2013- Shekhar Gulati - Open shift platform-for-rapid-and-agile-deve...
Containers - Portable, repeatable user-oriented application delivery. Build, ...
Rodando *qualquer coisa* na nuvem com OpenShift, o PaaS open source da Red Hat
CoreOS automated MySQL Cluster Failover using Galera Cluster
The Source Control Landscape
Techtalks: taking docker to production
JOSA TechTalk: Taking Docker to Production
Why Docker? Dayton PHP, April 2017
AWS Summit Singapore 2019 | Latest Trends for Cloud-Native Application Develo...
Linux Containers and Docker SHARE.ORG Seattle 2015
NLUUG Spring 2012 - OpenShift Primer
Introdução ao OpenShift, o PaaS open source da Red Hat
Core os dna_oscon
OpenVZ Linux containers
OpenShift meetup Bangalore

More from OpenShift Origin (9)

ODP
Deploying & Scaling OpenShift on OpenStack using Heat - OpenStack Seattle Mee...
PDF
Human Face of Cloud Computing Cyber Summit 2013 Diane Mueller Red Hat OpenShi...
PDF
LatinoWare 2013 An OpenSource Blueprint for Cloud presented by Diane Mueller,...
PDF
OpenShift PaaS Overviewi by Marek Jelen 03-2013 CodeMotion Roma
PDF
Bringing Some Spatial Love to your Application with OpenShift - Mongo Berlin ...
PDF
LinuxCon 2013 Steven Dake on Using Heat for autoscaling OpenShift on Openstack
PDF
OpenShift Origin Community Day (Boston) Extending OpenShift Origin: Build You...
PDF
Putting Private Clouds to Work with PaaS Interop 2013 Vegas Diane Mueller
ODP
Introduction to OpenShift Origin- Private, Public and Community
Deploying & Scaling OpenShift on OpenStack using Heat - OpenStack Seattle Mee...
Human Face of Cloud Computing Cyber Summit 2013 Diane Mueller Red Hat OpenShi...
LatinoWare 2013 An OpenSource Blueprint for Cloud presented by Diane Mueller,...
OpenShift PaaS Overviewi by Marek Jelen 03-2013 CodeMotion Roma
Bringing Some Spatial Love to your Application with OpenShift - Mongo Berlin ...
LinuxCon 2013 Steven Dake on Using Heat for autoscaling OpenShift on Openstack
OpenShift Origin Community Day (Boston) Extending OpenShift Origin: Build You...
Putting Private Clouds to Work with PaaS Interop 2013 Vegas Diane Mueller
Introduction to OpenShift Origin- Private, Public and Community

Recently uploaded (20)

PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Electronic commerce courselecture one. Pdf
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Approach and Philosophy of On baking technology
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPT
Teaching material agriculture food technology
PPTX
A Presentation on Artificial Intelligence
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
Cloud computing and distributed systems.
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
NewMind AI Monthly Chronicles - July 2025
Diabetes mellitus diagnosis method based random forest with bat algorithm
Electronic commerce courselecture one. Pdf
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Approach and Philosophy of On baking technology
Building Integrated photovoltaic BIPV_UPV.pdf
Review of recent advances in non-invasive hemoglobin estimation
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Understanding_Digital_Forensics_Presentation.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing
“AI and Expert System Decision Support & Business Intelligence Systems”
Teaching material agriculture food technology
A Presentation on Artificial Intelligence
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
NewMind AI Weekly Chronicles - August'25 Week I
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Cloud computing and distributed systems.

OpenShift Origin Internals

  • 1. OpenShift Community Day Internals Bill DeCoste Principal Software Engineer wdecoste@redhat.com 1
  • 2. RUNS ON IaaS OpenShift Origin is a PaaS that runs on top of..... Infrastructure Amazon EC2 Rackspace Bare Metal OpenStack RHEV VMWare 2
  • 3. BROKER An OpenShift Broker can manage multiple node hosts. Nodes are where User Applications live. Fedora/RHEL Fedora/RHEL Fedora/RHEL Brokers Node Node 3
  • 4. BROKER The Broker is responsible for state, DNS, and authentication. 4
  • 5. SELINUX SELinux Policies securely subdivide the Node instances. Fedora/RHEL Fedora/RHEL Brokers Node Node 5
  • 6. GEARS OpenShift GEARS represent secure containers in RHEL Fedora/RHEL Fedora/RHEL Brokers Node Node 6
  • 7. CARTRIDGES Web Console Eclipse IDE Cmd Line MYSQL JBOSS Fedora/RHEL Fedora/RHEL Brokers Node Node 7
  • 8. CARTRIDGES Java MySQL PHP Postgres CUSTOM Python Etc. Ruby Etc. OpenShift Default Cartridges 8
  • 9. SCALING HA-Proxy Code Code Code Java Java Java RHEL MySQL 9
  • 10. COMMUNICATION Communication from external clients occurs through the REST API The Broker then communicates through the messaging service to nodes 10
  • 13. Easy to install on Fedora 18 ● Using Vagrant and Puppet ● http://www.krishnaraman.net/installing-openshift-origin-using-vagrant-and-puppet/ Also install on Fedora 17 ● Using kickstart ● http://www.krishnaraman.net/building-a-multi-node-openshift-origin-paas-from- source/ 13
  • 14. GET INVOLVED! CHANNELS ● G+ 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 14
  • 15. GET INVOLVED! CHANNELS ● Forums http://openshift.redhat.com/community/forums/openshift ● Blogs https://openshift.redhat.com/community/blogs/ http://mattoncloud.org/ http://www.billdecoste.net http://www.krishnaraman.net http://cloud-mechanic.blogspot.com 15
  • 16. GET INVOLVED! OPENSOURCE ● GitHub: https://github.com/openshift ● Origin: origin-server ● Internal Extensions: li ● OSE: enterprise-server ● Community Cartridges: origin-community-cartridges ● https://github.com/jwhonce/origin-server/tree/dev/cartridge_refactor ● Quickstarts, Examples ● Watch, Star, Contribute!!! 16

Editor's Notes

  • #10: And, once the application is launched within the OpenShift PaaS, OpenShift provides the elasticity expected in a Cloud Application Platform by automatically scaling the application as needed to meet demand. When created, applications can be flagged as “Scalable” (some apps may not want to be scaled). When OpenShift sees this flag, it creates an additional Gear and places an HA-Proxy software load-balancer in front of the application. The HA-Proxy then monitors the incoming traffic to the application. When the number of connections to the application crosses a certain pre-defined threshold, OpenShift will then horizontally scale the application by replicating the application code tier of the application across multiple Gears. For JBoss applications, OpenShift will scale the application using JBoss Clustering which allows stateful or stateless applications to be scaled gracefully. For Ruby, PHP, Python, and other script-oriented languages, the application will need to be designed for stateless scaling where the application container is replicated across multiple gears. The Database tier is not scaled in OpenShift today. Automatic application scaling is a feature that is unique to OpenShift among the popular PaaS offerings that are out there. Automatic scaling of production applications is another example of how OpenShift applies automation technologies and a cloud architecture to make life better for both IT Operations and Development. <next slide>
  • #12: OpenShift Origin - Port Proxy Linux handles the loopback interface's 127.0.0.0/8 address block specially: A request from an address in this block can only go to an address in the same block (put another way, a connection on the loopback interface is confined to the loopback interface). OpenShift uses this fact to contain hosted applications: a gear is prohibited by iptables from listening on an external network interface, and so a given gear can only respond to connections that come from processes on the same node. For the common case of Web connections, the system Apache instance acts as a reverse proxy, forwarding requests that come in on the external interface to the appropriate 127.x.y.z address; see the documentation on the node component. However, sometimes gears need to accept other types of connections. The two most common such scenarios are the following: A gear needs to connect to another gear (which may be on the same node or another node). A gear needs to listen for connections on a public interface besides HTTP connections to port 80. For example, a game server needs to expose a port to receive incoming connections from clients, and a database needs to expost a port so that other gears can connect to it. To meet these needs, OpenShift uses haproxy to proxy TCP connections between an external-facing network interface and the loopback interface. Each gear is assigned five exposable ports, and the gear may establish a forwarding rule for each of these ports to forward connections on the the port on the external interface to an arbitrary port on the gear's assigned loopback address. To provide haproxy with adequate ports, we shift the ephemeral port range down to 15000-35530, so that Linux will not use ports outside of this range for connections for which no port is given explicitly. This means that ports 35531-65535 will be available for haproxy's exclusive use. Note: Given that each gear is assigned 5 ports, this imposes a limit of 6000 gears per node. The interaction with haproxy is implemented on the cartridge side in cartridges/openshift-origin-cartridge-abstract/abstract/info/lib/network and: OpenShift Origin - Node Component Hosted applications are run in containers called "gears." These gears are run on hosts (which can be physical hosts or virtual machines) called "nodes." Each node runs a system Apache instance with mod_proxy that listens on port 80 on a public-facing network interface. Each gear is assigned an address in the 127.0.0.0/8 block, and a hosted Web application listens on port 8080 on its assigned private 127.x.y.z address. When a Web client requests a URL for a hosted Web application, the request goes to the node's system Apache instance. The system Apache instance examines the virtual-host header (the "Host:" HTTP header) and dispatches the request to the 127.x.y.z:8080 private address of the appropriate gear. For an explanation of how connections other than regular HTTP connections are handled, see the documentation on the port-proxy.