Monday, September 08, 2008  
Google
Web pcquest.com

CIOL Network sites

Search by Issue | CD Search | Sitemap | Advanced Search


   
 Home > Developer > In Depth

Applications as Appliances

Installing and configuring an application on a server system with all software dependency and patching issues resolved can be a tough job. That's where the principle of applications as virtual appliances comes in handy

Monday, January 01, 2007

Sanjay Majumder and Sujay V Sarma

Consider this-your current mail server is so overloaded that it could crash any moment, and therefore you need to provision for a new one as soon as possible so that a part of the load can be transferred. You've even managed to convince your management for a new server purchase, and have the requisite budgets sanctioned for it. You managed to get a hardware server and the required OS and application licenses as well. But the real action starts after you've procured all this. You have to install the Operating System, apply all the service packs, patches and updates to it, and ensure that it complies with all your security policies. After this comes the task of installing the mail server application with its patches and updates. Finally you're ready to transfer part of the load from the overloaded mail server. This sort of a scenario is pretty common for every IT manager, and in fact you'll notice that half of the job consists of just installing and setting up the OS and the application. What if you could completely get rid of these steps? What if you could straightaway get to doing the application configuration? Sounds unreal? Well, that's what the concept of virtual appliances aims to solve. In this story, we'll take you through a detailed journey of this concept, its business benefits, how to deploy it under various scenarios, how to create your own, and even a few examples of virtual appliances that are available.

Virtual appliances come as images of applications that are already preinstalled on their respective operating systems. In these appliances, virtual machines are created by optimizing the OS to run the application and even stripping it of all unnecessary services. The moment you drop them on your virtualization software, you straightaway get a wizard to configure them. 

In fact, we've even given a few virtual appliances on this month's DVD for you to check out. Feel free to play around with them. Without any further delay, let's delve right into this concept.

What's a virtual appliance?
Don't confuse virtual appliances (VA) with hardware appliances. The latter are basically preconfigured systems with hardware and software fully setup and ready to use. Virtual appliances on the other hand come as images of applications that are already preinstalled on their respective operating systems. This is different from the traditional way of doing virtualization, wherein you first install a virtualization application, and then create various virtual machines on top of it. These are created by installing the necessary operating system on it, followed by the application. In a virtual appliance, someone has already created these virtual machines by optimizing the OS to run the application and even stripping it of all unnecessary services. Moreover, these virtual machines have been customized so that the moment you drop them on your virtualization software, you straightaway get a wizard to configure them.

Virtual appliances are available for a variety of virtualization applications, some of which include Xen, VMware, Bochs and Microsoft Virtual Server among others.

VAs are downloadable images and are a package of multiple files. One is the virtual machine configuration file; the other is the virtualized hard disk image. The package may contain other files specific to the platform. The configuration file provides the virtualization layer information about the hardware configuration expected by the software environment within the virtual system. Such information can also include the type of networking, memory size, disk size, types of virtual PCI and other devices attached. Other settings also provide clues about the kind of software environment or platform and this is usually achieved by simply providing the name of the OS installed (like 'WinXP' or 'RHEL').

Business benefits
The obvious benefit of having an application pre-installed on its operating system as a single image is obvious. You do not need expensive resources to install and configure the application. A virtual appliance could have the same application available on various OSes, allowing you to choose the one you're comfortable using. Moreover, it saves you the time and effort required to setup and install the application. Simply drag and drop it on top of your virtualization layer and it's up and running.

Better utilization of the hardware is another key business benefit of virtual appliances, which of course, has been borrowed from the very concept of virtualization. You can run multiple virtual appliances on the same hardware, allowing you to utilize it better. This reduces the number of servers you need in your data center, thereby saving you a lot of hardware and maintenance costs. Lesser number of servers also translates into lesser power and cooling requirements in the data center, further adding to your savings. Having more virtual appliances than physical servers improves the manageability of your data center. You can quickly bring up an application or shut it down when not required. Of course, with all these benefits, you must not forget that while you save costs in one place, you spend on another. You still have to pay for the virtualization software, and if that's free or Open Source, then you have to pay for consultation and support.

Where to get them?
You can download (and purchase) virtual appliances from various sources. Apart from websites of virtualization vendors, there are directories like VirtualAppliances.net which list available images.

Virtual appliances can also be created and customized according to your requirements. One method to do this is to create a new virtual system under your required virtualization environment, and customize this with the software you require. Then you can place this image on a NAS or other storage system for re-use. The second method is to capture an image of a preconfigured physical system and use that as a virtual appliance. Later on in this story, we take you through how to do this.

That said, when you have so many different virtual environments and so many virtual appliances, how do you ensure that they meet some minimum set of standards? And, what standards are there, if any for virtual appliances?

Some Virtual Appliances
Databases
  • Microsoft SQL Server 2005
  • Oracle Desktop Data Center
  • DAMP /NAMP
  • Zend Demoware
  • DRX - MySQL 5 Virtual Server

Security

  • Check Point Connectra NGX R61
  • Mitea MailDefender v3 "Ipanto StartPack Trial
  • SmoothWall
  • IPCop for ESX 2.5
  • StillSecure Strata Guard
  • Network Security Toolkit
  • StillSecure Strata Guard

Messaging

  • Exchange 2007
  • Zimbra Collaboration Suite 4.0
  • Collaboration2
  • Open-Xchange Server

Application Server

  • Sun Java System Application
  • Server Platform Edition 8.2
  • OBS Virtual Application Server

ERP

  • Project-open
  • WITB Terp

CRM

  • SugarCRM
  • vTiger CRM

Content Management

  • Media Wiki
  • PDF Server

Standardization
The idea of standardizing the virtualization platform is to enable virtualization interoperability. That is, it would be possible, for a system created under (say) MS Virtual Server to be imported into or directly used in a VMware deployment.

Like Steve Herrod, VP Technology Development at VMware says on his blog, “For virtual appliances to achieve their full potential, openness in virtual machine-related interfaces is critical. The real promise is 'any software on any virtualization layer.' ” This can be achieved only if there are standards that describe the machine's disk image format, how it communicates with the virtualization layer and licensing of the systems including its software.

Also, operating systems and software should detect that they are running within a virtualization layer and accordingly adjust their resource demands, utilization and performance. One approach is to modify the kernel when installed within a virtual machine.

This technology is currently under hot debate, since it touches upon the area of licensing. Currently, some operating systems run better under particular virtualization environments, and there is no real equality in 'cross platform' performance. In data center deployments, IT managers might want their existing management software to recognize and leverage the capabilities of virtual appliances that have been deployed. There is an industry initiated movement for this to happen under the DMTF (Distributed Management Task Force) called the SVPC (System Virtualization Provisioning and Clustering).

Issues
One of the biggest drawbacks of using VM based deployments on x86 hardware is scarcity of support for 64-bit and multi-core or multi-CPU guest systems. For instance, even if one has a 64-bit server as the host machine, the guests you create will all be 32-bit. And, on multi processor/core systems a guest can see and use only one core!

Another key issue is licensing of host and guest software and this includes the OS. Experts feel that Windows as a platform for virtualization is being left out, primarily because of Microsoft's stand on virtualization related licenses.

Windows Vista ships with a micro-version of Virtual PC called Virtual PC Express. This lets you run just a single VM and Microsoft licenses you to run two copies of Vista-one as host and another within VPC Express as guest. But when you upgrade to the full VPC and run more than one Windows guest, you need separate Windows licenses for each VM. This affects users of Vista Enterprise or Vista Ultimate.

Incidentally, those are available only to enterprise or MSDN subscribers subscribing to Volume Licensing or Enterprise licensing. One needs to use kits like the WAIK (Windows Automated Installation Kit) that OEMs and system administrators use to mass deploy OSes to create virtual appliances with Windows as the guest OS. This is because one cannot install the OS without entering the product key during the installation phase. As a result, Open Source platforms like Linux are gaining in terms of appliance availability.

Next Page : Virtual Appliances Available on PCQ Xtreme DVD

Page(s)   1  2  3  4  



Untitled 1


Do you know your Linux is SAP ready?

e-Book guide to improve your PPM Process

Remove Uncertainty with SAP


   
 


 
 

Magazine Subscription | RQS | Contact Us | Team PCQuest