This is something I have been thinking about for a while now. When Amazon announced EC2, the first think I though was “What about .NET and ASP.NET?” yes, you can run Mono on Linux, but I want a full Windows box! So, it got me thinking, and my thinking has gotten me this far:

You have a couple of large machines on your network. each with a couple of processors, lots of RAM, and a fair whack of hard drive space. each of these then are partitioned up into virtual machines using Virtual Server. with the help of the Virtual Server clustering How To, WAIK, iSCSI or SAN Storage, and some scripting, you could easily(or semi easily) get a system that could be very scaleable.

So, lets say you start with 4 big boxes (Dual proc, Dual Core, 8Gb ram, couple large, fast HDD’s). Install Win2k3 Server on these, Virtual Server, and some base scripts. Each box then starts to download their base Virtual Images (DB server, Web Server, Application Server, etc) and leaves them on their local machine. So, the DB gets configured for fail over, load balancing and clustering support. each web server and each app server downloads (either from local or S3) the latest build of the site and application service. and they start up. You may also have load balancing machines and 1 or 2 co-ordination servers (these make sure DNS is up to date, etc. actually could be done by the Load Balancer).

So, the 4 large boxes are running, each has a DB server, 2 web servers, an app server and a load balancer. all load balancers know about each web server and each app server. The DB servers know about each other.

Everything is working grand, and load starts to increase. you decided to get an extra few machines. these come with same specs as the old one. Use a WAIK system, you boot the machine, and it automatically runs your script (install Win2k3 server, Virtual Server, updates, and latest VM images). then each image boots, runs though its script (download latest app service or web site, or connect to SQL cluster and get data). then the Web Sites and app servers tell the load balancer “I’m here” and start getting hit with traffic.

So, this is a big rant on the idea, but no actual proof it works. That’s my next task. now, if only Amazon would add windows to the supported OS list on EC2… :)