Last night's episode of This Week in Cloud Computing features BlueLock's CTO and Co-Founder Pat O'Day. In the episode the subject of application & virtual machine portability comes up several times and Pat discusses one aspect of VM deployment: allowing several virtual machines to be deployed together as a singular, orchestrated virtual application solution. In VMware parlance this kind of logical grouping is considered a vApp, or virtual application solution.
The distinction between vApps and VMs can get a bit foggy and unclear at times. Things become a bit clearer when you take a look at the Open Virtualization Format (OVF) specification, which outlines the metadata that describes a vApp. In a nutshell: vApps are ultimately not definied by the virtual machines that run within them, but instead is a way of telling your infrastructure how VMs can play nicely with each other. Should the exist within an isolated network? How should IP addresses be allocated? Do you start the database server before the application server? Where did that other sock go? The OVF format lets your cloud infrastructure know all the facts necessary during deployments, shutdowns and re-starts.
This can be especially handy for disaster recovery. Imagine a meteor strikes your primary cloud hosting facility. Even though your operations staff now has super-powers, your data center is toast. Luckily you had the presence of mind to keep your vApps in an off-site data center that automagically activates when the primary data center goes offline. Thanks to the vApp's metadata, the disaster recovery site knows how to start an entire n-tier web application in an orderly fashion so that dependent services don't start out-of-order.
This kind of virtual application meta-data is being continuously extended to include service levels and quality of service data so that vApps can be deployed or even migrate to the most ideal resource pool either based on cost, performance or a mix between the two. This specification is evolving, and so are the use cases and technology stack that supports it. As the cloud ecosystem matures we will continue to see innovative ways to focus on not just the virtual machine, but the entire virtual solution.