Software appliance
Encyclopedia
A software appliance is a software application
Application software
Application software, also known as an application or an "app", is computer software designed to help the user to perform specific tasks. Examples include enterprise software, accounting software, office suites, graphics software and media players. Many application programs deal principally with...

 that might be combined with just enough operating system (JeOS) for it to run optimally on industry standard hardware (typically a server) or in a virtual machine
Virtual machine
A virtual machine is a "completely isolated guest operating system installation within a normal host operating system". Modern virtual machines are implemented with either software emulation or hardware virtualization or both together.-VM Definitions:A virtual machine is a software...

.

Virtual appliance
Virtual appliance
A virtual appliance is a virtual machine image designed to run on a virtualization platform ....

s are a subset of software appliances. The main distinction is the packaging format and the specificity of the target platform. A virtual appliance image is designed to run on a specific virtualization platform, while a software appliance is often packaged in more generally applicable image format (e.g., Live CD
Live CD
A live CD, live DVD, or live disc is a CD or DVD containing a bootable computer operating system. Live CDs are unique in that they have the ability to run a complete, modern operating system on a computer lacking mutable secondary storage, such as a hard disk drive...

) that supports installations to physical machines and multiple types of virtual machines.

Installing a software appliance to a virtual machine and packaging that, creates a virtual appliance.

Benefits

Software appliances have several benefits over traditional software applications that are installed on top of an operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

:
  • Simplified deployment: A software appliance encapsulates an application's dependencies in a pre-integrated, self-contained unit. This can dramatically simplify software deployment by freeing users from having to worry about resolving potentially complex
    Dependency hell
    Dependency hell is a colloquial term for the frustration of some software users who have installed software packages which have dependencies on specific versions of other software packages. This was mainly attributable to old Linux package managers...

     OS compatibility issues, library dependencies or undesirable interactions with other applications. This is known as a "toaster
    Toaster (software)
    Used by the Freedom Toaster project, the term "toaster" refers to a self-contained software package that is easily distributable by electronic means. This use generally connotes free software and is a term occasionally used in the open source software community."A toaster appliance is often made...

    ."

  • Improved isolation: software appliances are typically used to run applications in isolation from one another. If the security of an appliance is compromised, or if the appliance crashes, other isolated appliances will not be affected.

Virtual appliance

A software appliance can be packaged in a virtual machine
Virtual machine
A virtual machine is a "completely isolated guest operating system installation within a normal host operating system". Modern virtual machines are implemented with either software emulation or hardware virtualization or both together.-VM Definitions:A virtual machine is a software...

 format as a virtual appliance
Virtual appliance
A virtual appliance is a virtual machine image designed to run on a virtualization platform ....

, 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 OVF (Open Virtualization Format), or a format specific to a particular virtual machine container (for example, VMware, VirtualBox, or Amazon EC2).

Live CD appliance

A software appliance can be packaged as a Live CD
Live CD
A live CD, live DVD, or live disc is a CD or DVD containing a bootable computer operating system. Live CDs are unique in that they have the ability to run a complete, modern operating system on a computer lacking mutable secondary storage, such as a hard disk drive...

 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

Commercial software appliances are typically sold as a subscription service
(pay-as-you-go) and are an alternative approach to Software as a Service
Software as a Service
Software as a service , sometimes referred to as "on-demand software," is a software delivery model in which software and its associated data are hosted centrally and are typically accessed by users using a thin client, normally using a web browser over the Internet.SaaS has become a common...

.

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
Computer appliance
A computer appliance is generally a separate and discrete hardware device with integrated software , specifically designed to provide a specific computing resource. These devices became known as "appliances" because of their similarity to home appliances, which are generally "closed and sealed" –...

. In both cases, the primary value to the customer remains the simplicity of purchase, deployment, and maintenance.

See also

  • Portable application
    Portable application
    A portable application , sometimes also called standalone, is a computer software program designed to run independently from an operating system...

  • Virtual appliance
    Virtual appliance
    A virtual appliance is a virtual machine image designed to run on a virtualization platform ....

  • TurnKey Linux Virtual Appliance Library
  • SUSE Studio
    SUSE Studio
    SUSE Studio is an online Linux image creation tool by Novell. Users can develop their own Linux OS, software appliance or virtual appliance, mainly choosing which applications and packages they want on their "custom" Linux and how it looks...

     - builds software appliances
  • Windows To Go
    Windows To Go
    Windows To Go is a feature in Windows 8 that allows the entire system to run from USB mass storage devices such as flash drives and external hard drives....

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK