CMP -- United Business Media

Intelligent Enterprise

Better Insight for Business Decisions

UBM
Intelligent Enterprise - Better Insight for Business Decisions
Part of the TechWeb Network
Intelligent Enterprise
search Intelligent Enterprise





May 24, 2001



Betting the Farm

Web server farms can provide highly available infrastructures to prevent lost revenues from downtime

By Kamesh Namuduri & Palani Ram

As companies become more dependent on their Web sites for communications and transactions, the need for a Web server infrastructure that can provide 99.999 percent uptime and grow to meet increased Web traffic demands becomes a business necessity.

In our last column ("Always There for You," April 16, 2001), we explained how clustering offers a scalable solution: The units within a system are working together as one. Instead of replacing an existing server with another server that has a faster processor or multiple processors, companies can leverage their existing resources to provide a highly available, and more importantly, cost-effective solution.

In this column, we explain how to properly cluster subsystems to eliminate single points of failure and achieve scalability and high availability for your Web infrastructure. For example, you can load-balance and distribute client requests across multiple firewalls, instead of a single firewall. This clustered configuration can comprise routers, firewalls, Web servers, application servers, and the database.

Web Server Farms

The Web server is the gateway for users to access the company Web site. The users access the company Web site with one well-known domain name system (DNS) or URL (such as www.mycompany.com). As the business expands, the traffic on the company Web site grows as well, increasing the load on the Web architecture and the Web server in particular. The increase in the load on the server degrades the performance and response time of the Web site. But sharing the load among multiple servers can improve this performance.

The multiple servers in the Web infrastructure must appear as one Web server serving the DNS or the company URL. Web farming (clustering a group of Web servers) facilitates load sharing internally, while appearing to be a single server to users. Before designing a Web server farm or upgrading an existing Web server to a Web server farm, the architect must carefully analyze the requirements and study the design issues involved. The design areas include network infrastructure, load balancing, capacity planning, performance, fault-tolerance, availability, and security considerations. Web farms with 20 to 30 servers are not uncommon in real-world applications.

Network infrastructure. As the number of servers increases, the network infrastructure has to manage the Web servers. The basic network infrastructure that connects Web servers in a Web farm to the Internet includes network interface cards, hubs, layer-2 switches, and routers. The network design must ensure that the Web server is always available to its clients. The network infrastructure should be able to detect server and connection failures and take appropriate measures to keep the Web site running. It should be able to handle large increases in server capacity and protect the servers from hackers.

Routing server. In a server farm, one server is used to route HTTP requests to different Web servers. Figure 1 shows routing to a Web server in a Web server farm. The routing server usually has a well-known DNS name to which the clients connect and a dedicated IP address. Each server in the farm has its own dedicated IP address as well. The routing server receives the client's requests and redirects them to one of the servers in the farm.

In addition to network infrastructure, hardware and software solutions are necessary to route the server traffic to appropriate Web servers based on request type, priority, security level, and server availability. Furthermore, client sessions can be maintained by sending all requests coming from a client to the same server. By using appropriate load-balancing techniques within the routing server, the Web servers can actually share the Web traffic.

Load-balancing software and hardware. Round-robin DNS is one of the common load-balancing techniques; each logical DNS name maps to several IP addresses. When a client attempts to resolve the DNS name, the DNS server sends back one of the addresses from the list. The DNS server shuffles or rotates the addresses to distribute the Web traffic across a set of servers. In order to preserve user sessions, once a client resolves a DNS name into an IP address, the DNS server caches the IP address for the duration of the client session. Round-robin DNS is a simple and fast load distribution technique in which different users are given different IP addresses to balance the load.

Instead of merely redirecting the traffic to one of the Web servers, you can use advanced load balancing techniques that consider the Web server's availability, the current load on the Web server, and the type of HTTP request before distributing the Web traffic. Such advanced methods let the administrator bring down a Web server for maintenance without affecting the overall availability of the Web farm.

Cisco Systems' LocalDirector is one such product with proprietary hardware that probes the status of Web servers in order to determine their availability. The Web servers can also send their load and availability information to LocalDirector. Microsoft's Windows NT Load Balancing Service is another load-balancing software solution, in which the Web servers constantly exchange performance statistics and divide the responsibilities of handling incoming requests using a proprietary algorithm.







IE Weekly Newsletter
Subscribe to the newsletter
    Email Address