HOME

TheInfoList



OR:

A software appliance is a
software application Application software is any computer program that is intended for end-user use not computer operator, operating, system administration, administering or computer programming, programming the computer. An application (app, application program, sof ...
combined with just enough operating system (JeOS) to run optimally on industry-standard hardware (typically a server) or in a
virtual machine In computing, a virtual machine (VM) is the virtualization or emulator, emulation of a computer system. Virtual machines are based on computer architectures and provide the functionality of a physical computer. Their implementations may involve ...
. It is a
software distribution Software distribution is the process of delivering software to the end user. Free software distribution tools GNU Autotools are widely used for which consist of source files written in C++ and the C programming language, but are not limited t ...
or
firmware In computing Computing is any goal-oriented activity requiring, benefiting from, or creating computer, computing machinery. It includes the study and experimentation of algorithmic processes, and the development of both computer hardware, h ...
that implements a
computer appliance A computer appliance is a computer system with a combination of Computer hardware, hardware, software, or firmware that is specifically designed to provide a particular computing resource. Such devices became known as ''appliances'' because of ...
.
Virtual appliance A virtual appliance is a pre-configured virtual machine image, ready to run on a hypervisor; virtual appliances are a subset of the broader class of software appliances. Installation of a software appliance on a virtual machine and packaging that ...
s 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 A disk image is a snapshot of a storage device's content typically stored in a file on another storage device. Traditionally, a disk image was relatively large because it was a bit-by-bit copy of every storage location of a device (i.e. every ...
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 A live CD (also live DVD, live disc, or live operating system) is a complete booting, bootable computer installation including operating system which runs directly from a CD-ROM or similar storage device into a computer's memory, rather than lo ...
) that supports installations to physical machines and multiple types of virtual machines.Wu C F, Wang Y S, Liu G N, Amies, A, 2012
Create solutions on IBM SmartCloud Enterprise: Transfer image assets between different accounts
''IBM developerWorks'', June 6.
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 An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ...
: * 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 OS compatibility issues, library dependencies or undesirable interactions with other applications. This is known as a "toaster." * 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. * Improved performance: A software appliance does not embed any unused operating system services, applications or any form of bloatware hence it does not have to share the hardware resources (CPU, memory, storage space, ...) usually consumed by these on a generic OS setup. This naturally leads to faster boot time and application execution speed. In the case where multiple software appliances share and run simultaneously on the same hardware (on a virtualization platform for example) this will not hold true as running n instances of a software appliance (OS + software application) will consume more hardware resources than running n instances of a software application on 1 instance of an operating system due to the overhead of running n - 1 more instances of operating system.


Types of software appliances


Virtual appliance

A software appliance can be packaged in a
virtual machine In computing, a virtual machine (VM) is the virtualization or emulator, emulation of a computer system. Virtual machines are based on computer architectures and provide the functionality of a physical computer. Their implementations may involve ...
format as a
virtual appliance A virtual appliance is a pre-configured virtual machine image, ready to run on a hypervisor; virtual appliances are a subset of the broader class of software appliances. Installation of a software appliance on a virtual machine and packaging that ...
, 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 (OVF), or a format specific to a particular virtual machine container (for example, VMware, VirtualBox, or Amazon EC2).


Containers

Containers A container is any receptacle or enclosure for holding a product used in storage, packaging, and transportation, including shipping. Things kept inside of a container are protected on several sides by being inside of its structure. The term ...
and their images (such as those provided by Docker and Docker Hub) can be seen as an implementation of software appliances.


Live CD appliance

A software appliance can be packaged as a
Live CD A live CD (also live DVD, live disc, or live operating system) is a complete booting, bootable computer installation including operating system which runs directly from a CD-ROM or similar storage device into a computer's memory, rather than lo ...
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 (SaaS ) is a cloud computing service model where the provider offers use of application software to a client and manages all needed physical and software resources. SaaS is usually accessed via a web application. Unlike o ...
. 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 A computer appliance is a computer system with a combination of Computer hardware, hardware, software, or firmware that is specifically designed to provide a particular computing resource. Such devices became known as ''appliances'' because of ...
. In both cases, the primary value to the customer remains the simplicity of purchase, deployment, and maintenance.


See also

*
Portable application A portable application (portable app), sometimes also called standalone software, is a computer program designed to operate without changing other files or requiring other software to be installed. In this way, it can be easily added to, run, ...
*
Virtual appliance A virtual appliance is a pre-configured virtual machine image, ready to run on a hypervisor; virtual appliances are a subset of the broader class of software appliances. Installation of a software appliance on a virtual machine and packaging that ...
*
BitNami Bitnami is a library of installers or software packages for web applications and software stacks as well as virtual appliances. Bitnami is sponsored by Bitrock, a company founded in 2003 in Seville, Spain by Daniel Lopez Ridruejo and Erica Bre ...
*
TurnKey Linux Virtual Appliance Library The TurnKey Linux Virtual Appliance Library is a free open-source software project which develops a range of Debian-based pre-packaged server software appliances (also called virtual appliances). Turnkey appliances can be deployed as a virtual m ...
*
SUSE Studio SUSE Studio was an online Linux software creation tool by SUSE. Users could develop their own Linux distro, software appliance, or virtual appliance, mainly choosing which applications and packages they want on their " custom" Linux and how it ...
- builds software appliances *
Windows To Go Windows To Go was a feature in Windows 8 Enterprise, Windows 8.1 Enterprise, Windows 10 Education Windows 10 Enterprise and Windows 11 versions prior to the May 2020 update, that allows the system to boot and run from certain USB mass storag ...


References

{{DEFAULTSORT:Appliance, software Software distribution Operating system distributions bootable from read-only media