Enhancing Helm in the Software Distribution Life Cycle
In the five years since Helm was declared a top-level CNCF project in June 2018, it has become the industry’s preferred tool for defining, sharing and installing applications on Kubernetes.* But that sentence gets an asterisk because, for software vendors with paying customers, there are a lot of additional capabilities necessary to be successful. While Helm does its primary job of installing apps very well, Helm alone is not enough to handle the full life cycle of commercial software distribution.
The Market for Customer-Managed Software is Booming
The market for customer-managed software also continues to grow, despite conventional wisdom SaaS is not eating the world. A recent Dimensional Research report found that “79% of software companies report increased business for software installed into customer-managed environments. These companies also reported those customers generate more revenue than a similar SaaS customer.”
Why is this? Businesses and governments that care about data privacy and security tend to be willing to pay more for those qualities, and large organizations like those in finance, health care, pharmaceutical and government may even have practical and regulatory requirements that reinforce this approach. Addressing the concerns of these sectors is just good business. Despite what cloud-only vendors and service providers may say, not everyone wants to put their data in the hands of all their various vendors.
Many vendors are gravitating toward Helm as it provides mature tooling to establish reliable application installs, updates, and even rollbacks for their apps in customer-managed environments. Before Helm grew to its current level of popularity, most software creators had to build their own custom installers and painstakingly document prerequisites, requirements, steps and common issues. By automating and programmatically defining the installation process, Helm has grown in popularity with the ongoing contributions of many fine developers. We want to recognize its success in standardizing how applications get installed within many organizations.
Helm in Context of the Software Distribution Life Cycle
Building on Helm’s success, we’ve also come to realize that Helm can be enhanced, complemented and optimized. This is especially true for commercial software vendors who need to take ownership of more than just the installation process to satisfy the needs of their enterprise customers. While many are familiar with the software development life cycle (SDLC), many also haven’t thought as much about how that same software lives outside the development environment. The simple diagram below shows a virtuous circle of the commercial software distribution life cycle (an adapted version of Jim Collins’s flywheel concept.)
The Software Distribution Life Cycle
Each arc of the circle represents a distinct set of activities that software vendors should conscientiously pursue:
- Build better products, efficiently managing releases and innovation. Why it matters: The same research cited above shows 63% of ISVs say their customer-managed releases have feature lag of at least two weeks behind their SaaS functionality.
- Test and secure everything to reduce the risk of issues in customer instances. Why it matters: 68% of ISVs cite development and testing for different installation options (operating systems, containers, virtual machines, bare metal, etc.) as their biggest challenge.
- Sell more to an expanded addressable market, including on-premises and virtual private cloud. Why it matters: 47% of software companies admit losing revenue by exclusively offering SaaS services without an on-premises or self-managed option.
- Install faster with more predictable success in complex environments. Why it matters: 45% of ISVs say it typically takes more than a week to install their software for proof-of-concept or production deployments.
- Support efficiently to reproduce, resolve, or even avoid problems entirely. Why it matters: 47% of ISVs report that their developers have to stop developing to instead support issues in customer environments at least once a week.
- Measure what matters to gain actionable insights on your entire business. Why it matters: 41% of ISVs say they have more than five major versions of their apps still in active use in customer environments, putting even more strain on support.
And most critically, rinse and repeat the cycle to continuously improve their product and customer success!
How to Complement Helm for Commercial Software Success
Once you shift your mindset to think about the broad software distribution life cycle, it becomes immediately clear what we mean when we say Helm alone is not enough. Of those stages described, Helm is only focused on addressing the “install faster” piece, as it really only impacts installation and upgrades. If you think through the full spectrum of requirements, you’ll quickly see a whole host of additional capabilities needed to address common challenges. You’ll need to build or buy a distribution platform with a host of additional functionality for each stage, including:
- Build better with proven facilities for managing release channels, offer a customer-facing admin console GUI, distinguish prospect and paying customer accounts, create feature entitlement controls, and integrate with CI/CD.
- Test and secure everything in all common customer-representative environments, automate release testing, and build confidence in software supply chain security.
- Sell more by creating the capabilities to deploy in customer-managed resources and VPC, even reach air-gapped locations for the most security-conscious, high-value opportunities.
- Install faster with the ability to create an ideal K8s cluster for your application, pre-check the suitability of diverse environments, add a registry proxy and provide guardrails and automation for customers less comfortable with K8s and Helm.
- Support efficiently by adding the ability to source (redacted) bundles of configuration and diagnostic info, establish a mechanism for notifications, set up automated updates with semantic versioning, and offer Tier 2 and 3 environment support when required.
- Measure what matters by collecting sufficient telemetry data to get insights into customer instances, see adoption reporting, uptime and event history, and many more invaluable yet strangely often overlooked business metrics.
To be truly successful as a commercial software vendor, you need a fully comprehensive approach. In-house and open source software can cheat a bit since the application users are usually either employees of the same company as the developers or getting something for free and shouldn’t necessarily expect the same level of service from contributors. For every other scenario, let’s recognize that while Helm is great, we need to complement its role in the software distribution life cycle with advanced capabilities to make the whole customer application experience better.