Menu
Menu
How Virtualization Improves Software Development

How Virtualization Improves Software Development

Virtualization technologies aren't just for server consolidation. They've long been valuable tools to anyone writing or testing software. We show how these tools are being used for software development and quality assurance now and identify a few places where developers still want more from virtualization.

Virtualization's big push to fame was arguably kick-started by VMware's Workstation product, which allowed individual users to run a bunch of OSes, versions or instances (similar to multiple application windows) instead of having a one-at-a-time multi-boot environment. In many companies, virtualization arrived with developers first using the technology quietly to do testing and development, then introducing the virtualization tools to IT higher-ups.

While today, computer virtualization fuels many production environments, e.g., servers, desktop infrastructures, and as a provisioning tool, virtualization is also used by a still-growing number of software developers. For starters, they use virtualization tools to provide a range of target environments for development and testing (such as different operating systems, OS versions and browsers), and also to provision/re-provision configuration instances quickly and easily.

Here's a look at how and why some of today's developers are using virtualization and what their quibbles are with the technology as it stands.

Provisioning Multiple Test Environments

Mark Friedman, a senior software architect, works in Microsoft's Developer Division, where upwards of 3,000 people create Visual Studio and the .NET Framework. Friedman himself works mainly on the performance tools that ship with Microsoft's Visual Studio Team System. "About two-thirds of the people in my division are in development and testing -- and most of these developers and testers are using system virtualization (via Microsoft's Hyper-V technology) as one of their key productivity tools," says Friedman, who is also a board director of The Computer Measurement Group.

One key advantage is virtualization's ability to set apart an unstable environment, which is something any developer expects in early phases of application design. As the Microsoft tools are developed, says Friedman, testing early versions may destabilize a developer's entire computing environment.

"That's the nature of the beast," he says. "Almost anything except the simplest desktop application can crash the system. I often tell my developers that if they aren't crashing the system regularly, they are not trying hard enough. We appreciate virtualization technologies, because they save time, and let our developers spend more of their time on the challenging stuff, not the mundane and extremely time-consuming aspects of prepping test environments."

Like other virtualization tools, Microsoft Hyper-V lets users 'snapshot' the system at a 'last known good version.' "We create a rollback that allows us to restore the system to that previous good state within minutes," Friedman says. "The alternative is having to re-image the computer or re-build the environment, which can take hours," says Friedman. "This is a tremendous timesaver."

Join the CIO Australia group on LinkedIn. The group is open to CIOs, IT Directors, COOs, CTOs and senior IT managers.

Join the CIO newsletter!

Error: Please check your email address.

Tags virtualisation

More about CMGEclipseFriedman'sLinuxMicrosoftNICNICENokiaPalmParallelsPLUSProvisionProvisionSymbianVIAVMware Australia

Show Comments

Market Place

Computerworld
ARN
Techworld
CMO