Deployment process

We have a massive system with about 15 servers hosting .Net WCF services, mvc application, etc. When we do the deployment (outside of business hours) we have to uninstall and install everything on the live servers. It takes a long time, and if something goes wrong, we need to rollback everything. can you suggest something different? how to Enable another environment (whenever you want) and switch the url to point to the new servers [This comes with the overhead of maintaining two copies of production (active and passive)]

any other ideas please.

+2


a source to share


2 answers


Do I need to remove services for all deployments?

You can have a script that does this on all parallel servers:



  • Stop all Windows services
  • Stop IIS
  • Back up replaced files
  • assemblies, resources, XCopy website files.
  • Perhaps run InstallUtil while deploying the service (if needed).
  • Start IIS and Services.

A script like this won't take too long. With 15 servers, it will be worth it to write one and fully automate the deployment and rollback process.

+1


a source


It looks like you need a load balancer to handle traffic on your production servers. You should deploy all of your new code to farm B server and test it with a test DNS record. After you are satisfied with these changes, you will reassign the load balancing addresses from Server Farm A to Server Farm B, and then go live. The only downside to this is with database changes.



+1


a source







All Articles