Solving the Problem of Installing Software on Kubernetes – On-Premises and on the Edge

Jason Bloomberg
 | 
Nov 10, 2021
Installing Kubernetes Edge

By Jason Bloomberg (@TheEbizWizard) – Intellyx  |  Part 3 of the Intellyx On-Prem Innovation Series

In the first two articles in this series (which you can find here and here), my colleague Jason English explained why many enterprises would prefer air gapped software installs over putting software in the cloud – or anywhere else it might reach the Internet.

This ‘on-premises on steroids’ approach to enterprise software clearly adds security – hackers can’t hack something they can’t reach – and addresses data sovereignty, regulatory control, and even cost issues compared to cloud-based alternatives.

Airgapped software installs don’t come without their own challenges, however – especially for software that is expecting Internet connectivity for updates and patches, access to certificates or key stores, integrations with third-party applications and data sources, or any number of other reasons why software might choke in an air gapped environment. 

Replicated has solved this problem by offering enterprises the ability to install even complex, multi-component enterprise applications on air gapped servers by pulling together all the pieces necessary for a turnkey installation that doesn’t require access to the Internet.

However, Replicated’s ability to support air gapped installs is only one specialized use-case of its technology. The vendor has addressed the broader challenge of installing any software in any combination of on-prem or cloud environments – a capability that is especially useful for software vendors who want to deploy their software in pre-configured Kubernetes installs.

Software Installer for Distributed Computing

The easiest way to get your head around what Replicated is doing is to think of a software installer for a PC. The desktop app developer has created all the various necessary components but contracts with a third-party installer vendor to create the installation app for its software.

Replicated does the same thing for distributed applications. It knows where the components go, what third-party elements it must find and install, and how to configure all the various environment bits, from runtime components to digital certificates to metadata.

When a vendor’s software installs directly on bare metal, installation may still be a complex, multistep process. However, it’s now becoming increasingly likely that a vendor’s software runs on Kubernetes.

As a result, installing that software has just become far more complicated. There are different flavors of Kubernetes, including bare metal on-prem alternatives and a variety of Kubernetes-as-a-Service (KaaS) offerings from major cloud vendors, VMware, and Red Hat.

In theory, all deployments of Kubernetes work the same, but in reality, there are numerous minor (and sometimes not so slight) differences that can stop a software install in its tracks. Replicated can resolve these differences, empowering a software vendor to guarantee that its product will install on Kubernetes – regardless of which flavor of Kubernetes its customer operates.

The Additional Value and Complexity of Bare Metal

Installing enterprise software into existing Kubernetes environments presents one set of challenges. Installing Kubernetes-dependent applications directly onto bare metal offers another.

For the most part, bare metal is bare metal – servers have different processor, memory, and storage configurations. Still, as long as its requirements are satisfied, ‘plain vanilla’ Kubernetes will install more or less the same way.

In the more general case, however, the vendor’s software requires some kind of configuration tweak or broader customization to Kubernetes (or one of its many ecosystem components). In such cases, a sophisticated installer like Replicated’s is beneficial, as both the Kubernetes install and the software installed on top have specialized needs.

Dealing with databases or other persistence technologies can be especially tricky because Kubernetes is inherently stateless. As a result, every Kubernetes deployment must be specially configured to access stateful resources, which might be running on the same servers or in the same data center. Still, it could just as easily be located in multiple data centers or one or more clouds.

Installing Enterprise Software on the Edge

As telcos and other service providers proceed with their buildout of edge computing (driven in large part by the rollout of 5G), the use cases for running Kubernetes on the edge increase dramatically.

Here is a typical scenario. A telco sets up a mini-data center at a cell tower or point of presence in an urban location. It runs a customized version of Kubernetes on bare metal in that ‘mini-cloud’ – customized to support the particular characteristics of the edge, including its distributed nature and low-latency use cases like AI inferencing at the edge.

In another, perhaps more common scenario, a large retailer runs a local Kubernetes instance on a ‘mini-cloud’ located on a server rack in the telco closet of every store. In this scenario, not only are space, power, and cooling severely constrained, but there’s no expectation that an IT professional be on-site. As a result, the entire stack from physical boxes to Kubernetes to the applications running on it must operate in an automated, lights-out mode.

Therefore, installing and updating both the applications and the Kubernetes infrastructure in these situations is both mission-critical and essentially hands-off. There is simply no way to provide the desired service levels without technology like Replicated’s.

Where Many Flowers Bloom

One final point of complexity: we are currently in the midst of rapid, disruptive innovation in the Kubernetes on the edge space. There are lightweight Kubernetes versions like K3s that developers have built explicitly for the edge. 

In the Kubernetes ecosystem are projects like the Akri edge Kubernetes Resource Interface, the Baetyl edge computing platform, the Project EVE Linux-based operating system for the edge, and the StarlingX cloud infrastructure stack for the edge – to name a few.

On top of all of these open source efforts are the work of the software vendors themselves, as they find ways to tweak Kubernetes and its ecosystem to support the vendor’s particular edge use cases.

As the various open source projects mature past the experimental stage and become established parts of the Kubernetes edge infrastructure, software vendors looking to build value-added products and services on the edge will find that Replicated simplifies what would otherwise be an extraordinarily difficult installation challenge.

To learn more about how Replicated can solve your application’s Kubernetes installation needs, please sign up for a demo today.

Copyright © Intellyx LLC. Replicated and Red Hat are current Intellyx customers, and VMware is a former Intellyx customer. None of the other organizations mentioned in this article are an Intellyx customer. Intellyx retains final editorial control of this article. Photo by Alan Tang on Unsplash