This article has multiple issues. Please helpimprove it or discuss these issues on thetalk page.(Learn how and when to remove these messages) (Learn how and when to remove this message)
|
Asoftware appliance is asoftware application combined withjust enough operating system (JeOS) to run optimally on industry-standard hardware (typically aserver) or in avirtual machine.[1] It is asoftware distribution orfirmware that implements acomputer appliance.[2][3]
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 avirtual machine image designed to run on a specificvirtualization platform, while a software appliance is often packaged in more generally applicable image format (e.g.,Live CD) that supports installations to physical machines and multiple types of virtual machines.[4][5][6]
Installing a software appliance to a virtual machine and packaging that into an image, creates a virtual appliance.
Software appliances have several benefits over traditional software applications that are installed on top of anoperating system:
n instances of a software appliance (OS + software application) will consume more hardware resources than runningn instances of a software application on1 instance of an operating system due to the overhead of runningn - 1 more instances of operating system.A software appliance can be packaged in avirtual machine format as avirtual 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 asOpen Virtualization Format (OVF), or a format specific to a particular virtual machine container (for example, VMware, VirtualBox, or Amazon EC2).
Containers and their images (such as those provided byDocker and Docker Hub) can be seen as an implementation of software appliances.
A software appliance can be packaged as aLive 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 (i.e., ISO images are supported by most Virtual Machine platforms).
Commercial software appliances are typically sold as a subscription service (pay-as-you-go) and are an alternative approach tosoftware 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 acomputer appliance. In both cases, the primary value to the customer remains the simplicity of purchase, deployment, and maintenance.