Virtual Appliance FAQs
By peter.stilgoe
Q:
What is a computing appliance?
A:
According to various sources on the Internet, a ‘computing appliance’ is a class of computer product which is designed with a specific function in mind and has limits on the ability to be configured beyond that specific function.
There are three forms of computer appliances currently in common use:
ASIC (Application-Specific Integrated Circuit) based devices with no separate operating system. The device has a limited user interface (usually available via web browser or serial connection) that allows basic configuration of the device. Devices in this class of appliance can include items like DSL Routers, Cable Modems, Music Players (iPod, etc.). Often, devices in this class are solid-state devices and may or may not have disks for storage.
General purpose computer with a custom operating system that integrates an application directly into the OS. Because of the custom nature of the operating system, vendors tend to lock these devices down to a minimal set of configuration options and may completely restrict access to the device. Cisco’s IOS-based routers and Azul Systems Network Attached Processing Appliance are examples of devices in this class.
General purpose computer with a standard operating system that is used to host a specific application. This class of device generally locks down the operating system to only allow use of the specific application that the device was built to support. Devices in this category generally use open-source operating systems like Linux to host their applications. Examples of devices in this class include the Google Search Appliance, the Barracuda Anti-SPAM Appliance, and the Cast Iron Application Router.
Generally, the reason devices are called appliances is that they share some characteristics with more traditional household appliances. In that regard, computing appliances tend to be:
-
Designed to provide a specific set of functionality
Limited to specific vendor provided configurations
Closed and sealed devices
Not repairable or upgradable by the owner
Simple with a limited user interface
Intended for plug-and-play installation and setup
Q:
What is a virtual appliance?
A:
A virtual appliance is similar to a ‘traditional’ computing appliance and is designed with a specific function in mind. The major difference is that instead of being built on a physical computing device, a virtual appliance is built using virtual machine and can be run on VMware Player, VMware Workstation, VMware Server, or VMware ESX Server. A virtual appliance starts with a pre-installed and pre-configured operating system. In addition to the base operating system, a virtual appliance contains a pre-installed and pre-configured application. The application may have multiple components and services to provide the required functionality.
The key benefit to building virtual appliances is that developers/vendors no longer need to build, test, and ship physical hardware devices while they still maintain the benefits of providing a ‘sealed’, purpose-built solution.
The key benefits to users of virtual appliances focus around simplicity. Virtual appliances can be deployed in a user’s environment quickly and easily with very little interaction. Virtual appliances can be used with VMware virtualization products that can run on the standard x86 hardware already in the user’s environment (thus simplifying or eliminating hardware procurement issues).
Q:
What is the difference between a virtual appliance and a virtual machine?
A:
A virtual appliance is a type of virtual machine. A virtual machine can be as simple as the base install of an operating system that is intended to be used as a general purpose desktop or server environment. Generally, to use such a virtual machine, users need to install whatever software they need to get their jobs done. On the other hand, a virtual appliance contains all the pre-configured components (OS, services, applications, etc) to solve a specific problem. A virtual appliance is intended to give the user the ability to jump start their efforts around a specific task as the appliance would typically take minimal effort to configure for any specific environment (network configuration, initial tool configuration, etc.). Virtual appliances are not general purpose Virtual Machines. They are designed to solve a specific problem and are intended to simplify the installation and management of the solution.
Q:
Are there different types of virtual appliances?
A:
In a general, there are two classes of virtual appliance:
Purpose-Built Virtual Appliance: This type of virtual appliance locks down access to the operating system to only allow use of the specific application that the virtual appliance was built to support. Configuration options are limited and are typically controlled through a limited command-line interface or through a browser interface that is exposed by the virtual appliance.
Reference Implementation Virtual Appliance: This type of virtual appliance is similar to the Purpose-Built Virtual Appliance in that it is built to serve the needs of a specific application or class of application. Unlike the Purpose-Built Virtual Appliance, this type of appliance allows the user to modify the reference configuration to suit their needs. An example of this class of virtual appliance would be an appliance built to serve J2EE applications. Such an appliance would include a pre-installed and pre-configured operating system, J2EE application server, and optionally a basic install of a database server. This class of appliance would allow the user to tweak the underlying OS, the J2EE application server, and the database server to meet their needs. The user of this class of appliance would be free to add additional components as necessary to serve the requirements of their specific application.
Q:
How do I build a virtual appliance?
A:
Best practices for building a virtual appliance are available on our VMware Technology Network (VMTN). Please review the best practices before you build your virtual appliance
Q:
Why build a virtual appliance?
A:
Building a virtual appliance is a compelling new approach to software distribution. Deploying software as a virtual appliance eliminates many of the stumbling blocks associated with traditional software distribution. With a virtual appliance, you can now ship pre-installed, pre-configured, and tested standard configurations that enable the end-users of your software to literally plug your solutions into their environments with minimal effort. Not only does this decrease the time it takes to get your software up and running in your users environments; but it also decreases potential support issues related to incorrectly configured software or hardware. Users can simply download your virtual appliance and run it with VMware virtualization software. Learn more about the benefits of building virtual appliances.
Q:
How can virtual appliances be deployed to new VMware users? How do virtual appliances work in existing VMware environments?
A:
With the release of the VMware Player and VMware Server, it is now free for virtual appliance users to get started with this kind of approach to solving their problems. As a customer’s needs evolve, they can adopt other VMware technologies like VMware Workstation, VMware ACE, and VMware ESX Server. Virtual appliances can be run on current releases of all these products. Virtual appliances can easily share the same infrastructure as other virtual machines within the customer’s infrastructure.
For users with existing VMware infrastructure, adding a virtual appliance is as simple as deploying any other VM within their environment. In fact, virtual appliances can take advantage of the benefits provided by high-end VMware configurations and features like VMotion™ and can be centrally managed by the VMware VirtualCenter. Virtual appliances can co-exist along side existing virtual machines already running within a host machine.
Q:
Can I use a Microsoft Windows operating system for my virtual appliance?
A:
Unfortunately, due to licensing restrictions on the redistribution of the Windows family of operating systems, you cannot create a virtual appliance with Windows. While there is nothing that would preclude you technically from building a virtual appliance with any of the Windows operating systems (in fact VMware even works with the beta releases of Windows Vista), licensing and distribution restrictions make it all but impossible to do so. The key to your use of any operating system within a virtual appliance is ensuring that you have the rights to distribute that operating system with your appliance.
Sources
http://www.vmware.com/vmtn/appliances/
http://en.wikipedia.org/wiki/Appliance
http://www.pcmag.com/encyclopedia_term/0,2542,t=firewall+appliance&i=43219,00.asp
http://www.pcmag.com/encyclopedia_term/0,2542,t=Internet+appliance&i=45195,00.asp
http://www.pcmag.com/encyclopedia_term/0,2542,t=server+appliance&i=51155,00.asp
http://dict.die.net/appliance/
http://www.answers.com/topic/appliance
More From pstilgoe



June 20th, 2007
