Some products, like firewalls, have been sold as appliances for a long time. It made sense to sell one product combining hardware and software as the firewall needs a specially secure configuration of the operating system. However more and more software products are now being sold as appliances. Here are a few recent ones:
- SocialText wiki server
- KACE KBox system management (inventory, software deployment)
- LogLogic security log manager
- SugarCRM customer relationship management system
- Google search engine
- Packeteer iShared caching server
The benefit to you is that you don’t need IT staff to set them up. You don’t need to configure hardware, install system software, and then install the application. The benefit to the vendor is that it is far easier to support. They don’t have to test and support lots of different configurations of the system software or hardware. Licensing is easy to control. They can configure the database, the website and any other secondary software.
Most of these products run on Open Source operating systems. Open Source operating systems are great, but they require a degree of skill to support and they are all different. It is hard to run commercial systems reliably on a wide variety of open source operating systems. Appliances provide a solution to this. Appliances remove a lot of the people costs associated with new projects.
But appliances are also a compromise. The vendor does not need to control what size or type of hardware you choose to use, but he has to. He adds no value in this. The problem is that if you buy appliances you can end up with lots of underused boxes. Regular software allows you flexibility in how to deploy, scale and re-use. It allows you to vary and integrate in ways the vendor may not have planned.
A new variation in software delivery is the Virtual Appliance. This is a complete software implementation running as a virtual server installed on a physical host server. This is the way of the future. You need to set up and support one large physical server running something like VMWare ESX Server. This runs a very small operating system, just sufficient to control the virtual servers and give them access to the physical hardware. In the ESX Server you install and run the virtual appliance servers. Each virtual appliance server is self-contained. It runs its own system software, with all the benefits of the real appliance. However you can scale the hardware resources available to it up or down depending on how much it is used. If you end up not using it much, or replacing it, the physical hardware is completely re-usable. If you need to expand it, you don’t replace it, just scale up the hardware. Here’s a diagram from VMWare:
The virtual appliances are easy to create. In effect the software vendor installs and configured his system once on a virtual server, and then clones it out to customers. If the vendor can produce an appliance, he can produce a virtual appliance. If he does not offer an appliance, he may be able to install and configure the application within a self contained virtual server, and so insulate you from the system software he is using. He can then support it fully, just like a physical appliance. It opens the door to a whole array of applications that run on Open Source.