What is a virtual appliance?
A virtual appliance is a virtual machine image file consisting of a preconfigured operating system environment and a single application. The purpose of a virtual appliance is to simplify delivery and operation of the application. To this end, only necessary operating system components are included.
Deploying an application as a virtual appliance eliminates problems with installation and configuration, such as software or driver compatibility issues. Users can simply download a single file and run the application. Resources required for maintenance are also reduced. Developers can include a Web interface for custom configurations or delivering patches and updates.
Virtual appliances have proven useful in deploying network applications. They are also helpful in grid computing, where they can solve the problem introduced by heterogeneous hardware and operating systems, and in Software as a Service (SaaS), where the simplicity of the virtual appliance can help leverage economies of scale.
Virtual appliances are a subset of the broader class of software appliances.