Home > Server Virtualization News > Streamlining software development with VMware, part 2: Snapshots, portability and automation
Server Virtualization News:
EMAIL THIS
COLUMN

Streamlining software development with VMware, part 2: Snapshots, portability and automation

By Alessandro Perilli
05 Oct 2006 | SearchServerVirtualization.com


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   

In the first part of this tip, "Streamlining software development with VMware: Typical problems," I listed common problems that afflict software development departments. Environment integrity, portability and the lack of physical resources, for example, are just a few factors that can slow the manufacturing and deployment of new products.

VMware offers a wide range of virtualization platforms that have a huge side benefit – the ability to share the same virtual machine format. In this article, we'll discuss how using the right VMware product during each phase of the development lifecycle may mitigate or completely solve some problems, speeding up releases and saving loads of money.

Workstation features that assist in development

The most popular and oldest product from VMware is also the most important in the whole solution chain: Workstation.

Workstation offers a wide range of features that can address the biggest problems in software development. The probability is near zero that a software engineer could take Workstation for a spin and still stick with traditional tools.

Snapshots
The first problem Workstation addresses is the issue of environment integrity. The Snapshot feature in Workstation allows developers and testers to save a virtual machine state and revert back to it as needed. Developers can make savvy use of the snapshot feature by installing a brand new operating system in the virtual machine, fitting it with all tools they need to produce new code, and finally, saving a snapshot.

The operation creates a pure environment completely isolated from the everyday workstation. In this scenario, a developer can browse the Internet, read emails and even play games on the machine without jeopardizing the development workspace.

For maximum security, the virtual machine could be completely disconnected from the real network card to remove any chance that the workspace might be compromised with a remote attack or virus infection. This would also save the hassle of continuously patching the operating system or installing an antivirus to maintain security.

But wait, you might say. Even if the workspace cannot be compromised, it still can be overloaded with libraries, utilities and other clutter during a project. In this case, a software engineer can revert back to a clean state as soon as the project is closed, simply calling back the first snapshot, which takes only seconds.

Workstation's Snapshot feature provides a much-needed tool for QA as well. When compatibility testing is in progress, testers need to assure that the new application works correctly with several different products, both from within the parent company and from third parties.

A snapshot manager allows Workstation users to save multiple states of the same virtual machine, meaning testers can install one application after another without needing to reinstall the whole environment every time.

As an example, if a new prototype application has to be tested for compatibility with Microsoft Office and several service packs, the best approach is to save a snapshot of the newly installed operating system, then another after the non-service packed version of Office has been installed and still another one after the service pack is in place. Then, testers are able to proceed with the code installation.

If something goes wrong, or if they want to test the same installation with a different service pack, the testers need only revert back to the snapshot taken before the service pack installation. Trying to do the same thing without virtualization, or a lot of different physical machines, would take hours or days.

Two other Workstation features, multiple snapshots branches and linked clones, can further improve the development process.

Multiple snapshot branches and linked clones

The multiple snapshots branches feature sets an existing snapshot as the original virtual machine image, and then it takes new snapshots from there. Linked clones act in similar way but disjoin the new snapshots from the original virtual machine image location. Both features are particularly useful for QA, because they don't copy what already exists of the original virtual machine but rather refer to it for what will be done in future.

Let's reconsider the previous example. A tester who needs to verify compatibility of a new application against multiple Microsoft Office versions and their service packs can create a snapshot of the brand new operating system. After installing Office 2003 over this snapshot, the QA engineer will be able to set the new starting point on the snapshot the engineer took after installing the fresh OS.

At this point, the engineer will be able to invoke a new snapshot for both branches before installing Service Pack 2 on Office 2003 and Service Pack 1 on Office 2000.

Our application can be tested against all these environments while the Snapshot Manager makes it easy to create and discard snapshots and linked clones.

Snapshots and linked clones not only drastically reduce the time needed to prepare a new development or testing environment, but they also address the problem of unavailable physical resources. QA engineers don't need a new machine for every single environment to test; they just need enough disk space to contain several branches of snapshots and clones.

Teaming
Another great feature of Workstation is Teaming, which is useful both in development and testing.

Teaming allows you to logically link together multiple virtual machines and launch them at the same time. It also allows users to create virtual connections between the virtual machines with simulated speeds. So, for example, a software engineer developing a multi-tier application can control how code performs when used on a modem or a broadband connection. A usability tester can verify how much bandwidth is needed for a networked application to run without providing a bad user experience.

Addressing portability

VMware's ability to share virtual machines between different products is hugely helpful. This not only permits developers to move without modifications and show their work to other teammates or product managers, but it also allows them to port applications to other virtualization facilities, where the code will be tested or even put in production.

So, as simply as copying a folder, the virtual machine containing the new software can be moved from Workstation to Server, VMware's free enterprise virtualization product. There, the software can be tested for compatibility and usability, and its performance can be verified against stress tests.

After the QA phase, the same virtual machine can be moved again into ESX Server, the VMware product aimed at data center deployment, where it will be put in production.

Whenever a problem appears, the virtual machine can be moved back and forth among these platforms for patching errors or testing new configurations. And if a customer wants an onsite demonstration of the new product, the same virtual machine can be moved once again, put in Player (the VMware free virtualization product for desktops) and distributed to sales managers worldwide.

Automation to come

The migrations we have discussed so far are done manually. In the near future, VMware will provide automation for them with a new product called Virtual Lab Manager, which will be launched in beta in October.

The product, formerly called Slingshot (and obtained when VMware acquired Akimbi in June 2006), will also offer in future releases the capability to provide software lifecycle automation for the competing platform, Microsoft Virtual Server.

This will greatly simplify control and optimization of software production phases in big companies, wherein multiple departments adopt different development tools but need to leverage virtual machines images in mandatory testing and production virtual infrastructures.

VMware is also expected to introduce new improved tools for easing the development phase in the upcoming Workstation 6.0, which will be presented at VMworld 2006 in November.



Tags: VMware virtualizationVIEW ALL TAGS

Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   





Stay Current on Trends for Server Virtualization
HomeNewsTopicsITKnowledge ExchangeTipsBlogsAsk the ExpertsMultimediaWhite PapersEvents
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Site Map




All Rights Reserved, Copyright 2006 - 2009, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts