Learning How To Scale An ASP.NET Application

For the last nine months, the development team at Stella Hospitality Group have been working on integrating a new piece of software into the enterprise. Throughout that process, we’ve come up against various stumbling blocks and subsequently learned how to climb over them.

One of the interesting parts of this project involved learning how to scale an ASP.NET web application. Unlike most other pieces of development we’ve previously worked on, we didn’t have access to hardware and services that were capable of delivering smoking performance (read: Oracle 10g clustered using RAC). As a by product of the constraints which were placed on us, scaling the new web application proved a little harder than it first looked.

Over the course of the next few weeks, I’ll be posting about various steps which we’ve taken to scale our ASP.NET application. Some of the points are hinged in the physical world, others operational and of course technical as well. Items which come to mind immediately include:

  • load balancers
  • clustering physical servers
  • clustering web servers
  • web gardens
  • user interface process control
  • session handling
  • web services & XML
  • spike testing