In the IT world, an appliance is a complete stack of functionality in a single, closed system. Typically this will include the hardware, operating environment, any required middleware, and the application functionality itself, all in a single pre-built, pre-configured device.
The analogy is often drawn to basic household appliances like washing machines, and to more ‘high-tech’ devices such as digital video recorders (DVRs), which are increasingly complex and computerized. The TiVo, for example, is a sophisticated Linux-based multi-media computer, yet it is entirely plug-and-play, requiring no software installation or knowledge of the underlying computing capabilities.
Just like these household appliances, IT appliances are intended to encapsulate complex, sophisticated computing functions, in an easy to use, plug-and-play device.
The world of IT appliances is mature and full. They have long been typical in many fields of IT, including:
In addition to traditional hardware-based appliances, a new category of appliances has recently started to emerge, called ‘virtual appliances’. Instead of shipping on a physical hardware device, as a traditional appliance does, these virtual appliances ship as complete environments, minus only the hardware. They are software only. Bundled into a virtual machine, this software is designed to abstract the operating environment from the hardware it runs on.
Like a physical appliance, a virtual appliance will consist of a complete operating environment—operating system, middleware, Web server, database, application, etc.—but instead of the physical hardware, it will be packaged into a virtual format that is quickly and easily instantiated into a compatible virtualization environment.
These virtual appliances run on top of server and operating system virtualization systems, including Microsoft Virtual Server, VMware Infrastructure or ESX Server, Xen, Linux Jails, Solaris Containers, Virtual Iron, Microsoft Virtual PC, or other virtualization technology.
Due primarily to licensing concerns, most virtual appliances tend to be open source, free, or trial-only software.
There are many advantages of virtual appliances. For example:
Cost Effectiveness. The appliance model is very cost-effective. Without even the blade hardware of a physical appliance, virtual appliances are even cheaper than standard appliances. Further, most virtual appliances are free, open source software. Of course, you will still need hardware and software to run it but in many cases a spare server, or even spare capacity on an existing server, will probably do.
Ease of Implementation. Virtual appliances come with the operating system, Web server, middleware, databases, and applications fully installed, preconfigured, integrated, and ready to go. Implementation mostly consists of simply decompressing the appliance file, and loading the resulting virtual image into the virtual server.
Simplicity. Virtual appliances often come built with very slim, cut-down environments, running just the bare necessities to support the specific functionality that is required. This makes the operating environment more efficient, reduces integration issues, resolves most version conflicts, and removes the need to manually tune or optimize components.
Security. A cut-down, hardened virtual appliance environment does just what is needed, and no more, so it is mostly protected from the exposures of unwanted and unneeded services (e.g. FTP, Mail, open Web server, management agents, etc.) and interfaces (open ports, APIs, etc.), that may be exploited by hackers or malware.