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.
- 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
- 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
- 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.
- 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
- 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.
- 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
- 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
- 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.
- 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
- 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.
- 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.