Hi everyone - *TLDR: I am looking for Best Practic...
# advanced-need-help
Hi everyone - *TLDR: I am looking for Best Practices to use Kedro to leverage Azure Machine Learning features and using MLOps techniques. * I will try to be clear but please let me know if I am not. I have shared what we are trying to build. Some context We are developing a model to be used as a prediction service by an existing application on AKS. We want to implement as much as possible "best in class" methods for MLOps using Azure Machine Learning features (Experiment tracking, model registry, maybe Azure ML Pipelines, etc.). Our code will reside in Azure Devops so we are also thinking about how to use Azure pipelines in the mix. Problematic Our DS is a very big fan of the Kedro framework. I am looking for the best way to have him adapt the framework to use the features of Azure ML to train, track, register, monitor datasets and models and deploy them to our different workload environments. I have so many questions I am not even sure where to start. - I would like to know if there are best practices to launch kedro pipeline runs after a new code push automatically in the Azure Machine Learning Service. Either for running a specific kedro pipeline or for building a whole Azure ML Pipeline exactly like the Kedro one? - What parts of the infrastructure should be leveraging the Azure SDK, and what parts should be just Azure CLI commands in the CICD pipelines? If you have any resource or example of someone successfully implementing this kind of thing it would be super helpful!
Hi @User thanks for reaching out!
this is a big topic and hopefully others will chime in
I would argue Kedro can own or share responsibilities for the blue blue areas of the diagram
I'm not sure if you've had a chance to see this guide https://kedro.readthedocs.io/en/stable/10_deployment/01_deployment_guide.html
but some of the topics will be very relevant
So there are three types of ways Kedro integrates with this sort of things, all have their own responsibilities: 1. LightweightCustom datasets Kedro for things like saving to the Azure Model Registry and Feature store (If you come up with any really neat ones, we're always accepting PRs 👀) https://kedro.readthedocs.io/en/stable/07_extend_kedro/03_custom_datasets.html ^ This is how Kedro handles IO and other services can simply map to the paths/locations 2. Kedro lifecycle hooks allow you to integrate with things like logging and metric services https://kedro.readthedocs.io/en/latest/07_extend_kedro/02_hooks.html 3. Packaging your project is the simplest way to orchestrate things - but works best for the 'finished article' rather than the iterative phases development https://kedro.readthedocs.io/en/stable/03_tutorial/05_package_a_project.html
^ re 3 - you can spend time making CI/CD work neatly so the dev experience is quick to iterate
Thank you very much @User - I'll be looking into this ressources 🙂
No problem - shout if you need anything, we'll do our best to help