OpenShift and OpenStack are used to build scalable cloud platforms. When combined, the systems cover the entire range – from pro­vi­sion­ing vir­tu­al­ised hardware to de­vel­op­ing and operating con­tain­er­ised ap­plic­a­tions. OpenShift and OpenStack are popular with large, global or­gan­isa­tions to implement hybrid cloud strategies.

An overview of OpenShift vs. OpenStack

His­tor­ic­ally, OpenStack has been around longer than OpenShift. The evolution of the two projects is rep­res­ent­at­ive of the trans­ition from virtual machines to ap­plic­a­tion con­tain­ers. Container vir­tu­al­isa­tion has become the dominant vir­tu­al­isa­tion tech­no­logy over the past decade.

What are the sim­il­ar­it­ies and dif­fer­ences between OpenShift and OpenStack?

OpenShift and OpenStack are open-source projects that were created around 2010/2011. Both are used to build scalable systems in hybrid cloud en­vir­on­ments. They are pre­dom­in­antly employed by large, global or­gan­isa­tions and can be operated on a wide range of un­der­ly­ing computing in­fra­struc­tures.

Both platforms could be seen as a type of ‘cloud operating system’. OpenShift is used to develop and operate con­tain­er­ised ap­plic­a­tions. Users can provide, operate, and monitor ap­plic­a­tions and services them­selves, and focus on optimised de­vel­op­ment and DevOps workflows.

OpenStack, on the other hand, comes with a deeper level of ab­strac­tion. The platform is used to build a vir­tu­al­ised cloud in­fra­struc­ture on the basis of dis­trib­uted hardware. Virtual machines with CPU cores and RAM, as well as virtual networks and dis­trib­uted mass storage are pro­vi­sioned. Following the self-service model, users auto­mat­ic­ally request resources. Let’s take a look at how OpenShift vs. OpenStack are po­si­tioned in terms of their dif­fer­ences:

Feature OpenShift OpenStack
Man­u­fac­turer Red Hat OpenInfra Found­a­tion
Vir­tu­al­iz­sa­tion type Container vir­tu­al­iz­sa­tion Virtual machines or vir­tu­al­iz­sed hardware
Vir­tu­al­iz­sa­tion tech­no­logy K8s Hy­per­visor such as KVM, XEN, ESXi
Control level Dis­trib­uted Cent­ral­iz­sed
Service model Platform-as-a-Service (PaaS) In­fra­struc­ture-as-a-Service (IaaS)
Use of cloud resources Uses cloud resources to build the ap­plic­a­tion layer Provides cloud resources based on vir­tu­al­iz­sed hardware

How are OpenShift and OpenStack deployed?

With OpenStack, or­gan­isa­tions can build their own cloud en­vir­on­ments following the in­fra­struc­ture-as-a-Service (IaaS) model. An internal cloud similar to AWS and al­tern­at­ives can be created. OpenStack relies on dis­trib­uted hardware available through various in­ter­faces as a cloud resource.

In contrast, OpenShift handles the cent­ral­ised man­age­ment of ap­plic­a­tion de­vel­op­ment and op­er­a­tions. The software is based on Kuber­netes (K8s) and controls K8s clusters across cloud bound­ar­ies. Following the Platform-as-a-Service (PaaS) model, system functions can be operated via a web interface.

Although their names sound similar, OpenShift and OpenStack are not related. They can be used in­de­pend­ently. However, it is also possible to combine them. As part of a hybrid cloud strategy, OpenStack could be used to build a private cloud. OpenShift could then draw upon the resources contained within it to provide and manage ap­plic­a­tions and services. It is also possible to deploy OpenStack com­pon­ents on K8s or OpenShift clusters.

Let’s take a detailed look at the ad­vant­ages and dis­ad­vant­ages of the two tech­no­lo­gies, common de­ploy­ment scenarios and dif­fer­ences and sim­il­ar­it­ies.

OpenStack — the open platform

OpenStack is an open platform to build scalable cloud en­vir­on­ments. The software acts as a layer of ab­strac­tion on top of a de­cent­ral­ised hardware in­fra­struc­ture. Its core func­tion­al­ity is the provision and al­loc­a­tion of computing, network, and mass storage ca­pa­cit­ies. Following the In­fra­struc­ture-as-a-Service (IaaS) model, users can request the resources they require. In addition to mandatory APIs, a web interface is available for managing the system.

Beyond resource pro­vi­sion­ing, OpenStack offers other functions, including user identity man­age­ment, DNS entry man­age­ment, and a service to manage VM images. Con­veni­ently, the in­di­vidu­al functions are en­cap­su­lated as in­di­vidu­al com­pon­ents. There are over three dozen com­pon­ents in the current OpenStack version; usually not all of them are used in a single project. We provide a brief overview of the most important com­pon­ents:

OpenStack com­pon­ents Func­tion­al­ity De­scrip­tion
Nova Compute service Provision vir­tu­al­iz­sed CPU cores and memory.
Swift Object storage Store S3-like objects based on vir­tu­al­iz­sed, redundant mass storage.
Glance Image service Manage VM images for platform operation.
Horizon Web dashboard Users log in via the dashboard and manage the in­di­vidu­al system com­pon­ents from there.
Keystone Identity service Provide cross-system, API-based au­then­tic­a­tion and au­thor­iz­sa­tion of users.
Cinder Block storage Highly available, fail-safe mass storage, which works like a scalable cloud hard drive.
Neutron Network man­age­ment Manage the system’s Virtual Network In­fra­struc­ture (VNI).
Ironic “‘Bare metal”’ pro­vi­sion­ing Manage bare metal in­fra­struc­ture; en­com­passes the full lifecycle of bare metal machines, including ac­quis­i­tion, pro­vi­sion­ing, main­ten­ance, and de­com­mis­sion­ing.
Trove Database service Provision and manage scalable, reliable cloud databases.
Magnum Container or­ches­tra­tion Deploy container engines such as K8s and al­tern­at­ives based on virtual machines or bare metal in­fra­struc­ture.

What are the ad­vant­ages of OpenStack?

OpenStack helps or­gan­isa­tions to build their own cloud in­fra­struc­ture based on existing tech­no­logy. This results in huge cost savings because they do not need to start from scratch. OpenStack consists of in­di­vidu­al com­pon­ents, which are con­figured according to a company’s needs. It is an open-source software that is freely available. De­vel­op­ment and doc­u­ment­a­tion of the platform are pre­dom­in­antly driven by the OpenStack community.

What are the dis­ad­vant­ages of OpenStack?

Due to the complex nature of the software, in­stalling OpenStack is con­sidered chal­len­ging. The overall package includes a large number of in­di­vidu­al com­pon­ents, which have to be con­figured in­di­vidu­ally. Doc­u­ment­a­tion con­trib­uted by its community can lag behind its rapid de­vel­op­ment. Both of these dis­ad­vant­ages can be addressed by working with spe­cial­ists or tech partners. Such services will likely incur ad­di­tion­al costs. Since OpenStack is almost ex­clus­ively used for large-scale projects, users should budget ac­cord­ingly.

Which de­ploy­ment scenarios is OpenStack best suited for?

OpenStack is best suited for building cloud in­fra­struc­ture on de­cent­ral­ised computing hardware. The software performs extremely well when it comes to virtual machines (VM). In com­bin­a­tion with OpenShift or com­par­able K8s man­age­ment solutions, VM and container-based ap­plic­a­tions can be operated side by side. Container vir­tu­al­isa­tion with the ‘Magnum’ component now forms part of its range of native functions.

OpenShift — the most powerful ap­plic­a­tion and de­vel­op­ment platform

OpenShift is used to building dis­trib­uted, scaling ap­plic­a­tion and de­vel­op­ment en­vir­on­ments based on the Platform-as-a-Service (PaaS) model. The software provides a complete execution en­vir­on­ment in which con­tain­ers are deployed, executed, managed, and or­ches­trated. The in­teg­rated tools simplify modern de­vel­op­ment and de­ploy­ment workflows.

As a sub­struc­ture, OpenShift uses a special Kuber­netes (K8s) dis­tri­bu­tion. This can be deployed across cloud and in­fra­struc­ture bound­ar­ies, achieving a con­sist­ent user ex­per­i­ence. The K8s core func­tion­al­ity is com­ple­men­ted by security and mon­it­or­ing features and is based on cent­ral­ised policy man­age­ment. This ensures a high-quality standard across the software landscape of an entire or­gan­isa­tion. For the most part, OpenShift operators are used for im­ple­ment­a­tion:

OpenShift com­pon­ents Ex­plan­a­tion
OpenShift API Server The OpenShift API Server checks and con­fig­ures OpenShift resources, such as projects, routes, and templates.
OpenShift Con­trol­ler Manager The OpenShift Con­trol­ler Manager monitors etcd for changes to OpenShift objects, such as Projects, Routes, and Template Con­trol­ler objects, and uses the API to achieve the desired state.
OpenShift OAuth API Server The OpenShift OAuth API Server validates and con­fig­ures the data for au­then­tic­a­tion on the OpenShift Container Platform. This includes users, groups, and OAuth tokens.
OpenShift OAuth Server Users request a token from the OpenShift OAuth server to au­then­tic­ate against the API.

What are the ad­vant­ages of OpenShift?

OpenShift eases the op­er­a­tion­al com­plex­ity as­so­ci­ated with ad­min­is­ter­ing self-managed K8s clusters. Multiple K8s clusters can be centrally managed across public and private cloud in­fra­struc­tures. Following the PaaS approach, de­velopers can request resources for their projects via a web interface. In­teg­rated tools and workflows for con­tinu­ous in­teg­ra­tion and con­tinu­ous delivery (CI/CD) also form part of its portfolio of functions. This results in drastic­ally reduced delivery times.

OpenShift convinces with its in­teg­rated security measures. ‘Quay’ is its specially secured container registry. End-to-end au­thor­isa­tion and au­then­tic­a­tion limits user access to the in­di­vidu­al areas of the system. The ability to host in­di­vidu­al clusters in different geo­graph­ic regions makes for better com­pli­ance in terms of data pro­tec­tion and data sov­er­eignty.

What are the dis­ad­vant­ages of OpenShift?

OpenShift only runs on special operating systems from Red Hat, such as ‘Red Hat En­ter­prise Linux CoreOS’ (RHCOS) and ‘Red Hat En­ter­prise Linux’ (RHEL). The in­stall­a­tion is con­sidered extremely complex. For example, the setup for larger projects can take several weeks. Due to the strict security pre­cau­tions, specially secured container images from Red Hat's ‘Quay’ container registry are used.

Which de­ploy­ment scenarios is OpenShift best suited for?

On the basis of OpenShift, a business’s Platform-as-a-Service (PaaS), Software-as-a-Service (SaaS) and Container-as-a-Service (CaaS) solutions can be im­ple­men­ted. Clearly, OpenShift is geared towards large or­gan­isa­tions and is too complex for in­di­vidu­al de­velopers to deal with.

OpenShift vs. OpenStack — direct com­par­is­on

Feature OpenShift OpenStack
Source of software supply In addition to the en­ter­prise versions offered by Red Hat, OKD is a freely available community edition. The de­vel­op­ment of OpenStack is subject to the community, led by the OpenInfra Found­a­tion. In addition to the official, freely available version, major IT houses offer paid dis­tri­bu­tions.
De­ploy­ment model Multi- and hybrid cloud de­ploy­ments are possible, but may be complex to build. Using stand­ard­iz­sed de­ploy­ment mech­an­isms is worth­while. OpenStack is often operated “‘on-premises”’ using a company’s computing in­fra­struc­ture. Since de­ploy­ments are complex, cus­tom­iz­sed dis­tri­bu­tions from large providers are available, including dedicated support. There are also various cloud-based ap­proaches and managed solutions.
Supported cloud platforms When run as a self-managed solution, OpenShift can be used on virtually any in­fra­struc­ture. As a managed solution, the software runs on cloud platforms AWS, Azure, Google Cloud, and IBM Cloud. OpenStack runs on all cloud platforms in virtual machines, as well as on “‘bare metal”’ machines via hy­per­visor. Fur­ther­more, the com­pon­ents can be installed in container en­vir­on­ments of all major providers.
In­stall­a­tion Requires cluster or cloud en­vir­on­ment for in­stall­a­tion. OpenStack con­trol­lers are installed either on-premises, or on an in­fra­struc­ture provided by a vendor.
Releases Up to three releases per year. Two releases annually.
Update man­age­ment Updates are sim­pli­fied by the “‘Cluster Version Operator”’. Updates are complex and there’s a risk of damaging the system. Updates of the in­di­vidu­al com­pon­ents must be performed in a specific order.
Image man­age­ment Red Hat's “‘Quay”’ container registry contains container images scanned for vul­ner­ab­il­it­ies. The “‘Glance”’ component manages the VM images used in pro­vi­sion­ing the system.
Use of templates In addition to Open­Shift's templates, powerful “‘operators”’ are used to stand­ard­iz­se the de­ploy­ment and operation of ap­plic­a­tions. De­ploy­ment of OpenStack is fa­cil­it­ated and made re­pro­du­cible by industry tools such as Chef, Puppet, and Ansible. Fur­ther­more, helmet or charms-based tools exist for de­ploy­ment in con­tain­ers.
Network man­age­ment OpenShift supports software-defined net­work­ing (SDN), including overlay networks via Open vSwitch (OVS). OpenStack’s “‘Neutron”’ component provides SDN using the net­work­ing-as-a-service (NaaS) model.
Web interface OpenShift’s soph­ist­ic­ated, con­veni­ent web interface is con­sidered one of the best in the industry. With the “‘Horizon”’ dashboard, a proven web interface for managing OpenStack is available ex works.
In­teg­rated CI/CD pipeline While older versions still used “‘Jenkins”’, newer version use “‘Tekton”’ by default. Because the focus of OpenStack is primarily on pro­vi­sion­ing vir­tu­al­iz­sed resources, no dedicated CI/CD solution is in­teg­rated out of the box.
Learning curve OpenShift is con­sidered easier to handle than “‘naked”’ K8s. If a managed solution is used, the software can be used re­l­at­ively smoothly. Due to the com­plex­ity of OpenStack, the learning curve is steep. The large number of in­di­vidu­al com­pon­ents or addition of features may require ad­di­tion­al training.
Security features One of the main benefits of OpenShift are its extensive security features. The “‘Keystone”’ component provides basic user au­then­tic­a­tion and au­thor­iz­sa­tion functions.
En­ter­prise use The software is used by over two thousand or­gan­iz­sa­tions worldwide. Many large IT companies have special OpenShift solutions on offer. Major IT companies offer specific dis­tri­bu­tions and support for OpenStack. These include Red Hat, VMware, IBM, SUSE, Canonical, OVH, Rackspace, Mirantis, and Dell.
Go to Main Menu