Virtual appliance

From Wikipedia, the free encyclopedia

Jump to: navigation, search
An example of a Virtual appliance (Ubuntu)

A virtual appliance is a minimalist virtual machine image designed to run under some sort of virtualization technology (like VMware Workstation, Citrix XenServer, VirtualBox or many others).

Virtual appliances are a subset of the broader class of software appliances. Like software appliances, virtual appliances are aimed to eliminate the installation, configuration and maintenance costs associated with running complex stacks of software.

A key concept that differentiates a virtual appliance from a virtual machine is that a virtual appliance is a fully pre-installed and pre-configured application and operating system environment whereas a virtual machine is, by itself, without application software.

Typically a virtual appliance will have a web interface to configure the inner workings of the appliance. A virtual appliance is usually built to host a single application, and so represents a new way of deploying network applications.

As an example, the MediaWiki software that powers Wikipedia is available as a virtual appliance. This appliance contains all the necessary software, including operating system, database and MediaWiki, to run a wiki installation as a "black box".

Contents

[edit] Relationship to Grid computing

Virtualization solves a key problem in the grid computing 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. Argonne National Laboratory in the United States has done some significant work in this area. An appliance for Grid computing developed at the University of Florida was one of the recipients of an honorable mention from the 2006 VMware UVA challenge.

[edit] Relationship to Software as a Service (SaaS)

With the rise of virtualization as a platform for hosted services provision, virtual appliances provide a direct route for traditional on-premises applications to be rapidly redeployed in a Software as a Service (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 cost prohibitive 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.

[edit] See also

[edit] External links

Personal tools
Languages