How severe does this issue affect your experience of using Ray?
- Medium: It contributes to significant difficulty to complete my task, but I can work around it.
I have a service which uses RayServe 1.13 to serve Machine Learning models.
My service needs to dynamically deploy and delete the deployments.
My service calls the models using the RayServeHandle retrieved by using the function serve.get_deployment() given the deployment name.
Because RayServe 1.x does not restore the deployments after restart (at least not as a stable feature), we have a service to (programmatically) start and watch RayServe, and redeploy the necessary deployments.
I want to get the improvements in Ray 2.x, but many of RayServe Python APIs are now deprecated and I am concerned about how to proceed and what I should expect for the future Ray Serve API.
So, for Ray 2.0, some of my questions are:
How can I delete a deployment using Python API (assuming that I only have the deployment name) ?
In Ray 1.13, I could do something like: myapp = serve.get_deployment(name); myapp.delete().
Is there a way to get the RayServeHandle by the deployment name ?
In Ray 1.13, I could do: myhandle = serve.get_deployment(name).get_handle()
I would really appreciate any help.
I decided to write additional details about my scenario, after some time looking at Ray documentation and code.
As I said before, my service needs to dynamically deploy and undeploy models. Let’s assume there will be hundreds of different models and they are not related to each other, they are not part of a unique graph.
In Ray 1.13, I am able to manage those many models using something like “deployment.deploy()” and “deployment.delete()”.
In Ray 2.0.0, if I understood correctly, those APIs are now deprecated and I should use “serve.run(…)”. However, in order to use “server.run(…)”, I would have to build a big graph with all models, and all of them would be redeployed, even if only one was changed/included.
In addition, “serve.run(…)” seems to be considered dev workflow. So not proper to production?
So… I miss some official 2.0.0 API to deploy and delete a single deployment. It could be a single model or a graph. So I am not talking about creating a graph with individual deployments.
My service is not in production yet, but it was really easy to build the service using RayServe. However, I am really worried about the new version and whether I will be able to keep using it the way I am talking about here.