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­ized hardware to de­vel­op­ing and operating con­tainer­ized ap­pli­ca­tions. OpenShift and OpenStack are popular with large, global or­ga­ni­za­tions to implement hybrid cloud strate­gies.

An overview of OpenShift vs. OpenStack

His­tor­i­cal­ly, OpenStack has been around longer than OpenShift. The evolution of the two projects is rep­re­sen­ta­tive of the tran­si­tion from virtual machines to ap­pli­ca­tion con­tain­ers. Container vir­tu­al­iza­tion has become the dominant vir­tu­al­iza­tion tech­nol­o­gy over the past decade.

What are the sim­i­lar­i­ties 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­vi­ron­ments. They are pre­dom­i­nant­ly employed by large, global or­ga­ni­za­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­tainer­ized ap­pli­ca­tions. Users can provide, operate, and monitor ap­pli­ca­tions and services them­selves, and focus on optimized 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­ized 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 au­to­mat­i­cal­ly 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­tur­er Red Hat OpenInfra Foun­da­tion
Vir­tu­al­iza­tion type Container vir­tu­al­iza­tion Virtual machines or vir­tu­al­ized hardware
Vir­tu­al­iza­tion tech­nol­o­gy K8s Hy­per­vi­sor such as KVM, XEN, ESXi
Control level Dis­trib­uted Cen­tral­ized
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­pli­ca­tion layer Provides cloud resources based on vir­tu­al­ized hardware

How are OpenShift and OpenStack deployed?

With OpenStack, or­ga­ni­za­tions can build their own cloud en­vi­ron­ments following the in­fra­struc­ture-as-a-Service (IaaS) model. An internal cloud similar to AWS and al­ter­na­tives 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 cen­tral­ized man­age­ment of ap­pli­ca­tion de­vel­op­ment and op­er­a­tions. The software is based on Ku­ber­netes (K8s) and controls K8s clusters across cloud bound­aries. 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­pen­dent­ly. 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­pli­ca­tions and services. It is also possible to deploy OpenStack com­po­nents on K8s or OpenShift clusters.

Let’s take a detailed look at the ad­van­tages and dis­ad­van­tages of the two tech­nolo­gies, common de­ploy­ment scenarios and dif­fer­ences and sim­i­lar­i­ties.

OpenStack — the open platform

OpenStack is an open platform to build scalable cloud en­vi­ron­ments. The software acts as a layer of ab­strac­tion on top of a de­cen­tral­ized hardware in­fra­struc­ture. Its core func­tion­al­i­ty is the provision and al­lo­ca­tion of computing, network, and mass storage ca­pac­i­ties. 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­ve­nient­ly, the in­di­vid­ual functions are en­cap­su­lat­ed as in­di­vid­ual com­po­nents. There are over three dozen com­po­nents 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­po­nents:

OpenStack com­po­nents Func­tion­al­i­ty De­scrip­tion
Nova Compute service Provision vir­tu­al­ized CPU cores and memory.
Swift Object storage Store S3-like objects based on vir­tu­al­ized, 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­vid­ual system com­po­nents from there.
Keystone Identity service Provide cross-system, API-based au­then­ti­ca­tion and au­tho­riza­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­pass­es the full lifecycle of bare metal machines, including ac­qui­si­tion, pro­vi­sion­ing, main­te­nance, 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­ter­na­tives based on virtual machines or bare metal in­fra­struc­ture.

What are the ad­van­tages of OpenStack?

OpenStack helps or­ga­ni­za­tions to build their own cloud in­fra­struc­ture based on existing tech­nol­o­gy. This results in huge cost savings because they do not need to start from scratch. OpenStack consists of in­di­vid­ual com­po­nents, which are con­fig­ured according to a company’s needs. It is an open-source software that is freely available. De­vel­op­ment and doc­u­men­ta­tion of the platform are pre­dom­i­nant­ly driven by the OpenStack community.

What are the dis­ad­van­tages of OpenStack?

Due to the complex nature of the software, in­stalling OpenStack is con­sid­ered chal­leng­ing. The overall package includes a large number of in­di­vid­ual com­po­nents, which have to be con­fig­ured in­di­vid­u­al­ly. Doc­u­men­ta­tion con­tributed by its community can lag behind its rapid de­vel­op­ment. Both of these dis­ad­van­tages 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­clu­sive­ly used for large-scale projects, users should budget ac­cord­ing­ly.

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

OpenStack is best suited for building cloud in­fra­struc­ture on de­cen­tral­ized computing hardware. The software performs extremely well when it comes to virtual machines (VM). In com­bi­na­tion with OpenShift or com­pa­ra­ble K8s man­age­ment solutions, VM and container-based ap­pli­ca­tions can be operated side by side. Container vir­tu­al­iza­tion with the “Magnum” component now forms part of its range of native functions.

OpenShift — the most powerful ap­pli­ca­tion and de­vel­op­ment platform

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

As a sub­struc­ture, OpenShift uses a special Ku­ber­netes (K8s) dis­tri­b­u­tion. This can be deployed across cloud and in­fra­struc­ture bound­aries, achieving a con­sis­tent user ex­pe­ri­ence. The K8s core func­tion­al­i­ty is com­ple­ment­ed by security and mon­i­tor­ing features and is based on cen­tral­ized policy man­age­ment. This ensures a high-quality standard across the software landscape of an entire or­ga­ni­za­tion. For the most part, OpenShift operators are used for im­ple­men­ta­tion:

OpenShift com­po­nents Ex­pla­na­tion
OpenShift API Server The OpenShift API Server checks and con­fig­ures OpenShift resources, such as projects, routes, and templates.
OpenShift Con­troller Manager The OpenShift Con­troller Manager monitors etcd for changes to OpenShift objects, such as Projects, Routes, and Template Con­troller 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­ti­ca­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­ti­cate against the API.

What are the ad­van­tages of OpenShift?

OpenShift eases the op­er­a­tional com­plex­i­ty as­so­ci­at­ed 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­vel­op­ers can request resources for their projects via a web interface. In­te­grat­ed tools and workflows for con­tin­u­ous in­te­gra­tion and con­tin­u­ous delivery (CI/CD) also form part of its portfolio of functions. This results in dras­ti­cal­ly reduced delivery times.

OpenShift convinces with its in­te­grat­ed security measures. “Quay” is its specially secured container registry. End-to-end au­tho­riza­tion and au­then­ti­ca­tion limits user access to the in­di­vid­ual areas of the system. The ability to host in­di­vid­ual clusters in different ge­o­graph­ic regions makes for better com­pli­ance in terms of data pro­tec­tion and data sov­er­eign­ty.

What are the dis­ad­van­tages 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­stal­la­tion is con­sid­ered 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­ment­ed. Clearly, OpenShift is geared toward large or­ga­ni­za­tions and is too complex for in­di­vid­ual de­vel­op­ers to deal with.

OpenShift vs. OpenStack — direct com­par­i­son

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 Foun­da­tion. In addition to the official, freely available version, major IT houses offer paid dis­tri­b­u­tions.
De­ploy­ment model Multi- and hybrid cloud de­ploy­ments are possible, but may be complex to build. Using stan­dard­ized de­ploy­ment mech­a­nisms 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­tomized dis­tri­b­u­tions from large providers are available, including dedicated support. There are also various cloud-based ap­proach­es 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­vi­sor. Fur­ther­more, the com­po­nents can be installed in container en­vi­ron­ments of all major providers.
In­stal­la­tion Requires cluster or cloud en­vi­ron­ment for in­stal­la­tion. OpenStack con­trollers 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­vid­ual com­po­nents must be performed in a specific order.
Image man­age­ment Red Hat’s “Quay” container registry contains container images scanned for vul­ner­a­bil­i­ties. The “Glance” component manages the VM images used in pro­vi­sion­ing the system.
Use of templates In addition to OpenShift’s templates, powerful “operators” are used to stan­dard­ize the de­ploy­ment and operation of ap­pli­ca­tions. De­ploy­ment of OpenStack is fa­cil­i­tat­ed and made re­pro­ducible 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 so­phis­ti­cat­ed, con­ve­nient web interface is con­sid­ered one of the best in the industry. With the “Horizon” dashboard, a proven web interface for managing OpenStack is available ex works.
In­te­grat­ed 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­ized resources, no dedicated CI/CD solution is in­te­grat­ed out of the box.
Learning curve OpenShift is con­sid­ered easier to handle than “naked” K8s. If a managed solution is used, the software can be used rel­a­tive­ly smoothly. Due to the com­plex­i­ty of OpenStack, the learning curve is steep. The large number of in­di­vid­ual com­po­nents 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­ti­ca­tion and au­tho­riza­tion functions.
En­ter­prise use The software is used by over two thousand or­ga­ni­za­tions worldwide. Many large IT companies have special OpenShift solutions on offer. Major IT companies offer specific dis­tri­b­u­tions and support for OpenStack. These include Red Hat, VMware, IBM, SUSE, Canonical, OVH, Rackspace, Mirantis, and Dell.
Go to Main Menu