title: Is NLB a good way to keep a website available while deploying new code?
body: <p>I want to be able to deploy a new version of my asp.net/mvc website without loosing client session state or causing any downtime.  The way I'm thinking of accomplishing this is by creating a Windows Network Load Balancing server so that clients can reach it via a single url such as <a href="https://mysite.org/" rel="nofollow">https://mysite.org/</a>.  It would then redirect traffic to one of two other sites (A.mysite.org or B.mysite.org).  I'll set the NLB's affinity to Single, and disable site B so that all sessions are are directed to site A.  When I need to deploy a new version of the website, I'll deploy to site B, enable site B, and disable site A.  So, everybody that was on site A can stay there (using version 1) until they log off. All new sessions will connect to site B and run version 2.  The next time I deploy, I'll do the reverse.</p>
  
  <p>I've never used NLB.  Is this appropriate?  Is there a simpler, easier way?</p>
  
  <p>How does NLB know when a request from client X already has a session on A or B?  Ie.  when they log off the website, and try to login again, will the nlb send them to the same site they were on before?</p>