Realizzazione di macchine virtuali portabili: lo standard Open Virtual Machine Format (OVF)
The rapid adoption of virtual infrastructure has highlighted the need for a standard, portable meta-data model for the distribution of virtual machines to and between virtualization platforms. Packaging an application together with the operating system on which it is certified, into a virtual machine that can be easily transferred from an ISV, through test and development and into production as a pre-configured, pre-packaged unit with no external dependencies, is extremely attractive.
Such pre-deployed, ready to run applications packaged as virtual machines (VMs) are called virtual appliances. In order to make this concept practical on a large scale it is important that the industry adopts a vendorneutral standard for the packaging of such VMs and the meta-data that are required to automatically and securely install, configure, and run the virtual appliance on any virtualization platform. Virtual appliances are changing the software distribution paradigm because they allow application builders to optimize the software stack for their application and deliver a turnkey software service to the end user. For solution providers, building a virtual appliance is simpler and more cost effective than building a hardware appliance, since the application is pre-packaged with the operating system that it uses, reducing application/OS compatibility testing and certification, and allowing the software to be pre-installed in the OS environment it will run in ? by the ISV. For end users, virtual appliances offer an opportunity to dramatically simplify the software management lifecycle through the adoption of a standardized, automated, and efficient set of processes that replace OS and application specific management tasks today.
Whereas current virtual appliances contain a single VM only, modern enterprise applications model service oriented architectures (SOA) with multiple tiers, where each tier contains one or more machines. A single VM model is thus not sufficient to distribute a multi-tier service. In addition, complex applications require install-time customization of networks and other customer specific properties. Furthermore, a virtual appliance is packaged in a run-time format with hard disk images and configuration data suitable for a particular hypervisor. Run-time formats are optimized for execution and not for distribution. For efficient software distribution, a number of additional features become critical, including portability, platform independence, verification, signing, versioning, and licensing terms.
The Open Virtual Machine Format (OVF) specification is a hypervisor-neutral, efficient, extensible, and open specification for the packaging and distribution of virtual appliances composed of one or more VMs. It aims to facilitate the automated, secure management not only of virtual machines but the appliance as a functional unit. For the OVF format to succeed it must be developed and endorsed by ISVs, virtual appliance vendors, operating system vendors, as well as virtual platform vendors, and must be developed within a standards-based framework...
From the user's point of view, an OVF is a packaging format for software appliances. Once installed, an OVF adds to the user's infrastructure a self-contained, self-consistent, software solution for achieving a particular goal. For example, an OVF might contain a fully-functional and tested web-server / database / OS combination, such as a LAMP stack (Linux + Apache + MySQL + PHP), or it may contain a virus checker, including its update software, spyware detector, etc.
From a technical point of view, an OVF is a transport mechanism for virtual machine templates. One OVF may contain a single VM, or many VMs (it is left to the software appliance developer to decide which arrangement best suits their application). OVFs must be installed before they can be run; a particular virtualization platform may run the VM from the OVF, but this is not required. If this is done, the OVF itself can no longer be viewed as a 'golden image' version of the appliance, since run-time state for the virtual machine(s) will pervade the OVF. Moreover the digital signature that allows the platform to check the integrity of the OVF will be invalid.
As a transport mechanism, OVF differs from VMware's VMDK Virtual Disk Format and Microsoft's VHD Virtual Hard Disk format or the open source QCOW format. These are run-time VM image formats, operating at the scope of a single VM disk, and though they are frequently used as transport formats today, they are not designed to solve the VM portability problem; they don't help you if you have a VM with multiple disks, or multiple VMs, or need customization of the VM at install time, or if your VM is intended to run on multiple virtualization platforms ? even if the virtualization platforms claim support of the particular virtual hard disk format used...
Conclusion: The OVF specification offers a portable virtual appliance format that is intended for broad adoption across the IT industry. The OVF specification is intended to be immediately useful, to solve an immediate business need, and to facilitate the rapid adoption of a common, backwards compatible, yet rich virtual machine format. OVF is complementary to existing IT management standards and frameworks, and will be further developed within a standards organization. Concretely the OVF specification embraces the diversity of virtual hard disk formats available today, and in so doing reduces users' perceived risk of proprietary 'lock in'. OVF promotes customer confidence through the collaborative development of common standards for portability and interchange of virtual machines between different vendors' virtualization platforms, and promotes best-of-breed competition through its openness and extensibility.
The OVF specification version 1.0 focuses on the immediate need to develop a common standard for 'portability from origin' of virtual machines. An OVF 1.0 compliant appliance that offers type 3 compatibility will correctly install and run on any OVF 1.0 compliant virtualization platform. The limited scope of OVF 1.0 allows the industry to unite around a key, simple use case for portability, and to collaborate in a recognized standards organization to develop specifications that solve more complex use cases, such as V2V...