To: jay silberman who wrote (129 ) 10/29/1999 10:57:00 PM From: ftth Respond to of 1782
Server Load Balancing vs. Storage Area Networks Which best meets your needs— load balancing or SANs? by Tom Nolle networkmagazine.com Client-server computing needs servers and servers need disks. For most users, that just about says it all with respect to architecture decisions. But some applications need more than just a disk or even a RAID. Some also need more than a simple server. Vendors, eager to please buyers, offer an option in each area: server load balancing and Storage Area Networks (SANs). But is there an overlap in the problem set that server load balancing and SANs address? And will one technology serve just as well as another? BALANCE OR STORE? Server load balancing has become an issue ever since the Internet and its tools popularized what might be called the “read-only server.” Many client-server applications involve both updating and running queries from a database. For these applications, something called “distributed transaction processing” supports the use of multiple servers and ensures that the databases on each are synchronized. For today's Web-based applications, where virtually all activity happens at the server, something less complex may be better. If you imagine a single Web server supporting a group of browser clients, it's clear that some combination of per-client activity and number of clients will overburden the server. Faster servers are an option, but at some point the cost of a superserver climbs faster than its performance. If each client is trying to get at a collection of largely stable Web pages, why not just provide a bunch of parallel servers? The problem with parallel servers, of course, is getting the clients to distribute their activity across the servers evenly. That's what server load balancing does. The easiest way to distribute the activity is with a LAN switch. The LAN switch “knows” that a group of its ports represents load-balanced servers, and it treats them all as a single address, so each client knows the address not of an individual server but of the group. The switch then evenly distributes client access. Load balancing will even work with read/write server access, provided that some mechanism (usually in the server's database software) keeps all the copies of the files in sync. On the surface, SANs look like a sharing concept pushed one layer backward toward the disks. A single server is connected via the LAN and WAN to clients as before, but the server has a second, back-end network to which disks are attached. This is the SAN. SAN technology is usually quite different from that on the LAN; fiber-based approaches such as IBM's ESCON (for mainframes) and Fibre Channel (in the general computer market) dominate. The application is also often different. SANs are most useful when a server (or servers, because a SAN can support more than one) must access a very large database or set of databases. Even with today's 20Gbyte hard drives, terabytes of storage tend to fill up a server cabinet fast, so moving the drives away from the computer offers more space to stack disks. SAN fiber connections eliminate the cable-length restrictions of SCSI and other local disk interfaces. OTHER OPTIONS On the surface, these concepts don't seem to overlap much, and in truth what these concepts have most in common is that neither one is necessarily a good idea for the average user. For example, take a large intranet or Internet Web site. It might serve thousands of pages of content, including audio and video files. Storage requirements could easily exceed server capacity, and there could also be more Web activity than the CPU and network connections of a single server could provide for. Does this mean both SANs and load balancing are needed? No. HTML provides hyperlinks to content, which means that the content for a given page can be drawn from anywhere. Careful design of the way pages link, and where pages are stored, can divide both the CPU and storage load of an application across multiple servers and multiple disk drives. As a result, it is possible to serve the needs of the application with nothing more than traditional server technology. The trick is to recognize when this approach won't work. KNOWING THE DIFFERENCES Load-balancing strategies are best when a large number of users with high-speed connections to the servers access a relatively small quantity of rarely updated information. A slow Internet connection will virtually guarantee that the traffic volume into the site won't tax a server. In that case, load balancing is beneficial primarily in that it provides a measure of redundancy. Load balancing is also good when most of the hits on the server are on a small group of pages, which negates using hyperlinks to disperse content to multiple servers. SAN strategies are best for a contained number of users who access a very large database, so that server CPU performance doesn't become a bottleneck. Where multiple databases are involved, there is a good chance that using hyperlinks to divide the content across multiple servers will work as well or better. SAN is also good where multiple servers must update a set of databases, providing that the SAN technology supports multiple servers and the database architecture resolves access/ update collisions between users. New technologies often solve problems, but not always, and not for everyone. Before investing in either load balancing or a SAN, be sure to review your application with your own server vendor. There may be an easier and cheaper solution. Tom Nolle is president of CIMI (www.cimicorp.com), a consulting firm for strategic technology planning. He also lectures internationally on advanced information networking and infrastructure issues. He can be reached at tnolle@cimicorp.com.