Virtual appliance
Encyclopedia
A virtual appliance is a virtual machine
image designed to run on a virtualization platform (e.g., VirtualBox
, Xen
, VMware Workstation
, Parallels Workstation
).
Virtual appliances are a subset of the broader class of software appliance
s. Installation of a software appliance on a virtual machine creates a virtual appliance. Like software appliances, virtual appliances are intended to eliminate the installation, configuration and maintenance costs associated with running complex stacks of software.
A virtual appliance is not a complete virtual machine platform, but rather a software image
containing a software stack designed to run on a virtual machine platform which may be a Type 1 or Type 2 hypervisor
. Like a physical computer, a hypervisor is merely a platform for running an operating system environment and does not provide application software
itself.
Many virtual appliances provide a Web page
user interface
to permit their configuration. A virtual appliance is usually built to host a single application; it therefore represents a new sort of deploying
network application.
(DMTF) publishes the OVF specification documentation. Most virtualization vendors, including VMware, Microsoft, Oracle, and Citrix, support OVF for virtual appliances.
arena - namely, the reality that any sufficiently large grid will inevitably consist of a wide variety of heterogeneous hardware and operating system configurations. Adding virtual appliances into the picture allows for extremely rapid provisioning of grid nodes and importantly, cleanly decouples the grid operator from the grid consumer by encapsulating all knowledge of the application within the virtual appliance.
(SaaS) mode - without requiring major application re-architecture for multi-tenancy
. By decoupling the hardware and operating system infrastructure provider from the application stack provider, virtual appliances allow economies of scale on the one side to be leveraged by the economy of simplicity on the other. Traditional approaches to SaaS, such as that touted by Salesforce.com, leverage shared infrastructure by forcing massive change and increased complexity on the software stack.
A concrete example of the virtual appliances approach to delivering SaaS is the Amazon Elastic Compute Cloud
(EC2) - a grid of Xen hypervisor nodes coupled with the availability of pre-packaged virtual appliances in the Amazon Machine Image format. Amazon EC2 reduces the cost-barrier to the point where it becomes feasible to have each customer of a hosted SaaS solution provisioned with their own virtual appliance instance(s) rather than forcing them to share common instances. Prior to EC2, single-tenant hosted models were too expensive, leading to the failure of many early ASP
offerings.
Furthermore, in contrast to the multi-tenancy approaches to SaaS, a virtual appliance can also be deployed on-premises for customers that need local network access to the running application, or have security requirements that a third-party hosting model does not meet. The underlying virtualization technology also allows for rapid movement of virtual appliances instances between physical execution environments. Traditional approaches to SaaS fix the application in place on the hosted infrastructure.
Many WAN optimization virtual appliances (Certeon, Replify, Expand Networks, etc.) have been certified by VMware.
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...
image designed to run on a virtualization platform (e.g., VirtualBox
VirtualBox
Oracle VM VirtualBox is an x86 virtualization software package, originally created by software company Innotek GmbH, purchased by Sun Microsystems, and now developed by Oracle Corporation as part of its family of virtualization products...
, Xen
Xen
Xen is a virtual-machine monitor providing services that allow multiple computer operating systems to execute on the same computer hardware concurrently....
, VMware Workstation
VMware Workstation
VMware Workstation is a virtual machine software suite for x86 and x86-64 computers from VMware, a division of EMC Corporation, which allows users to set up multiple x86 and x86-64 virtual machines and use one or more of these virtual machines simultaneously with the hosting operating system...
, Parallels Workstation
Parallels Workstation
Parallels Workstation is the first commercial software product released by Parallels, Inc., a developer of desktop and server virtualization software...
).
Virtual appliances are a subset of the broader class of software appliance
Software appliance
A software appliance is a software application that might be combined with just enough operating system for it to run optimally on industry standard hardware or in a virtual machine....
s. Installation of a software appliance on a virtual machine creates a virtual appliance. Like software appliances, virtual appliances are intended to eliminate the installation, configuration and maintenance costs associated with running complex stacks of software.
A virtual appliance is not a complete virtual machine platform, but rather a software image
System image
A system image in computing is a copy of the entire state of a computer system stored in some non-volatile form such as a file. A system is said to be capable of using system images if it can be shut down and later restored to exactly the same state...
containing a software stack designed to run on a virtual machine platform which may be a Type 1 or Type 2 hypervisor
Hypervisor
In computing, a hypervisor, also called virtual machine manager , is one of many hardware virtualization techniques that allow multiple operating systems, termed guests, to run concurrently on a host computer. It is so named because it is conceptually one level higher than a supervisory program...
. Like a physical computer, a hypervisor is merely a platform for running an operating system environment and does not provide application software
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...
itself.
Many virtual appliances provide a Web page
Web page
A web page or webpage is a document or information resource that is suitable for the World Wide Web and can be accessed through a web browser and displayed on a monitor or mobile device. This information is usually in HTML or XHTML format, and may provide navigation to other web pages via hypertext...
user interface
User interface
The user interface, in the industrial design field of human–machine interaction, is the space where interaction between humans and machines occurs. The goal of interaction between a human and a machine at the user interface is effective operation and control of the machine, and feedback from the...
to permit their configuration. A virtual appliance is usually built to host a single application; it therefore represents a new sort of deploying
Software deployment
Software deployment is all of the activities that make a software system available for use.The general deployment process consists of several interrelated activities with possible transitions between them. These activities can occur at the producer site or at the consumer site or both...
network application.
File formats
Virtual appliances are provided to the user or customer as files, via either electronic downloads or physical distribution. The file format most commonly used is the Open Virtualization Format (OVF). The Distributed Management Task ForceDistributed Management Task Force
Distributed Management Task Force is an industry organization that develops, maintains and promotes standards for systems management in enterprise IT environments. These standards allow for building systems management infrastructure components in a platform-independent and technology-neutral way...
(DMTF) publishes the OVF specification documentation. Most virtualization vendors, including VMware, Microsoft, Oracle, and Citrix, support OVF for virtual appliances.
Relationship to Grid computing
Virtualization solves a key problem in the grid computingGrid computing
Grid computing is a term referring to the combination of computer resources from multiple administrative domains to reach a common goal. The grid can be thought of as a distributed system with non-interactive workloads that involve a large number of files...
arena - namely, the reality that any sufficiently large grid will inevitably consist of a wide variety of heterogeneous hardware and operating system configurations. Adding virtual appliances into the picture allows for extremely rapid provisioning of grid nodes and importantly, cleanly decouples the grid operator from the grid consumer by encapsulating all knowledge of the application within the virtual appliance.
Relationship to Software as a Service (SaaS)
With the rise of virtualization as a platform for hosted services provision, virtual appliances have come to provide a direct route for traditional on-premises applications to be rapidly redeployed in a Software as a ServiceSoftware 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...
(SaaS) mode - without requiring major application re-architecture for multi-tenancy
Multitenant
Multitenancy refers to a principle in software architecture where a single instance of the software runs on a server, serving multiple client organizations . Multitenancy is contrasted with a multi-instance architecture where separate software instances are set up for different client organizations...
. By decoupling the hardware and operating system infrastructure provider from the application stack provider, virtual appliances allow economies of scale on the one side to be leveraged by the economy of simplicity on the other. Traditional approaches to SaaS, such as that touted by Salesforce.com, leverage shared infrastructure by forcing massive change and increased complexity on the software stack.
A concrete example of the virtual appliances approach to delivering SaaS is the Amazon Elastic Compute Cloud
Amazon Elastic Compute Cloud
Amazon Elastic Compute Cloud is a central part of Amazon.com's cloud computing platform, Amazon Web Services . EC2 allows users to rent virtual computers on which to run their own computer applications...
(EC2) - a grid of Xen hypervisor nodes coupled with the availability of pre-packaged virtual appliances in the Amazon Machine Image format. Amazon EC2 reduces the cost-barrier to the point where it becomes feasible to have each customer of a hosted SaaS solution provisioned with their own virtual appliance instance(s) rather than forcing them to share common instances. Prior to EC2, single-tenant hosted models were too expensive, leading to the failure of many early ASP
Application service provider
An application service provider is a business that provides computer-based services to customers over a network. Software offered using an ASP model is also sometimes called On-demand software or software as a service ....
offerings.
Furthermore, in contrast to the multi-tenancy approaches to SaaS, a virtual appliance can also be deployed on-premises for customers that need local network access to the running application, or have security requirements that a third-party hosting model does not meet. The underlying virtualization technology also allows for rapid movement of virtual appliances instances between physical execution environments. Traditional approaches to SaaS fix the application in place on the hosted infrastructure.
Relationship to WAN Optimization
The performance and productivity benefits of wide area networking (WAN) optimization solutions have been well established within distributed enterprises. However, how WAN optimization is implemented within a virtual machine infrastructure is critical to realizing these benefits within enterprises deploying virtualization and cloud computing. Supporting WAN optimization within a virtual machine infrastructure as a virtual appliance enables IT managers to meet their consolidation goals and at the same time reap the benefits of lower application response time and network bandwidth utilization, and reduced costs related to WAN optimization. Software-based WAN optimization virtual appliances are an excellent alternative to single-purpose hardware appliances, and enable high performance, agile and cost-effective WANs which can act as solid foundations for those enterprises and managed service providers considering virtualization and cloud computing.Many WAN optimization virtual appliances (Certeon, Replify, Expand Networks, etc.) have been certified by VMware.
See also
- VirtualBoxVirtualBoxOracle VM VirtualBox is an x86 virtualization software package, originally created by software company Innotek GmbH, purchased by Sun Microsystems, and now developed by Oracle Corporation as part of its family of virtualization products...
- VMware PlayerVMware PlayerVMware Player is a freeware virtualization software package from VMware, Inc. . VMware Player can run virtual appliances. VMware Player can also create virtual machines since version 3.0...
- Software applianceSoftware applianceA software appliance is a software application that might be combined with just enough operating system for it to run optimally on industry standard hardware or in a virtual machine....
- Virtual backup applianceVirtual Backup Appliance-Definition:A Virtual Backup Appliance is a small virtual machine that backs up and restores other virtual machines.Unlike some backup solutions that require a dedicated host to act as a proxy server for the backups, virtual backup appliances use the virtual infrastructure platform itself for the...
- TurnKey Linux Virtual Appliance Library
- rPathRPathrPath, Inc. is a technology company based in Raleigh, North Carolina that provides a platform for enterprise IT organizations, independent software vendors and on-demand service providers to automate the process of constructing , deploying and updating software stacks across physical, virtual and...
- BitnamiBitnamiBitnami is an open source project that produces open source installers or software packages for web applications and solution stacks as well as virtual appliances. Bitnami is sponsored by Bitrock a company founded in 2003 in Seville, Spain by Daniel Lopez Ridruejo...
- Comparison of platform virtual machines
- Cloud platforms
- Virtual disk imageVirtual disk imageA virtual disk image is a file on a physical disk, which has a well-defined, published or proprietary, format and is interpreted by a Virtual Machine Monitor as a hard disk. IT administrators and software developers administer them through offline operations using built-in or third-party tools...
- SUSE StudioSUSE StudioSUSE 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...
- Novell solution for building virtual appliances for VMDK/VMwareVMDKThe VMDK file format is a type of virtual appliance developed for VMware products. The format is open/documented.-Products that use the format:* VMware Workstation* VMware Player* VMware Server* VMware Fusion...
, XenXenXen is a virtual-machine monitor providing services that allow multiple computer operating systems to execute on the same computer hardware concurrently....
, KVMKernel-based Virtual MachineKernel-based Virtual Machine is a virtualization infrastructure for the Linux kernel. KVM supports native virtualization on processors with hardware virtualization extensions....
, OVF and Amazon EC2 (AMI)Amazon Machine ImageAn Amazon Machine Image is a special type of virtual appliance which is used to instantiate a virtual machine within the Amazon Elastic Compute Cloud...