title: Scaling an ASP.NET application
body: <p>This is a very broad question, but hopefully I can get useful tips. Currently I have an ASP.NET application that runs on a single server. I now need to scale out to accommodate increasing customer loads. So my plan is to:</p>
  
  <p>1) Scale out the ASP.NET and web component onto five servers.</p>
  
  <p>2) Move the database onto a farm.</p>
  
  <p>I don't believe I will have an issue with the database, as it's just a single IP address as far as the application is concerned. However, I am now concerns about the ASP.NET and web tier. Some issues I am already worried about:</p>
  
  <ul>
  <li><p>Is the easiest model to implement just a load balancer that will farm out requests to each of the five servers in a round-robin fashion?</p></li>
  <li><p>Is there any problem with HTTPS and SSL connections, now that they can terminate on different physical servers each time a request is made? (for example, performance?)</p></li>
  <li><p>Is there any concern with regards to session maintanence (logon) via cookies? My guess is no, but can't quite explain why... ;-)</p></li>
  <li><p>Is there any concern with session data itself (stored server side)? Obviously I will need to replicate session state between servers, or somehow force a request to only go to a single server. Either way, I see a problem here...</p></li>
  </ul>