Every now and then, a supplier of an IT application or tool tells me about their plans to encapsulate their product into a virtual machine and deliver it to the market. Although this seems to be a great idea, (see VMware's list of Virtual Appliance Partners here), this approach isn't always the best way to approach software distribution.
- The Good — an encapsulated application or tool is easy to install. All that's necessary is to copy the virtual machine file and virtual machine "Player" to the target system and away you go. All of the chores involved with installing the operating environment, database software, application framework software and the application itself have already been done. If the application or tool is difficult to install properly, the vendor might be motivated to offer it as a virtual image rather than requiring its customers to go through a painful process.
- The Bad — virtual machine files have a tendency to be large. If the supplier's intention is that organizations acquire this software by a download process, it may take quite some time and consume quite a bit of network resources from the time the button was clicked to the time the software has actually arrived safely. If the organization is in a region known for unreliable network service, this process may be a major obstacle. Since one size won't always fit everyone, the organization would be well advised to know how the virtual image differs from the software that is delivered in another way. It would also be wise to learn what steps are necessary to tune or optimize this software.
- The Ugly — software licensing can rear its interesting head and make the organization adopting this software into a villain! Since an entire operating system, database software, application framework and application software may be part of this virtual machine image, it may bring along with it a licensing conundrum. It's very easy to make and run multiple copies of this virtual machine. It is also very easy to share this virtual image with partners and customers. A few key questions to consider are:
- Does the organization need to acquire (and pay for) software licenses for each layer of software in each virtual machine that is stored or used on their network?
- Does it have the right to share this software?
- Does it have the right to modify this virtual image in any way before deploying it?
If all of this software is protected by an open source software license, the organization may not face additional charges or restrictions. If the company has a site license from each of the vendors of each of the layers of technology in the virtual machine image, if may be able to run multiple copies within the ways of their own facilities but not share the image with others.
It would be very wise for the organization's IT department to find out what licensing applies to a virtual image. It would be much better if the terms and conditions of use are known and the appropriate operational and administrative procedures defined before a virtual image is unleashed on the network.
Some suppliers of operating systems, database management software and application frameworks have such a complicated and confusing set of licenses for their products that the answers to these questions might be hard to find.
Is your organization using virtual appliances? What tasks are they performing? Has your IT department learned something that others should also know?