Kubeflow operators: lifecycle management for data science
by Rui Vasconcelos on 28 October 2020
Canonical, the publisher of Ubuntu, releases Charmed Kubeflow, a set of charm operators to deliver the 20+ applications that make up the latest version of Kubeflow, for easy consumption anywhere, from workstations to on-prem, public cloud, and edge.
> Visit Charmed-kubeflow.io to learn more.
Kubeflow, the ML toolkit on K8s
Kubeflow provides the cloud-native interface between Kubernetes, the industry standard for software delivery and operations at scale, and data science tools: libraries, frameworks, pipelines, and notebooks.
Machine learning pipelines on Kubernetes, with Kubeflow pipelines, enable factory-like processes for data science teams. Data scientists can experiment and build data pipelines on a single dashboard, while the underlying operations and infrastructure work are handled by Kubernetes administrators.
Having started initially as a project by engineers at Google and Microsoft, Kubeflow is rapidly growing in popularity as innovators like Bloomberg, Gojek, and Spotify become avid adopters.
> Learn more about what is Kubeflow?
The Kubeflow packaging problem
Despite the clear benefits of Kubeflow for ML operations, deploying, configuring, and maintaining Kubeflow is still hard.
The number of applications and potential scenarios makes it difficult for the Kubeflow community to provide a one-size-fits-all solution and, at the same time, leaving all config options to end-users means a huge barrier to adoption.
This topic has been central to discussions within the Kubeflow community, reaching a consensus that vendors, such as Canonical, should provide the “glue” between applications inside Kubeflow.
Given the complexity of configuring, integrating, and maintaining Kubeflow, Canonical has packaged each application inside Kubeflow using charms.
> Watch Canonical’s demo of Charmed Kubeflow in the Kubeflow community forum
What is Charmed Kubeflow? A highly configurable Kubeflow operator
Charmed Kubeflow is the set of charms that wrap the 20+ apps that make up the latest version of upstream Kubeflow, integrated.
Because Kubeflow is charmed as composable modules, the end-user can opt to deploy the full Kubeflow bundle (i.e all the apps of upstream, integrated just like upstream), or customize the deployment to specific needs.
Universal operators that work like a charm
Charms are open source universal operators, Python code that encapsulates a single application and the automation necessary to operate it. These charm operators define how the application should be installed, upgraded, and how it should interact with other applications.
Charms manage the full application lifecycle, from day-0 to day-N, are operated through Juju Operator Lifecycle Manager, and cover both cloud-native and legacy applications.
For standard applications such as mySQL, used in katib-db, charms are shared amongst several projects, leading to better quality and robustness. For Kubeflow specific apps, such as katib-db manager, charms follow the latest version of the upstream Kubeflow manifests.
Available on any Kubernetes!
Charmed Kubeflow is compatible with any conformant Kubernetes, including AKS, EKS, GKE, MicroK8s, Charmed Kubernetes, and any kubeadm-deployed cluster.
Charmed Kubeflow tightly integrates with Canonical’s Kubernetes solutions:MicroK8s, zero-ops K8s with self-healing high-availability and built-in Charmed Kubeflow;Charmed Kubernetes, highly-configurable K8s with automated operations.
> Try out Charmed Kubeflow on MicroK8s
That’s it! Contact us for more
Canonical provides a full set of Kubeflow services, supporting its customers from solution evaluation to day-2 operations.
These services span from on-site training to deployment on any conformant Kubernetes, to enterprise-grade support under Ubuntu Advantage for applications, and to fully-managed Kubeflow under Canonical’s managed apps.
> Contact us for a free architectural overview