Virtual appliance

From Wikipedia, the free encyclopedia

Jump to: navigation, search
An example of a Virtual appliance (Ubuntu) running inside VMware Workstation on Windows Vista

A virtual appliance is a virtual machine image designed to run on a virtualization platform (e.g., VMware Workstation, Xen, VirtualBox).

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

A virtual appliance is not a virtual machine, but rather a software image containing a software stack designed to run inside a virtual machine. Like a physical machine, a virtual machine is merely a platform for running an operating system environment and by itself does not contain 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 an appliance.[1]. 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.

[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

[edit] References

Personal tools