The image below show the two pipelines that we have in my company to manage the life cycle of a model.
Together (model and application) will be deployed in our orchestrator (a kubernetes cluster).
I am in a situation where the application logic does not change but the models do. I could find myself in the situation below.
I suppose there are two approach to manage the runtime model refresh on the orchestrator (hope someone suggests me other possibilities that I haven't thought about):
[Question] Are there any best practices for these cases (perhaps through a system of tags on the images) that someone can suggest me?
Thank you Kipliko
The most seamless way is to do a rolling update via k8s/kubectl. This will require a new container, however, this is considered a best practice, as each container stays atomic and reproducible. Updating the model via threads would be difficult to debug.
Another scenario you could do is blue-green deployment using Istio, and slowly move traffic between the old and new model, although this would require a bit more overhead.