March 28, 2001, 10:55 AM — "Web Review"High availability and scalability are desirable for any Web site. Unfortunately, far too often high prices for software and hardware, in conjunction with complex implementations, have kept the solution to these problems -- through the load balancing of relatively low-cost servers -- out of reach for many Web professionals.
Microsoft Application Center 2000 promises to bring software-based scalability of Web sites down to the realm of the mere mortal IT professional. Unfortunately, Microsoft hasn't met this promise with the product's recent release.
Application Center 2000 packs an impressive list of capabilities. The core function of the product is to provide improved reliability and scalability of a site through software-based clustering and load balancing. The company claims the product makes it relatively easy to manage a set of servers as if they were a single server, which is true. The product makes it relatively painless to initially stage, deploy and continually synchronize diverse sets of components (such as HTML, image and Active Server Pages files, as well as site and server settings) among all the servers in the cluster.
This is one of the strongest features of this product. Once it's running, the clustered Web site benefits greatly from improved reliability and scalability, as demonstrated during our simulated load tests. However, getting to that point isn't easy or without inherent limitations.
Installation of the product was not smooth. Even with application of the required Service Pack, various Post-Service Pack fixes and carefully following the instructions detailed in Microsoft's documentation, it took numerous tries to install the software. With factory-fresh systems, it's unlikely that the typical "try a clean install" advice would make much of a difference. However, after repeated efforts, we got a stable three-system cluster up and running.
Basic management of the cluster is relatively smooth. Application Center 2000 uses the familiar Microsoft Management Console (MMC) snap-in. Management can be performed from another system using a client installation of the software. A Web-based interface gives administrators real remote access, and a command line interface was available for those looking for raw access for scripting. Interestingly, some important commands appear to be only available via the command line, such as the "clean" command that we issued numerous times after systems became corrupted when removed from the cluster. However, assuming correct operation, the basic tasks -- such as creating a cluster and then adding, deleting and managing the availability and health of servers in the cluster -- are easy to perform from the MMC snap-in.
We used a New Cluster Wizard to create a general Web cluster, a COM+ application cluster and COM+ routing cluster. We focused primarily on the Web cluster for our tests. After choosing and naming the cluster type, you can specify the form of load balancing. The product primarily relies on Network Load Balancing using two network interface cards in each server in the cluster. However, it lets you use a third-party hardware load balancer. Of course, if you had such a product, the value of Application Center 2000 diminishes, but some feeatures (particularly content replication and server health monitoring) might be useful. We focused solely on the standard Network Load Balancing without such outside assistance.
Application Center 2000 uses a basic round-robin style of load balancing. To adjust this, you can modify a slider indicating the amount of traffic a server should handle. However, adjustments beyond this gross distribution -- such as URL-based, content-based or any form of global load balancing strategies -- are not directly supported. Clever administrators could figure out how a couple of clusters could be built (via redirection rules for Internet Information Server [IIS]) and implement a URL-based form of load balancing, but in short the product only provides the most basic form of load balancing.
We liked one feature of Application Center 2000 that puts it ahead of overly simplistic schemes such as DNS round-robin. The feature applies to state management issues using an idea called request forwarding. Basically, if a state has to be preserved, the initial server visited becomes the "sticky" server and subsequent requests are forwarded to the server holding the user's state information by any other server in the cluster that receives another request from the end user. Of course, if the sticky server crashes, problems will ensue. In contrast, centralized state management -- either via hardware or software -- would alleviate this problem, but at the expense of providing a single point of failure for the whole cluster.













