2. Introduction
● OpenShift Origin is an application platform where developers and teams can
build, test, deploy, and run their applications.
● Simply, OpenShift is open-source PAAS from Red Hat
3. Why OpenShift?
● You don't have to waste time in setting up environment.
● All you need to do is develop apps.
● To make life easier add webhooks to Jenkins, Github, etc.
● Provides a standard way for admins to resource monitoring, scaling,
application monitoring, performance, etc rather than spending time on setting
up environment.
6. Architecture
● Docker and Kubernetes are core components of OpenShift.
● Docker is core and Kubernetes is heart and kidney of OpenShift that keeps it
running.
● OpenShift runs on top of Kubernetes cluster, with data stored in etcd.
7. Things OpenShift adds to Kubernetes
● Source code management, builds, deployments.
● Managing and promoting images using Source to Image (S2I) and Internal
Docker Registry.
● OpenShift is more of developer facing and Kubernetes is more of operations
teams.
● Dedicated web console
● Team and User tracking for organizing a large developer organization.
● App management at scale.
9. Benefits of OpenShift over orchestration providers
● So when using Docker or Kubernetes directly you start with containerizing
your application i.e. build your own containers.
● But with OpenShift you don’t have to worry about it, OpenShift will build
containers for you.
● But if you want to run your own containers you can do that as well.
10. Demo!
● Building and deploying app on OpenShift
● Hexboard App https://github.com/2015-Middleware-Keynote/hexboard
11. Source to Image
● Source to Image, it downloads your code, detects the environment, builds the
code as a developer would do, on a base image specific to that environment,
if build is successful the image is pushed to internal OpenShift registry.
● Enables rapid deployment.
● Allows the underlying image to be up to date with somebody else managing it
for you.
12. OpenShift Router
● It’s a point of contact for external world.
● By default it is HAProxy based router, but OpenShift supports other routers as
well.
● It looks at the host header of incoming traffic and depending on it, the traffic
will be assigned to particular service and service will then pass it to pods.
● It can be deployed by cluster admin.
13. How do I get OpenShift?
● RED HAT Container Development Kit http://developers.redhat.
com/products/cdk/download/
● Atomic Developer Bundle https://github.com/projectatomic/adb-atomic-
developer-bundle/tree/master/components/centos/centos-openshift-setup
15. Learning about OpenShift
● OpenShift for Developers (free e-book)
● OpenShift Docs
● OpenShift Videos
● Free Video Course: “New, no-cost course: Deploying Containerized
Applications” http://developers.redhat.com/blog/2016/02/11/new-no-cost-
course-deploying-containerized-applications/
16. OpenShift offerings
● OpenShift Origin - OpenSource upstream project.
● OpenShift Online - A publicly hosted PAAS for individual developers or teams.
● OpenShift Dedicated - Deploy, manage and support OpenShift instances
running on AWS.
● OpenShift Enterprise - For organizations who want to deploy and manage
their OpenShift instances on their choice of on-premise hardware or certified
cloud provider.
17. References
● Red Hat Launches OpenShift Dedicated, Delivering its Container Application Platform as a Public Cloud Offering
https://www.redhat.com/en/about/press-releases/red-hat-launches-openshift-dedicated-delivering-its-container-
application-platform-public-cloud-offering
● What Is the OpenShift Architecture? https://docs.openshift.org/latest/architecture/index.html
● Red Hat’s contribution to Kubernetes http://www.slideshare.net/drettori/kube-12
● OpenShift 3 Walkthrough https://www.youtube.com/watch?v=yFPYGeKwmpk
● Using GitHub Webhooks on your local machine https://www.youtube.com/watch?v=--wNO4lV6WA
● Docker, Kubernetes, OpenShift: Deploy, Scale, Build - Ryan Jarvinen https://www.youtube.com/watch?
v=jRzYv7KaZKo
● S2I https://docs.openshift.com/enterprise/3.0/architecture/core_concepts/builds_and_image_streams.html#source-
build