Hi everyone! Sorry in advanced if this question i...
# ask-the-community
w
Hi everyone! Sorry in advanced if this question is out of place or doesn't make sense 😬 I'm currently researching Kubeflow and Flyte as a platform solution, and from what I understood, Flyte can be used as a replacement for Kubeflow pipelines, right? But can we integrate Flyte into the Kubeflow ecosystem, just by replacing the KFP?
r
KFP and Flyte are both orchestration systems for describing "dataflow" programs that execute in a K8s cluster (ie. pipelines for training / inference). The fact that you happen to train a model or produce predictions from a different system shouldn't preclude you from using other components in the Kubeflow ecosystem (ie. training operators/kserve/notebooks), and Flyte has some integrations w/ the various Kubeflow operators IIRC (like the TensorFlow operator), but these are relatively decoupled pieces of the ecosystem All of that said, we didn't have a great experience w/ Kubeflow Pipelines and other components like notebooks (we opted for JupyterHub on K8s there instead)
w
I thought KFP had some sort of "glue" or interconnection with the other tools (like sending metadata), which would require some extra steps to introduce Flyte as the pipe orchestrator.
r
Ah, I'm not quite sure how the metadata service is used by the rest of the KF ecosystem. Are there specific features you're looking for that other KF components depend on?
w
Well, we are looking for a "solution" or platform for MLOps, and Kubeflow seems like a solid solution. But the KubeflowPipelines specifically raised some concerns on how to run it locally for debugging and more best practices around software engineering (test; lint; python code vs DSL). When I saw the Flyte approach to running pipelines, I got interested in investigating it further, but I got confused by some comments around the interoperability between Kubeflow and Flyte and I just wanted to double-check if I got it correctly or not :) So "officially" there is no integration between Flyte and the Kubeflow platform, only the possibility to use some components on my own, right?
n
But the KubeflowPipelines specifically raised some concerns on how to run it locally for debugging and more best practices around software engineering
KF is notoriously hard to debug locally. Flyte tasks/workflows are all locally-runnable functions (with a few exceptions) so you can put them through unit tests in your CI/CD system.
So “officially” there is no integration between Flyte and the Kubeflow platform, only the possibility to use some components on my own, right?
We have official integrations with kf training operators (see pytorch kf and tensorflow kf plugins for example). Re: kserve and notebooks, yes you’ll have to deploy and manage those components yourself, but at that point other serving and notebook solutions would probably work just as well.