September 15, 2008

The Virtual Appliance?

In the world of IT the demarcation between servers, storage, networking, software, and a bevy of other devices is becoming is less clear every day. In particular, this got me thinking about one piece of IT equipment that I am not even sure is still an actually piece of equipment, the IT appliance.

Back in the days of slow computers (say the late 1990s and earlier) it was not at all uncommon to find a variety of appliances being pitched by vendors to organizations that might be seeking to improve their security performance, or find a fast enough spam filter, or maybe deploy a turnkey email and network access solution for a small office. Through the use of dedicated or specialized hardware, it was possible to buy a box that could be simply plugged into the network and would hopefully solve an IT problem without requiring changing the existing infrastructure. In that era of hyper IT growth and fear of the competition springing ahead in the boom, the specific function appliance had an undeniable appeal.

Appliances by comparison with other technologies are rather boring. Boring because you plug them in, and they work. Not all that much to be concerned with once they are set up. Not much job security in becoming the expert in their deployment and configuration. This draws many parallels with basic network functions that are simply assumed to exist and will work upon demand. When was the last time a user cared about the availability specific disk array? Users just mount network file systems (if the desktop hadn’t already automatically done so.) Likewise, when’s the last time a non-IT person thought about the hardware on which the email service is provided? Users just open their email software or web browser and go about their business. So, why are appliances on the top of my mind again?

During the dog days of this summer, I ventured to a few trade shows in San Francisco. I noticed that some vendors, and their requisite marketing staves that descend upon helpless analysts plying the corridors of such events, were busily talking about their new appliances. Yet, in some cases, these appliances were not of the traditional ilk, as there was no shiny standalone box. “That’s a nice appliance you have there, now may I see it? “ These appliances were not physical, but rather a set of useful functions being delivered across the network. These functions could reside on a dedicated box, or on an existing server, partition, or virtual machine; or even as collection of processes on a blade. With this reality, I began pondering whether from a philosophical perspective there is still a valid distinction between a special purpose appliance and a collection of useful network based functions?

Considering that the raw horsepower available in today’s generic servers/blades for the most part trumps the highest performance ASICs or specialized server environments of the era, for most environments, does the traditional specialized IT appliance still fit the bill? In some cases, specialized hardware is still the way to go, especially for the most demanding large scale environments; however, I suspect that the notion of a standalone physical appliance will give way to a virtual one. As such, we may soon witness “appliances” appearing on the network that are merely virtual instantiations of software which is deployed on the most convenience or cost effective hardware resource available at that moment. In an IT era that is all the more defined by its increased consolidation and virtualization, it only makes sense that purpose specific appliances would evolve their physical properties as well.

But let us not get so caught up in the physical realm and consider why appliances were deployed in the first place; they were deployed to solve a problem. The choice of how to deploy a network application, service, storage, etc. should ultimately be driven by the best practices of the organization as dictated by its needs, finances, and external factors such as regulatory and customary trading practices. Whether an appliance is virtual or physical is a matter of convenience, i.e. a means to an end, not the end in and of itself. Although some might think that having IT appliances was the reason for their creation, more likely the reason for appliance deployments was to provide a solution to an IT or business problem.

So, if an appliance is not necessarily a discrete box, what is the difference between it and a network service? Or perhaps more importantly, does there have to be a difference and why should we ultimately care? All religious arguments about the “right way” to do something (at least from an engineering perspective) aside, I posit that it doesn’t really matter to the end user, if not the IT manager. For most users, the physical attributes and/or location of the appliance is a moot point, it is the function or service that it provides that is paramount.

But then, just what will define an IT appliance? Going forth, this is less clear and is a topic that I am sure many a marketing person will apply themselves to with an interesting resultant flurry of marketing spin and collateral to follow. However it does seem that the other mantra of current IT, namely energy efficiency and the greening of the data center, would support less dependence on discrete physical entities and more dependence on virtualized and consolidated functionality.

Nevertheless, there is one important IT appliance that I am positive will never transform from the physical to virtual realm. This is the one that is powered by java beans, not of the software type, but of the French Roast variety.