Reputation: 8973
I have an Azure deployment, 8 instances.
Now I face an issue, to achieve max flexibly, I use many VIEW(files) to customize shown the result page for different functions (even different host websites, I host multi-sites in one deployment to save cost).
When I want to change the VIEW (sometime just edit typo, sometime may add a new page or remove some section), then I need to redeploy the whole solution, very time consuming process (compile, make package, upload, deploy, switch VIP .....).
I wondering if your guys have some more simple solution that can update all VIEW (files) in all instance without redeploy? Which I can just update all views (add/remove views files etc), and also I will update views in local solutions in the mean time, so all changes will retain with next redeployment.
Upvotes: 0
Views: 144
Reputation: 100527
Check out this out for 1.4+ SDK "Update Web Role" and steps to use it in How to Update Web Role post and this Announcing Improved In-place Updates for 1.5+.
Note: Manually hacking in updates and skipping testing in staging slot will cost you much more thant saved 15 minutes in log run. Since your site requires 8 instances it look like very heavily used one - breaking it by uploading untested changes does not sound like a good idea. I strongly recommend to deploy changes to staging slot first (i.e. with one instance), test it and than increase instance count and swap VIP. As a side benefit you'll still have functioning site in staging after the swap so you can quickly restore it if you broke something with update (i.e. keep old version in staging slot with 1 instance for 2-4 hours).
Upvotes: 3
Reputation: 16482
The recommended or best practice (the only way) is do a redeploy. When you deploy an Azure package all that you send is just cspkg and cscfg. The Azure fabric controller takes keeps the repository of only these two.
The other alternative/intuitive idea that pop up is to do a RD and make the change (However in your case doing the same on 8 machines is very mundane task ). Again this is not recommended even for single instance Azure is since, the fabric controller can pull the instance for load balancing tasks etc. On that event, the fabric controller will discard the changes applied to the RD machine and will redeploy just the original packages.
If you are worried about the downtime for the seamless change in the deployment package, you may deploy a new instance(s) and route the traffic with traffic manager CTP and then fix your changes.
If it is for difficulty or to lessen the work on Azure instance management, it is always better to do a redeploy.
Upvotes: 2