Azure / aml-deploy

GitHub Action that allows you to deploy machine learning models in Azure Machine Learning.
MIT License
41 stars 18 forks source link

support bringing own AKS cluster to deploy #26

Open ashishonce opened 4 years ago

ashishonce commented 4 years ago

this links to this issue https://github.com/github/ms-ecosystem/issues/85

marvinbuss commented 4 years ago

@ashishonce I cannot open the link. What is the issue about?

vivishno commented 4 years ago

@marvinbuss the issue is linked to https://github.com/github/ms-ecosystem/issues/85 We want to deploy our model to a azure kubernetes service outside the ml workspace. For now we will support deploying to a aks inside the same subscription and same resource group.

ashishonce commented 4 years ago

to expand : today user has to provide an AKS cluster which is already attached to a workspace, else workspace is not able to identify the cluster. The PM task has an ask to support the AKS Cluster which is outside the workspace, so for that, it can be first attached to ws and then can be used to deploy. attaching is a one time job, so we can decide , how we can to support this

marvinbuss commented 4 years ago

If we want to support attaching AKS, we should add this functionality to Azure/aml-compute. This task is compute related. If the compute is not attached to AML, I would suggest to use these Actions: https://github.com/Azure/actions#deploy-to-kubernetes .

ashishonce commented 4 years ago

@pulkitaggarwl for visibility , can you please put your thoughts?

pulkitaggarwl commented 4 years ago

@marvinbuss We want customer be able to deploy to an existing cluster. Generally customers don't spin up a new K8S cluster for new services but instead use the same one.
Customer should not ideally need to use aml-compute in their workflow for this scenario. As per, Deploy to K8s action - its a generic K8S action and would understand container images not Az ML models. Also, if we go that route we would need to build similar for ACI, FPGAs, Functions.

marvinbuss commented 4 years ago

@pulkitaggarwl I do understand the use case. Existing clusters should either be attached to AML via ARM templates or via aml-compute. Handling compute related tasks in aml-deploy would be highly inconsistent, since this action is about creating docker images and deploying these to attached compute targets or just providing the image, so that it can be used with other actions, such as:

@awmatheson Do you have any recommendations?

vivishno commented 4 years ago

@pulkitaggarwl can you give your inputs on this. Following are the code changes made to aml-deploy action- https://github.com/Azure/aml-deploy/compare/master...vivishno:master

With these changes the action will look for the aks cluster specified inside ml workspace and also see if it is attached. If not found it will look for it in the resource group and will attach it if found. If not found inside the ML workspace or in the resource group it will deploy the model to ACI.

vivishno commented 4 years ago

We also need to decide on what behavior should be when the aks cluster specified in the config file is not found inside ML workspace or inside resource grp. Currently it deploys to ACI if cluster not found. Have raised a bug around this- https://github.com/Azure/aml-deploy/issues/27 If this is the expectation then we will have to document this as well.

ashishonce commented 4 years ago

@vivishno just had a chat with @pulkitaggarwl and closed on that .. we can put this into aml-compute.