Tuesday, December 05, 2006

Major pains from Microsoft

Being responsible for the infrastructure for an internet company(http://www.clarizen.com) includes many non traditional IT considerations. Scalability in an internet operation has to be carefully planned to allow for seamless addition of infrastructure with zero interruption to the working environment or to the customers.

This is not a problem when it comes to most elements of the infrastructure such as web servers (by using a load balancer you can increase the number of servers without having any impact on the existing infrastructure) but when it comes to Microsoft SQL server the story is completely different.

SQL Server scalability is reliant on what is called Scale Up. Scaling up means that when your server reaches the poing when it can no longer handle requests with the expected performance you can upgrade the servers configuration by adding CPUs, Ram and/or disk space. This is all well and good for a standard IT operation dealing inside a companies operation. When it comes to services available on the internet then you can not afford to use this method for multiple reasons:

Scaling up means in many cases that you must shutdown the server in order to add hardware. Beyond that, scalability in an internet operation has to be designed from o-infinity. Any server however strong will reach the point of maximum configuration where it will need to be replaced by an even stronger server.

Also, buying a large scale server chasis at the starting point means that you are going to be spending a lot of money on hardware you may or may not need.

The preferred option for scaling application infrastructure in an internet environment should be Scale Out, where, by adding additional servers you increase the overall computational power of your infrastructure. In most cases this can be done quickly without a lot of overhead and the total cost of ownership matches the objective.

Why is Microsoft not offering such a solution? I wish I knew. Their competition is investing in this type of solution for many years now and products like Oracle RAC (Real Application Cluster) have been out there and implementations are successful.

In a world that is quickly moving (my opinion) toward hosted infrastructure, Microsoft need to be in the forefront of providing the tools for availability and scalability. If they are not able to provide this solution then I hope they are seriously considering the aquisition of such a solution.

No comments: