Why Kubernetes isn't Ideal for Industrial Infrastructure

One of the most transformative technologies that have emerged in recent years is software containerization, which revolutionizes the way industrial companies develop, deploy, and manage their software solutions. Kubernetes is very useful for large, cloud-dependent workloads like web applications, but it is not optimal for smaller, more industrial-oriented workloads that must operate in complex, isolated environments.‍ In this article we explain why.

Technology
Written by:
David Purón

The Evolution of Industrial Infrastructure: From Physical to Virtual

If you opened a car hood 20 years ago, you would see hundreds of types of devices serving specific functions, connected by cables and pipes of all types and colours. The other day, my friend showed me her brand new Tesla Model S, and I was shocked when opening the hood: I could see just a small black box that she said was the brain of the car. The reason is simple and well-known: everything is software.

Industrial plants are no different; they are continuously replacing physical elements like PLCs, HMIs, robots, etc., with virtualized versions, improving efficiency and cost but also facing the constant challenge of managing extremely complex software environments they are not accustomed to.

One of the most transformative technologies that have emerged in recent years is software containerization, which revolutionizes how industrial companies develop, deploy, and manage their software solutions. Containerization is to software management what food trucks are to food delivery. Without food trucks, anyone wanting to sell food on the street would need to invest heavily in a fixed location, extensive kitchen equipment, and a large staff to run their operations. Then, food trucks came along, bringing flexibility, mobility, and efficiency to the food service industry.

"Containerization is to software management what food trucks are to food delivery: it brings flexibility, mobility, and efficiency."

Modern software, including logic controllers, data brokers, databases, visualization tools, and even AI models, can be packaged in a portable format called "containers." These containers are reused, installed, configured, accessed, and updated the same way regardless of what is inside the container, thus creating huge efficiencies and portability across different underlying infrastructures. Today, a team of a handful of engineers can manage thousands of containers distributed across several locations. But for this, you need a Container Management and Orchestration solution.

Among the different technologies for managing and orchestrating containers, Kubernetes, first announced by Google in June 2014 and released as an open-source project in July 2015, has undoubtedly become the most widely used container orchestration platform.

We frequently receive requests from industrial clients asking whether they should use Kubernetes to manage their Edge Software infrastructure in factories, electrical substations, water treatment plants, and other industrial deployments. They are often surprised when we discourage this, so I thought it would be a good idea to share our views on the rationale behind this.

Challenges of Using Kubernetes in Industrial Installations

Let me start by saying we love Kubernetes; it is an amazing tool that we use  to manage our software in the cloud. So why then not recommend it for industrial installations? Here are the reasons:

Cloud dependency:  All leading cloud providers offer managed Kubernetes services, leveraging their Platform as a Service features to simplify the process of getting started and further scaling. However, connecting industrial installations to the cloud is often unrealistic for security or regulatory compliance reasons, and the alternative of creating an on-premise Kubernetes cluster is full of hidden costs arising during the initial setup and ongoing maintenance.

Control: Kubernetes is designed to allow users to declare what they want without needing to know exactly how it will be achieved. You can specify, "I want to run two instances of this application," but you won't know where they will be running. While this is very powerful from the user's point of view, it is not ideal for the industrial sector. For instance, if you are running containers in energy substations, you need to know where these will be running, as each substation may have different configurations or context conditions. The industrial world is much more sensitive to resource control.

"The industrial world is much more sensitive to resource control, and Kubernetes' abstracted approach is not ideal for these environments."

Networking: Industrial environments have complex networking setups, and Kubernetes network abstractions do not integrate easily with the containers' own networking, making it complex to connect and manage containers with external industrial assets.

Learning curve: Kubernetes, while powerful and versatile, has a steep learning curve that can be challenging for non-IT savvy users. Its architecture requires a deep understanding to manage and deploy containerized applications effectively. This complexity increases when integrating with existing infrastructure and third-party tools.

Stability: Kubernetes was built in an IT-oriented culture, fostering engagement and continuous evolution with constant releases. While this constant evolution keeps the platform cutting-edge, it presents significant challenges for the industrial sector, which requires stability and consistency in operations.

In other words, Kubernetes is very useful for large, cloud-dependent workloads like web applications, but it is not optimal for smaller, more industrial-oriented workloads that must operate in complex, isolated environments.

"Kubernetes is great for large, cloud-dependent workloads, but it is not optimal for smaller, more industrial-oriented workloads that must operate in complex, isolated environments."

So what´s the alternative?

An Alternative to Kubernetes: Docker Native Edge Management

Years ago, we began developing our Edge Management and Orchestration platform using Docker native software rather than Kubernetes. Docker is the most used format for software containers, and Docker Inc. provides great tools such as Docker Compose and Docker Swarm, which offer additional scalability, orchestration, and availability features that go beyond pure container execution.

"Using Docker native software rather than Kubernetes, Barbara's platform offers similar features while overcoming the challenges of non-cloud, industrial environments."

Using these foundational tools, at Barbara, we have developed a container orchestration platform that offers features similar to Kubernetes but overcomes the challenges mentioned above, making it ideal for non-cloud, industrial environments.

Containers managed by Barbara platform, can be deployed on embedded small industrial PCs on-site with absolutely no cloud dependency. The platform provides users with full control over where and how the workloads will run, including advanced network features and protocol connectors that work out of the box in industrial plants. All this is done with the reliability and stability required by OT environments, with a simpler user experience that one customer called "the Apple of the Edge."

We are very much looking forward to seeing how Kubernetes technology evolves, and we will integrate it for our industrial projects as soon as it is ready to address thin-edge industrial scenarios. But in the meantime, we provide through Barbara’s platform an alternative for customers who want to use Kubernetes-like applications in environments that are not suitable for it. Kubernetes is great, but not for all cases, and especially not for localized workload orchestration in closed, mission-critical industrial environments.

About Barbara

With cybersecurity at heart, Barbara is the Industrial Edge Platform for organizations seeking to overcome the challenges of working with real time data applications in mission-critical environments.  

With Barbara companies can deploy, configure and maintain containers and AI models across thousands of devices in an easy fashion, with the autonomy, privacy and time-sensitivity that the cloud can´t match.

Keep abreast with Edge Computing.  View our recent webinar on "How to Maximizer your Edge Data: Transitioning from Connected Edge to an Intelligent Edge"