Description
Hi ZenML team,
I recently upgraded from ZenML 0.52.0 to 0.75.0 and noticed a change in the deploy_model behavior.
Previous Behavior (ZenML 0.52.0)
In version 0.52.0, when I trained and deployed a model using the model deployer, each new model (whether a new version of an existing model or a completely new one) would be deployed on a new port automatically (e.g., 8000 → 8001 → 8002, etc.). This allowed multiple models to be served simultaneously on different ports.
New Behavior (ZenML 0.75.0)
With ZenML 0.75.0, the deploy_model method now replaces any existing model server instance if continuous_deployment_mode=True, or updates the existing instance if continuous_deployment_mode=False. This means that instead of launching a new instance with a new port, the deployment either replaces the previous model or updates the existing server.
What I Want to Achieve
I want to restore the old behavior where each new model (or new version of an existing model) gets deployed on a separate port instead of replacing the previous deployment. I tried modifying the library code but was unsuccessful.
Question
Is there an official way to achieve this behavior in ZenML 0.75.0? If not, is there a recommended workaround to ensure that each model deployment gets assigned a new port dynamically (like in ZenML 0.52.0)?
Thanks in advance!