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.

Mike Brescia, who works for a company making real-time environmental data recording, and retrieval, says, "In addition to offering its system as a virtual appliance, our company's developers use virtualization to put up different test environments, e.g. Windows and Linux, on fewer hardware boxes." Cloning a clean computer system for testing purposes is much easier than copying a disk image and using Clonezilla, Brescia says. "Running VM does not require tearing down and wiping a complete system; we only need to be careful not to overload resources on the host machine," adds Brescia.

The fifteen Web developers at design and marketing firm Eli Kirk, have to cater to a number of Web browsers and operating systems, says Connor Boyack, Eli Kirk's senior web developer, who uses Parallels version 4 on Mac OS X Leopard, and runs VMs of Windows XP, OpenSUSE 11 and Windows 7 Beta. "Creating functional and aesthetically identical sites requires a great deal of browser testing, which makes virtualization a must," says Boyack. "Virtualization allows me to use multiple operating systems and multiple browsers all collaboratively and seamlessly (well, when Windows XP is playing nice)."

There's a huge advantage in the ability to test a dozen different scenarios simultaneously to ensure a consistent user experience, agrees Nick Gauthier, a developer at SmartLogic Solutions. "Another advantage is being able to boot up a specific version and browser when a client has a complaint. We no longer have to say 'Well, I don't run that browser, I'm on Linux;' now we can say, 'One moment please; ah, I see the problem and I'm fixing it now.'"

"We use virtualization to test our software on the platforms and applications we support (for QA), and to replicate customer environments when there are customer issues for support," says Eric Floehr, CTO at 3X Systems, a startup that developed and sells a remote backup appliance. "Virtualization allows us to quickly bring up and tear down environments, and allows us to do so with a minimum amount of physical hardware." The ability to test against a large number of platforms and environments with a minimum of capital outlay is especially important in a small startup company. Plus, "It greatly improves the quality and reliability of our product," adds Floehr.

Tamoggemon Software focuses on programs for handheld computers, originally for Palm OS and now also Symbian OS Series 60 and PocketPC. "I am using virtualization a lot for various reasons," says developer Tam Hanna. "My main reason is the prevalence of Cygwin/Eclipse based development systems (Eclipse for J2ME, PODS from Palm and Carbide from Nokia). Installing them all onto one machine, well, causes all of them to break. So I need to use virtualization in order to be able to do my job. Furthermore, I like to use VMs to keep my configuration settings the same across all my machines."

At MarkMail, a free service for searching public mailing list archives, "Our team is using virtualization in a number of ways," reports John D. Mitchell, developer (his official title is "Mad Scientist") at MarkMail. "The key is that virtualizing each and every service in the system gives us a lot of flexibility. In development, we aren't stressing the physical resources much so we have lots of virtual instances running on just a few hardware nodes, including the database."

MarkMail is using OpenVz (http://wiki.openvz.org) so the images in the developer sandboxes are identical to the deployment environment. "Virtualization makes it very to test different setups, versions, etc.-we can always just blow away an instance and reinstantiate it from a clean checkpoint," Mitchell says. Using virtualization reduces the amount of hardware they need to buy/lease and manage, according to Mitchell. "In total, we're running about a 3 to 1 ratio of virtual instances to hardware nodes."

Join the newsletter!

Error: Please check your email address.
Rocket to Success - Your 10 Tips for Smarter ERP System Selection

Tags virtualisation

Keep up with the latest tech news, reviews and previews by subscribing to the Good Gear Guide newsletter.
Show Comments

Most Popular Reviews

Latest Articles

Resources

PCW Evaluation Team

Ben Ramsden

Sharp PN-40TC1 Huddle Board

Brainstorming, innovation, problem solving, and negotiation have all become much more productive and valuable if people can easily collaborate in real time with minimal friction.

Sarah Ieroianni

Brother QL-820NWB Professional Label Printer

The print quality also does not disappoint, it’s clear, bold, doesn’t smudge and the text is perfectly sized.

Ratchada Dunn

Sharp PN-40TC1 Huddle Board

The Huddle Board’s built in program; Sharp Touch Viewing software allows us to easily manipulate and edit our documents (jpegs and PDFs) all at the same time on the dashboard.

George Khoury

Sharp PN-40TC1 Huddle Board

The biggest perks for me would be that it comes with easy to use and comprehensive programs that make the collaboration process a whole lot more intuitive and organic

David Coyle

Brother PocketJet PJ-773 A4 Portable Thermal Printer

I rate the printer as a 5 out of 5 stars as it has been able to fit seamlessly into my busy and mobile lifestyle.

Kurt Hegetschweiler

Brother PocketJet PJ-773 A4 Portable Thermal Printer

It’s perfect for mobile workers. Just take it out — it’s small enough to sit anywhere — turn it on, load a sheet of paper, and start printing.

Featured Content

Latest Jobs

Don’t have an account? Sign up here

Don't have an account? Sign up now

Forgot password?