What is the best approach to enterprise caching?

For networks with relatively low performance and reliability demands, proxy servers may make sense. But for companies that count on connectivity, a caching appliance is the better option.

A true caching appliance is more than software running on dedicated hardware; it is an integrated system containing at least some components that are custom-built for the caching function. The remaining components must be specially configured and tuned as well. The caching appliance consists of the network hardware and software, the operating system kernel, file system, cache server and system manager.

Caching appliances offer a number of advantages over software-only offerings. First, an integrated system combining software and hardware is easier to install. Appliances just need to be plugged in and given an IP address.

Second, an appliance is more reliable. Software caches are compromised by any lack of reliability in other system components — software or hardware — that are not under the control of the cache designer. Even simple human errors in configuring the various components in a consistent way can cause a loss in the caching function.

Third, integrated software and hardware provide higher performance. General-purpose operating systems expend significant resources to ensure that competing applications share the machine safely and fairly. Achieving high-performance caching requires the elimination of much of this redundant overhead, as well as the placement of caching functionality as low as possible in the layers of the system. None of these optimizations can be done in a software-only caching product, which cannot change system software outside the caching application itself.

Fourth, total cost of ownership is less for an appliance. Initially, caching software can be less expensive, but over time, the increased management costs surpass the cost of buying an appliance in the first place.

Fifth, an appliance is easier to manage. You can manage appliance caches as a single unit, whereas software caches require you to separately manage other caching components, such as the operating system kernel and hardware.

Finally, an appliance is more secure. Appliances are inherently difficult to break into because they can completely shut down many of the network services typically required of a general-purpose host computer running a software cache. Intruders often use these network services to break into a system.

Software caches can be useful in situations in which performance and reliability are not critical and strong system management expertise is widely available and inexpensive. In general, however, cache appliances represent a more beneficial approach for today’s large enterprises.