Why the Kale SDK?
As a reminder Kale provides the ability to convert Jupyter Notebook code on a Notebook Server within Kubernetes into Kubeflow Pipelines from the Jupyter Notebooks UI. This powerful functionality allows Data Scientists and MLOps engineers the ability to deploy their own Kubeflow Pipelines on their own. You can explore Kale and these concepts in depth in the Kale 101 Course. Expanding the functionality with the Kale SDK extends these benefits to Python code developers who are working on projects outside of Notebooks and still want to take advantage of Kale’s ability to automatically generate Kubeflow Pipelines.
Kale SDK vs Kale UI
- Whereas Notebooks are great for interactivity and quick iterations they are not great for more structured projects. With the Kale SDK you can develop more structured projects in Python and over time other coding options will be introduced, such as VSCode.
- Notebook sharing is not readily available in Kubernetes therefore working with Python code modules and packages with Pipeline Steps defined increases the reusability of the code across teams.
- Notebook versioning is not readily available in Kubernetes however versioning is very natural when working with Python Code modules and packages.
Kale SDK vs KFP (Kubeflow Pipeline) SDK
The Kale SDK focuses on the entire end-to-end user journey and not just pipelines therefore it is a simpler API when compared to the Kubeflow SDK.
The Kale SDK has abstracted away Kubeflow and Kubernetes related complexity as part of the effort to focus on the end-to-end user journey.
The Kale SDK is an overall Kubeflow orchestrator, not just a Pipelines SDK, which allows control of many Kubeflow components.
For more information on the Kale SDK please read our blog post “Introducing the Kale SDK for MLOps and Kubeflow”.