Accessibility
 
 
Choosing a Hardware Load-Balancing Device

Frank DeRienzo, MBA, MCSE
Principal Technical Support Engineer
Macromedia, Inc.

This article outlines the current status of Macromedia Enterprise Servers (MES) in relation to each of the prominent hardware load-balancing devices (HLD). It offers an examination of the current employment of HLDs by Macromedia customers and provides pointers to relevant Macromedia resources to help enable MES customers to configure various HLDs. It also offers decision making guidelines to assist MES users in deciding whether HLD implementation is appropriate and if so which devices to consider.

Part I. Macromedia Enterprise Server in relation to each prominent hardware load-balancing device

A. Cisco Local Director

Cisco's Local Director (CLD) is a network appliance with an embedded operating system that intelligently load balances IP traffic across multiple servers. Currently Macromedia Enterprise Server is fully integrated with CLD and there are detailed instructions available to assist MES customers in setting up Web server farms behind CLD. MES has integrated the high-availability features of ClusterCATS, Macromedia's multi-server clustering technology, with CLD to deliver increased Web site reliability and performance. ClusterCATS communicates ColdFusion server load and availability directly to CLD by using Cisco's Dynamic Feedback Protocol (DFP). The custom Macromedia DFP agent enables CLD to balance IP traffic with awareness of Web application load and availability. This hybrid solution provides a reliable, scalable Web application infrastructure because the CLD can actively manage HTTP traffic across the cluster, based on the load information provided to it by ClusterCATS. Macromedia's ColdFusion 5 Enterprise Server takes this integration a step further by eliminating the need for passive-mode ClusterCATS clustering behind CLD while still providing a high availability DFP agent to run along with Cisco's Local Director.

There are many CLD/DFP configuration options.

  1. This first link provides specific configuration guidelines for JRun or ColdFusion 4.5.X customers running a simple Web server farm behind CLD using DFP:
    Configuring ClusterCATS to Work with Cisco's Local Director
    www.allaire.com/Handlers/index.cfm?ID=15984
  2. Many Macromedia Enterprise Server customers configure server farms in the distributed mode. The distributed mode separates the ColdFusion or JRun application engine from the Web server to allow for greater processing power and increased security. Many have combined distributed mode Web sites with CLD. This next article describes how to stage a production Web site running ColdFusion or JRun in distributed mode with CLD.
    Clustering JRun or ColdFusion Servers Running in the Distributed-Mode using Allaire ClusterCATS with Either DNS Round Robin or Cisco Local Director
    www.allaire.com/Handlers/index.cfm?ID=19494
  3. Web sites running ColdFusion 5 with CLD should be configured to use the High Availability Monitoring Agent. This article contains an example-based ColdFusion 5 upgrade procedure illustrating the transition from ClusterCATS load balancing to hardware-based load balancing incorporating ColdFusion 5 server monitoring. Included in this article is the configuration of CLD running the DFP to receive real-time intelligent load and state information from each ColdFusion 5 server DFP agent.
    ColdFusion 5.0 Server Monitoring and Hardware Load-Balancing Devices
    www.allaire.com/Handlers/index.cfm?ID=21570

B. Cisco's Content Services Switch

At last year's Allaire Developer's Conference, Cisco presented the Content Services Switch (CSS) along with Local Director, but at that time ColdFusion did not work well with the CSS method of determining a Web server's state. ColdFusion did not respond to the CSS keepalives with the expected HTTP header information and would mark ColdFusion servers as down unless set up in a very restrictive manner. CSS 4.0 software provided a solution to this problem; subsequent releases of CSS software work well with both ColdFusion and JRun. If any MES customer is having trouble with ColdFusion and CSS keepalives, simply upgrading the CSS software will solve the problem.

  1. The following article highlights CSS configuration with MES ColdFusion 4.5.X and JRun.
    Clustering Allaire Application Servers Behind Cisco's Content Services Switch (Formerly Arrowpoint)
    www.allaire.com/Handlers/index.cfm?ID=19999
  2. To set up a CSS balanced server farm with ColdFusion 5, you will want to incorporate the High Availability Monitoring Agent instead of passive mode clustering, but the CSS configuration will be the same as that outlined in the above article. For ColdFusion 5, combine the ColdFusion upgrade portion of the following procedure with the above CSS configuration.
    ColdFusion 5.0 Server Monitoring and Hardware Load-Balancing Devices
    www.allaire.com/Handlers/index.cfm?ID=21570

C. F-5 BigIP

The latest version of Big IP software, 4.02, enables Big IP to be a CLD replacement or a layer-two switch. Previously Big IP could only act as a router forcing the Web servers onto a private network. With the capability to run as either a layer 2 or layer 3 load-balancing device, BigIP is a viable upgrade from software load balancing solutions.

  1. This first link provides configuration guidelines for JRun or ColdFusion 4.5.X customers running a simple Web server farm behind any hardware load-balancing device that does not recognize the MES DFP agent. BigIP offers a feature called Extended Content Verification (ECV). It is described in the next two articles and should be incorporated to verify the availability of content on each web server.
    Allaire ClusterCATS and Hardware Load-Balancing Devices
    www.allaire.com/Handlers/index.cfm?ID=15972
  2. For those MES users who configure their server farms in the distributed mode for enhanced processing power and increased security, the following article features a BigIP specific example as a high-end example. It describes how to make the Big IP sensitive to the failure (in the distributed mode) of a backend ColdFusion or JRun application engine. By following this procedure, if a backend engine stalls, the BigIP will respond by redirecting session traffic to a Web server that has a functional JRun or ColdFusion application engine running behind it. This article also describes how to stage a production Web site running ColdFusion or JRun in distributed mode with various HLDs.
    Clustering ColdFusion or JRun Servers Running in the Distributed Mode Behind Hardware Load-Balancing Devices
    www.allaire.com/Handlers/index.cfm?ID=20160
  3. For those with Web sites running ColdFusion 5 with any HLD, the High Availability Monitoring Agent is preferable to ClusterCATS. This example-based ColdFusion 5 upgrade procedure contains a layer 2 BigIP example based procedure. While this article highlights ColdFusion 5, the BigIP 4.02 layer-2 configuration portion of this procedure can be used to run your BigIP with either JRun or ColdFusion 4.5.X server farms.
    ColdFusion 5 Server Monitoring and Hardware Load-Balancing Devices
    www.allaire.com/Handlers/index.cfm?ID=21570

D. Nortel's (Alteon) AceDirector AD3

Nortel's (Alteon) AceDirector AD3 is a very powerful switch; it does a lot more than simply balance Web generated session traffic; it is more than a Web server load balancing device.

  1. This next article cuts through all the information about AD3 that may not be of interest to MES users. It provides a step by step example based procedure to set up a server farm behind AD3; it elaborates how to make the AD3 sensitive to ColdFusion or JRun application failure to enable sever failover on the AD3.
    Clustering Macromedia's Enterprise Application Servers with Alteon's ACEdirector Switch
    www.allaire.com/Handlers/index.cfm?ID=20833
  2. As previously mentioned, Web sites running ColdFusion 5 with any HLD should incorporate the High Availability Monitoring Agent in lieu of passive-mode clustering. The example-based ColdFusion 5 upgrade portion of the following procedure should be used in conjunction with the above AD3 procedure to meet those ends.
    ColdFusion 5 Server Monitoring and Hardware Load-Balancing Devices
    www.allaire.com/Handlers/index.cfm?ID=21570

E. Foundry Networks ServerIronXL

Foundry Networks ServerIronXL is a popular load-balancing switch among Macromedia customers. This article describes in detail a simple layer-two configuration integrating ServerIronXL with Macromedia Enterprise server farms or clusters.

  1. By following the example-based procedures outlined in this article, you will set up a resilient Macromedia enterprise production website employing ServerIronXL. ServerIronXL will provide load balancing and failover; it will also constantly monitor the health of your application servers and your web servers. If it senses a problem with a server, it will redirect session traffic to a healthy server. While ServerIronXL is distributing load based on the algorithm of choice, the ColdFusion Application Manager Server Monitor Agent (or ClusterCATS) will employ probes to monitor and restart any stalled application or web server. It will also send out alarms and status reports that will let your website administrator fix issues before they become problems.
    Integrating ColdFusion or JRun Servers with Foundry Networks ServerIronXL
    www.allaire.com/Handlers/index.cfm?ID=22279

Part II. How are HLDs generally employed on production MES Web sites?

While many high-end HLDs are capable of more tasks than providing load balancing and failover functions for local Web server farms, load balancing and failover are still the primary reasons for integrating HLD solutions with MES farms. Long before an MES cluster out grows the capabilities of ClusterCATS software load balancing, the prudent Web site administrator is exploring hardware options to insure scalability in the face of growth.

A. When should a production MES site make the transition from software-based clustering to HLDs?

As a software-based load balancing option, ClusterCATS is designed to cover a specific niche. Macromedia has set a limit on the number of production servers in a ClusterCATS cluster to eight across each hosting up to six virtual servers or to put it another way, six clusters across eight servers. This is a hard limit to calculate because there are so many other variables such as the type of application, amount of load, length of sessions, etc., but it is safe to say that if your site is growing beyond the need for eight production servers, it is time to consider a hardware solution either incorporating the ColdFusion 5 monitoring option or passive mode clustering as outlined in many of the articles referenced above; this will guarantee your ability to provide resilient server level clustering features such as the Web server probes, application server probes, custom probes, alarms and dfp load balancing algorithms while handling tsunami-style load spikes.

B. Should clustered MES sites incorporate a layer-two or layer-three HLD?

What is the difference between layer- two and layer- three, and what does it have to do with ClusterCATS clustering? A layer-two HLD acts as a bridge, while a layer-three HLD acts as a router. Put another way, a layer-two device can drop into a flat network while a layer-three device is designed to route traffic across interfaces. Most high-end HLDs are capable of being set up in either layer-two or layer-three configurations. Cisco Local Director is traditionally employed as a layer-two device, though you may also set routes and channel session traffic to a different subnet. BIG-IP has traditionally been a layer-three device, though with their latest software release, layer-two is also supported. As a layer-three device, BIG-IP has always had two interfaces each homed on a different subnet. The external interface receives traffic from your external network where it also hosts your virtual server. The internal BIG-IP interface faces the Web server farm and provides it with a default gateway from its private network through BIG-IP to the external network. Using layer-three, the Web server farm is essentially segregated onto it's own private network.

The transition from a cluster of Web servers running ClusterCATS to a layer-two hardware load-balancing solution requires fewer DNS and network configuration changes than would be needed to place in a layer-three device, but it also uses more public address than would be required by a layer-three configuration. It also can be argued that a layer-three configuration provides a context for increased security. As with many such decisions, the layer at which you configure your HLD requires a trade-off. If your site is currently in a public cluster, the public Web server addresses do not need to be changed to accommodate a layer-two device, but they would have to be changed to private addresses to accommodate layer-three where the only public addresses appear on the external interface of the device. In most cases it is better to take the up front hit in administrative overhead and switch to a high-end layer-three device; this will help you gain greater control of your MES sites.

Part III. Which HLD should I buy to balance MES session traffic?

The answer to this question depends upon a number of variables such as your traffic forecast, your server platform of choice, your budget and required feature-set and the disposition of your site. Let's briefly examine each of these criteria, then move on to discuss how Macromedia Consulting Services may be helpful with your decision making and implementation through performance and evaluation testing of your HLD enhanced MES farm.

A. What is your immediate and subsequent session-traffic forecast?

This first question is worth considering because some HLDs offer low entry cost with opportunities for upgrade and expansion as your site grows. Most HLDs can support a very large number of production Web servers and connections. One of the early models of CLD, the Local Director 410, supports 500,000 simultaneous TCP connections, a later model, the 420, handles over 1,000,000. Forecast as best you can, the amount of traffic you will need to handle, compare your requirements with the capabilities of the HLD you are considering and discuss this variable with your hardware vendors.

B. Your server platform of choice

Many MES users have taken into consideration maintaining continuity between the server platform and the preferred HLD. For example, it is not uncommon to find that a Web site running JRun or ColdFusion on Solaris with Apache in production will commonly use BigIP as a hardware solution because BigIP also runs an Apache Web server. The BSD operating system used by BigIP is also considered user friendly by most Solaris users so it follows that Web site administrators who commonly work with Solaris Apache seem to be at home with BigIP.

On the other hand, there are Windows-based sites running IIS that may not be comfortable putting a UNIX system in front of their servers. Many IIS administrators seem to lean toward the PC-based CLD and consequently will tend to upgrade later to CSS.

It may be important to consider other platform variables as well, as aforementioned AceDirector is a powerful switch found performing a number of different tasks. If you already have AceDirectors in your network, uniformity may be desirable. And if you need to purchase internal routers, hubs, bridges or switches, you may wish standardize on a single manufacturer with a uniform support plan. At the very least, the management and administrative interfaces of the HLD should match the training and abilities of your staff.

C. How fat is your budget? What features do you require?

The competition is fierce among HLD vendors. If you are on a tight budget, you will want to comparison shop. While the price of hardware changes constantly, it is safe to say that on the low end, a single CLD solution can be purchased for under $10,000; on the high-end you can triple that figure. Some of the higher-end platforms offer a reduced feature-set with future expansion options to meet the evolving needs of a growing site without a huge upfront expenditure. Other HLD vendors meet their competition head on by offering trade-in and even buy-back programs for sites considering upgrades or a change of HLD platform. One large cost-differentiator is found between global and local solutions. The former is much more expensive than the latter.

D. Is your Web site geographically distributed or is it local?

If your Web site is geographically distributed and you buy a Local Director, you will quickly discover that the word Local is part of the description for a reason! Not all HLDs are created equal; the various platforms offer different capabilities. For example, one of the options available with CSS is content replication across geographically distributed Web sites. CLD, on the other hand, is not designed to publish content nor is it a global solution. And while F5 offers content replication, it is done by a separate platform called Global Site; BigIP does perform global load balancing, but not replication of Web site content without Global Site. AD3 does not offer content replication, but along with global server load balancing, offers a Personal Content Manager which replicates caches. Be sure to carefully prioritize the features you desire and compare your list of requirements with the capabilities of each HLD.

Conclusion

This has been a cursory examination of those HLDs commonly encountered at MES Web sites by Macromedia Consulting Services and support engineers. A number of viable HLDs not covered in this article will be covered in future articles as resources allow and demand requires.

Another helpful resource to assist in you decision making is the Internet Traffic Management Resource Center: www.itmcenter.com. The ITMCenter compares various HLDs and offers the latest industry reports.

If you are serious about adding a hardware load-balancing device in front of your Macromedia Enterprise Server farm, you may wish to have Macromedia Consulting Services come onto your site and run performance and evaluation tests against your staged applications. The consulting service will run performance tests against your MES Web site through any HLD; consulting services can also help you make the transition from ClusterCATS software-based clustering to an HLD solution through integration of your MES Web site with your HLD using the ColdFusion 5 high availability agent. The Macromedia Consulting Service can also help with your decision making process.