The Cloud Native Computing Foundation (CNCF) voted to move Helm from underneath the wing of Kubernetes and into its own incubation-level hosted project. The move is set to allow Helm to prosper on its own as well as allow Kubernetes to maintain a focus on its evolution.
Matt Butcher, co-creator of Helm and principal software development engineer at Microsoft, said that the CNCF structure was an ideal place for Helm to grow. “If our only claim to fame is in riding the coattails of Kubernetes then we are not doing this in earnest,” he said.
Butcher said the move allows Helm to take advantage of structural pieces already in place at CNCF. “It was really the absolute most logical place for us to go and all of the pieces like the strict code of conduct and transferring of IP is ready out of the box,” he explained.
Helm is a package manager that was developed to support software built on Kubernetes. It acts as an operating system-level package manager that is tasked with putting things in the correct place for an application running on Kubernetes.
It does this through the use of charts, which is a collection of files that describe a related set of Kubernetes resources. Those charts are created as files that are laid out in a directory tree, which can then be packaged into data archives to be deployed.
The project counts more than 300 contributors and more than 800 contributors to the community charts. The project has produced 51 releases, 4,186 commits, and 1,935 forks.
CNCF cited a recent Kubernetes application survey that found 64 percent of app developers, operators, and ecosystem tool developers were using Helm to manage applications on Kubernetes.
Helm was initiated by Deis (which Microsoft acquired last year) in late 2015. It evolved into Kubernetes Helm after Deis’ work merged with a similar project Google was conducting on a Kubernetes deployment manager.
“It was funny,” Butcher said. “We presented Helm at an event, and right after some engineers from Google came over and said they were working on something similar … It definitely could have gone in a different direction, but instead we got together and figured out a way to take the best of both to form a better end project.”
One offshoot not expected to be part of the CNCF migration is the OpenStack-Helm project, which uses Helm charts to deploy OpenStack on Kubernetes. Butcher said that work on that project began about 18 months ago and was a great proof point in terms of the resiliency of Helm.
“That really helped us because they were the first to make us work on something very complex,” Butcher said, noting that the project is now part of the OpenStack community.
Shadow to Shadow
Helm joins other CNCF incubation projects like Prometheus, Containerd, Envoy, and Linkerd.
Butcher admitted that one of the biggest fears the Helm community had was the growing size of CNCF. The group, which operates under the Linux Foundation, counts 22 other projects in various support stages.
“We really did struggle and worry that we might get lost in the shuffle,” Butcher explained. “But we figured that if we continue to solve people’s problems we will be successful.
Kubernetes was the first project taken under the CNCF wing, and recently became the first CNCF project to hit graduation status.
“As Kubernetes focuses more on stability, CNCF gives Helm a new home to ensure the community’s needs will be met,” said CNCF COO Chris Aniszczyk, in a statement. “Helm has scaled their community with hundreds of contributors to its core and community charts, and we look forward to growing their community even further.”
Helm is one of several tools available for developers to help them build and deploy applications on Kubernetes. It’s most likened to Ksonnet, which is also an open source project developed by Heptio and Bitnami and housed within the Kubernetes project.
“We have stayed with our package manager mantra, while Ksonet has looked at it more like the Chef or Puppet model of empowering operators to take something and making it theirs,” Butcher said of the differences between Helm and Ksonnet. “We are focused on package, package, package.”
Ksonnet is being used by Kubeflow to enable the movement of workloads between development, test, and production environments. Kubeflow is an open source project that supports machine learning stacks on Kubernetes.
Butcher said this level of competition is good for all as it drives innovation and remains positive as long as it doesn’t break down to animosity. “We talk to them frequently and it’s a very cordial relationship,” he said of the Ksonnet community, noting that the two communities are looking at ways to use some of each other’s tools.