SyncTrix logoSyncTrix
All articles
Cloud11 min read

OpenShift vs plain Kubernetes: what you pay for

OpenShift is Kubernetes plus the six things every team builds anyway. Whether that is worth the licence depends on how many of them you have already built.

By Lena Voss
OpenShift vs plain Kubernetes: what you pay for

The OpenShift question is usually framed as a licensing decision, which is why it gets answered badly. OpenShift is Kubernetes with an opinionated set of components pre-integrated - build pipelines, image registry, ingress, monitoring, logging and an authentication model. If your team has already built and now maintains those six things on vanilla Kubernetes, you are being asked to pay for work you have done. If you have not, you are being asked to pay instead of doing it.

01What is actually in the box

Vanilla Kubernetes is a scheduler and an API. Everything a production platform needs beyond that - how images get built, where they are stored, how traffic reaches pods, how you know what is happening, who is allowed to do what - is left to you, and the ecosystem offers several credible answers for each.

OpenShift makes those choices and supports the result as one product. That is the entire value proposition, and it is worth being precise about it rather than treating it as a vague enterprise premium.

ConcernVanilla KubernetesOpenShift
Image buildsBring your own CIIntegrated builds and pipelines
RegistryExternal or self-runBuilt in
IngressChoose a controllerRoutes, pre-configured
MonitoringDeploy your own stackBundled and integrated
LoggingDeploy your own stackBundled and integrated
Identity / RBACWire to your IdPOAuth server included
What OpenShift bundles that vanilla Kubernetes leaves open

02The security defaults are the real difference

The change that surprises teams migrating from vanilla Kubernetes is not a feature - it is that OpenShift refuses to run containers as root by default. Security Context Constraints enforce this, and a large proportion of public container images assume root and therefore will not start.

This is correct behaviour and it is also genuine migration work. Every image needs to tolerate an arbitrary non-root UID, which usually means fixing file permissions in the Dockerfile and not writing to paths that require elevated access. Teams that budget for the platform migration and not for the image remediation are the ones whose timelines slip.

03Where OpenShift genuinely earns its cost

The clearest case is a regulated environment where the platform itself must be supportable and auditable. When a security questionnaire asks who patches the container runtime and what the response commitment is, 'we assembled it from upstream components' is a materially harder answer than naming a vendor with a support contract.

The second case is a small platform team supporting many application teams. The integration work OpenShift has already done is precisely the work that a two-person platform team cannot do well while also serving its internal customers. Buying that back is often cheaper than the headcount it would take to build and then keep maintaining it.

04Where it does not

If you have a mature platform team already running a considered stack - Argo, an ingress controller you understand, Prometheus and a logging pipeline that works - OpenShift asks you to replace working components with its equivalents. The migration cost is real and the end state is not obviously better for you.

The other poor fit is small-scale. OpenShift carries meaningful control-plane overhead, and for a handful of services a managed Kubernetes offering or something simpler will cost less and demand less attention. Platform sophistication should follow scale, not precede it.

05Operators are the part worth learning

The Operator pattern - encoding how to run a stateful application as a controller that watches custom resources - is where OpenShift's model pays off beyond the bundled components. Databases, message brokers and caches become declarative resources that handle their own upgrades, backups and failover.

This is available on any Kubernetes, but OpenShift's OperatorHub and lifecycle manager make it the default way to install things rather than an advanced technique. Teams that lean into it get materially less operational toil; teams that treat OpenShift as a place to run Deployments do not see the benefit they paid for.

06Costing it honestly

Compare total cost, not licence against zero. Vanilla Kubernetes has no licence and substantial ongoing cost: the engineers assembling and patching the stack, the incidents from integration gaps, and the opportunity cost of platform work that is not product work.

OpenShift has a licence cost, a higher baseline infrastructure footprint, and a smaller pool of engineers who know it well. That last one is a real hiring consideration and it belongs in the comparison rather than being discovered afterwards.

07If you migrate, sequence it this way

Remediate images for non-root execution first, in your existing cluster, where failures are cheap and you are not also debugging a new platform. This is the bulk of the work and it is entirely portable.

Then move a low-risk service, learn the routing and SCC model properly on something that does not page anyone, and only then move workloads that matter. The teams that struggle are the ones that treat it as a lift-and-shift and discover the security model during the cutover of a production service.

Topics

openshift vs kubernetesred hat openshift costopenshift migrationenterprise kubernetes platformopenshift operatorskubernetes platform engineering

Lena Voss

Lead Architect · SyncTrix

Writes about the engineering decisions behind production systems - architecture, delivery and the trade-offs that only show up at scale.

Building something like this?

SyncTrix engineers AI, SaaS, platform and cloud systems for enterprises and high-growth teams. Tell us what you're shipping and we'll scope it with you.