A virtual appliance is a pre-installed and pre-configured software solution on one or more virtual machines that is optimized for a specific function. A virtual appliance is created via installation of a software appliance on a virtual machine which is then packaged into an image. A virtual appliance uses a pre-installed, pre-configured operating system and an application stack that is customized to provide a specific set of functions.
A virtual appliance typically comes in the open virtualization format (OVF) and is either a pre-installed and configured virtual server image or a pre-installed virtual server that can be imported and used immediately. If a virtual server requires rebuilding, the virtual appliance can simply be reimported instead of reinstalling the operating system and applications from scratch.
A virtual appliance comes in closed and open configurations. In closed configurations, it is always packaged, distributed, maintained, updated and managed as a unit. In open configurations, it is accessible to customers for modification and has interfaces for custom configuration or delivering patches and updates. Virtual appliances play key roles in the quick provisioning of operating systems and applications in PaaS and SaaS cloud delivery models.
Figure 1 shows a virtual switch, router, firewall, load balancer, and Web servers connected within a cloud.
Figure 1 - A network of virtual networking devices supporting redundant virtual Web servers.