Virtual Appliances – the next application development and deployment model?

Server virtualization is becoming widely accepted and vendors and customers are beginning to explore usage models beyond support for legacy applications and server consolidation. Virtual Server load-balancing, disaster recovery (server and data center), dynamic creation and migration of virtual machines, to name a few, are fast becoming widely prevalent.

One of the newest uses for server virtualization that is beginning to garner attention is application portability, packing and distribution, a concept that is becoming more concrete with the advent of virtual appliances. Like the computer/HW appliances like TiVos, firewalls, IPS/IDS and NetApp filers, virtual appliances come pre-configured with applications and just enough operating software needed to perform their tasks, and delivered to the customer as a virtual machine file(s) ready to run atop a hypervisor. Every component of the virtual appliance is pre-configured and optimized and tested by the ISV who has the deepest understanding of the application, thereby eliminating interoperability issues and resulting in a better end user experience. Unlike hardware appliances which typically need specific hardware, virtual appliances run on top of any x86 hardware that has a hypervisor.

Could this be beginning of ‘Virtual-Appliance oriented architectures'? Too early to call, but in a virtualization-enabled world, the promise of an easy application deployment, distribution and maintenance/support is surely enticing. Just like any new technology or application model, there are a lot of challenges that ISVs and customers have to overcome with virtual appliances. We will get into details of these in the next set of blogs, but here is a quick summary of some questions customers and ISVs have to comprehend as they innovate in this space. We will also look at what Intel's doing here with its broad Virtualization Technology (VT) initiative.

  • - Security - Do you consider Virtual appliances as black boxes from a security perspective? Would you trust the ISV with both the app and the OS testing? Would there be any back doors? Will ISVs offload testing to third parties?

  • - Heterogeneous hypervisor environments - How do you package the virtual appliances for deployment and distribution on multiple hypervisor environments? OVF is a clear direction here.

  • - Performance of virtual appliances - Are there issues with virtual appliances sizes as we deploy and distribute business applications in virtual appliances? How do you deal with dependent appliances? Would there versioning issues with virtual appliances? Will there be a need for multiple versions of virtual appliances executing side-by-side?

  • - Software licensing - How does software licensing work in a virtual appliance model? How do you buy Microsoft OS licenses? Ubuntu, RedHat, etc are releasing stripped down versions of Linux for Virtual appliances usage. How would the Open source model evolve?

What do you think? You buy into the Virtual Appliance model? Will it work for you? Have you done anything with it yet? Let us know.