Tools and Resources

Tools and Disciplines

There are a number of tools and techniques that will aid your software organization in distributing Modern On-prem Software.

Kubernetes

Kubernetes has quickly become the standard for orchestrating packaged applications. Defining your application as Kubernetes manifests is a great way to deliver to your own cloud-native infrastructure, while also ensuring you’ll be ready to deploy to a Kubernetes-based Modern On-prem environment.

Helm

Helm is the most common package manager for Kubernetes applications. As such, many enterprises are familiar with deploying Helm charts into their environments. Helm allows vendors to template common configuration options as well as many other useful features.

Operators

Kubernetes Operators have become popular ways to distribute lower-level Kubernetes applications that often need to orchestrate several instances of an application within a single cluster. Operators are then responsible for maintaining the lifecycle of those instances.

Kustomize

When packaging for kubernetes, there are many options for groups several Kubernetes manifests. The most popular by far is Helm, with other options like kustomize. While Helm is great for 1st-party application delivery, it often falls short when delivering an application to a third party (and to any on-prem environment).

12-factor

The principles behind 12-factor apps are valuable when shipping a cloud-native application, although some ideas like “config should always be in environment variables” have fallen out of favor due to security concerns. Among some of the most valuable principles for delivering reliable, self-healing applications are disposability and concurrency.

Swappable External Components

We dive into great detail in minimizing the if is_onprem: ... statements in an application in our guide on swappable external components.

Modern On-prem Tools for Vendors

Join the Community

If you’re interested in this topic (agree or disagree), we’d love to have you join the community.