improve deployment speed of Cloud Services
Right now it takes about 3 minutes+ (sometimes longer) to upgrade a cloud service. Since I have 8-10 cloud services it takes up to 30 minutes to do a full upgrade/roll out. I wish this could be improved, after all nothing except my code is changed on the web/worker roles, it's just pushing new code, no startup tasks, etc.
Could you tell me a little bit more about your application pattern – how many roles do you have per cloud service? Do the cloud services that you would like to restart have any dependencies on one another? If not, have you tried restarting the cloud services in parallel?
Michael Paterson commented
I have a single cloud service with 5 roles each with 2 instances. Builds (compilation, unit tests [not integration tests], packaging, and deployment) takes between 15 and 20 minutes. I would love to get this down inside the 5-10 minute range.
Thanks for the clarification, Hakan. Have you considered upgrading all or a subset of your Cloud Services at the same time?
Hakan Lindestaf commented
I'm using Octopus Deploy for release management and they way it's (currently) designed is to run one task at a time, and one task is to upgrade one cloud service. So it has to go through them one by one. I'm not sure what you mean with roles, I have in general 1 instance per cloud service and I'm using the production/staging pattern with vip swap (but that's not really relevant to this issue). There are no dependencies, but note that I'm not *restarting*, I'm upgrading the code with a new deployment package.