The Appliance Model & General Purpose Software Stacks

Digg this!

In the past few years, there has been a booming interest in appliances as a strategic delivery vehicle for software products. Appliances offer a shrink wrapped, single purposed blend of software and hardware that can be quickly deployed and configured. This offers customers simplicity; appliances reduce the installation overhead and cost associated with general purpose software stacks. The single purposed nature of the appliance also leads to better performance and simpler management. The hardware and software platform can be tuned to the meet the needs of the appliance application domain, with potential for deep integration (Linux has become very popular as a platform such integration). Management also tends to be simpler for a few reasons: the functions of the appliance are well scoped. Customer expectations are either that they drop down the box, configure it, and never think about it again, or that there will be so many appliances as to necessitate proper management infrastructure.

A strong attraction of the appliance model as a delivery vehicle is customer perception around the pricing of appliances. Bulk software sales are often deeply discounted in order to meet price points and the continuing maturation of the software industry has raised fears of shrinking profit margins. Add in the necessity for lower margin professional services to supplement the knowledge and skill required to extend/build/deploy/etc. and the problem is exacerbated. The appeal of the appliance model is predictability: customers know exactly what they're getting and the price valuation tends to reflect that. In addition, the cost of deployment is greatly reduced as there's no need to customize/re-purpose the generalized software stack to meet specific customer needs.

However, the generalized software stack isn't going anywhere any time soon. It offers a key advantage that transcends the appliance model: the ability to evolve. The desire to deploy appliances and forget is evidence that appliances will be around for a long time and thus become part of basic infrastructure. Basic infrastructure evolves very slowly. Moreover, it doesn't matter how many times you update the firmware: you're still going to expect the appliance to work just the way it did, not look radically different. Otherwise, it begins to degrade into a generalized software stack.

One way to look at this comparison is to use the 80/20 rule (or whatever the split). 80% of the common, well understood, and commoditized function gets shrink wrapped into the appliance. The remaining 20% lives on the general purpose software stack. But, it's that 20% that contains the most interesting stuff: the evolving business processes and services, the up and coming initiatives, etc. This is the high value stuff.

Interestingly, the increase in complexity and function in appliances has also pushed many vendors to consider incorporating more commoditized software stacks: there's just too much infrastructure technology required to support today's dynamic services to justify the economics of developing or maintaining a completely proprietary infrastructure. This continues to change how tightly integrated the software is with the hardware. More so, the software and hardware stacks sitting under these appliances resemble general software stack layering. So then what differentiates the appliance is really the management, the pre-working out of all the kinks, and simplicity of single purposed software. But, that sound a lot like "software as a service" in a shrink-wrapped box...