Skip to Main Content
Status Not under consideration
Workspace * IBM Cloud Ideas
Created by Guest
Created on Aug 23, 2016

Application versioning logic

Application versioning is a really handful system for controlling an application deployment.

Zero-downtime deployment is now a must-have for every cloud-based application. It's not available by default and it's quite a shame (i think).

While the active-deploy service does quite the job, this still should be a in-app versioning logic (like in Google AppEngine or other clouds).

It could be implemented with the following logic:
1) Every application is deployed with a version number (if not specified, it could be for instance a git commit hash or a bluemix-generated version number)
2) We can stop and start application instances with a version number as a parameter (optional)
3) When pushing an application, the push logic will automatically replace the existing running application version with the new one with a ramp-up start/stop logic
4) Rollback will be available for an application with a version number as a parameter (optional. Bluemix should keep the last 4/5 versions deployed available).

I guess this would require core changes in cloudfoundry, but still this is important, because it's a better match to the DevOps deployment logic.