Juan Luis05/19/2023, 11:28 AM
Jo Stichbury05/19/2023, 12:41 PM
After looking at all these methodologies, it is clear that there are strong differences between each tool. Each one has its own advantages and limitations, and it can suit better or worse each project’s needs. In short:
• Kedro has some interesting capabilities, and it’s especially good when working on complex projects. It abstracts the data sources, and the models and can integrate well with many other tools. It can be set up to suit most of the Machine Learning modern projects, including all current industry best practices. Their way to deal with source and model sources, abstracting them, is, in my humble opinion, just amazing.
• ZenML is also a strong competitor, with some advantages on its side in comparison to Kedro. It is more customizable and can work with multiple stacks without the need for any code changes, and it also integrates well with lots of other tools. However, it lacks some functionalities, mostly when dealing with data and model sources.
• Metaflow is by far the least structured methodology we are going to see here. It focuses mostly on orchestrating the steps and tracking the step execution metrics. So, every other feature your project needs might need to be included via coding it by hand using other Python functionalities. It may not be impossible, but it certainly has some disadvantages. Yet, the automatic metric tracking and UI are pretty cool in production environments.
To finish, I hope that you now have more information to choose which one of these tools suits your use-case better, just, keep in mind that there is always a tradeoff between each tool’s capabilities.