3

I will shortly be going live with a new .net web application. It will be deployed to a load balanced environment over 5 servers.

Before go live there is a holding site on all the 5 servers to which the domain is currently pointing -> www.website.com

Prior to go live, I would like to deploy the new site to 5 servers and for the holding site to remain and for it to be what the public sees.

And when the time comes, I can put the new site live with a flick of a switch. I also want the new site to be on the servers so that I can test it prior to go live.

I am running in IIS7.

This is common practice I presume so what is the easiest way doing that above and achieve installing the new site on the servers will not affecting the holding site. The new site be accessible to me but the holding site be viewed by the general public. Any suggestions as to how this can be achieved?

Amateur
  • 189
  • 4

1 Answers1

1

This is not as common as you would first assume, but it is the ideal configuration. Azure has the concept with the ability to swap a staging and live instance. I assume this is what you're referring to.

I do this with a number of sites and I plan to document and release some best practices later this year on this topic.

What are you using for a longer balancer?

At a high level, here's what I do:

  • I use Application Request Routing (ARR) for the load balancing solution
  • Each site is setup with multiple (2 - 4) 'instances'. Each points to a different path on disk.
  • I can push to any of the staging instances during the day and fully test them.
  • When ready to go live (in the middle of the day or at night), the URL Rewrite rule on the ARR server is changed to point to a different ServerFarm instance. It performs the switch instantly without any downtime.

If you don't have the ability to do this at the load balancer, what some people will do is change the path on disk in IIS. This will cause an AppDomain recycle and isn't as smooth, but it's pretty quick. If you're using IIS shared configuration then the change to the new path on disk will apply to all five nodes at the same time.

Scott Forsyth
  • 16,449
  • 3
  • 37
  • 56