Tools and Resources

Tools and Disciplines

There are a number of tools and techniques that will aid your software organization in quickly developing these key capabilities for release management.

Docker

As an emerging standard for cloud native application packaging, whether SaaS or on-prem, Docker is a key method for ensuring you’re delivering the same application artifacts not only to SaaS and on-prem environments, but also across specific on-prem release channels.

Kubernetes

Similar to docker, Kubernetes is quickly becoming 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.

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 and ytt gaining popularity.

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.