Software appliance


A software appliance is a software application combined with just enough operating system to run optimally on industry-standard hardware or in a virtual machine. It is a software distribution or firmware that implements a computer appliance.
Virtual appliances are a subset of software appliances. The main distinction is the packaging format and the specificity of the target platform. A virtual appliance is a virtual machine image designed to run on a specific virtualization platform, while a software appliance is often packaged in more generally applicable image format that supports installations to physical machines and multiple types of virtual machines.
Installing a software appliance to a virtual machine and packaging that into an image, creates a virtual appliance.

Benefits

Software appliances have several benefits over traditional software applications that are installed on top of an operating system:

Virtual appliance

A software appliance can be packaged in a virtual machine format as a virtual appliance, allowing it to be run within a virtual machine container.
A virtual appliance could be built using either a standard virtual machine format such as Open Virtualization Format, or a format specific to a particular virtual machine container.

Live CD appliance

A software appliance can be packaged as a Live CD image, allowing it to run on real hardware in addition to most types of virtual machines.
This allows developers to avoid the complexities involved in supporting multiple incompatible virtual machine image formats and focus on the lowest common denominator instead.

Commercial software appliances

Commercial software appliances are typically sold as a subscription service
and are an alternative approach to software as a service.
Customers can receive all service and maintenance from the application vendor, eliminating the requirement to manage multiple maintenance streams, licenses, and service contracts.
In some cases, the application vendor may install the software appliance on a piece of hardware prior to delivery to the customer, thereby creating a computer appliance. In both cases, the primary value to the customer remains the simplicity of purchase, deployment, and maintenance.