Is Red Hat OpenShift a Middleware Software?

Latest response

Is OpenShift or any other orchestrator such as Kubernetes or Docker a middleware software? Or the mentioned software using to deploy middleware software in PaaS?

This is Red Hat definition:

"Middleware is software that provides common services and capabilities to applications outside of what’s offered by the operating system. Data management, application services, messaging, authentication, and API management are all commonly handled by middleware.
Middleware helps developers build applications more efficiently. It acts like the connective tissue between applications, data, and users.
For organizations with multi-cloud and containerized environments, middleware can make it cost-effective to develop and run applications at scale."


No, I don't think so.

Middleware is something like JBoss or WebSphere. They provide an entire development environment which lets you write business applications. They include lots of libraries for common tasks like web services, messaging, persistence, clustering, etc. These things will be useful to business application authors and remove the need to get libraries from third parties or to write ones' own libraries.

Container platforms like Podman or Docker provide an execution environment where you can run your application. From a plain execution perspective, it doesn't matter whether the application is written with middleware or not. You could write the application in bash or assembly language if you really wanted. The container platform is interested only in running the application process separated from the container host via Linux kernel namespaces.

Kubernetes and k8s distributions like OpenShift provide orchestration for containers. These allow you to automate the provisioning of your application into a userspace library and application image (a "container repository" in Podman terms), and they manage deployment/scaling across the whole container execution environment, plus other management things like permissions and software defined networking.