Windows Server

What VM environment do you use to test applications?

Virtual machines (VMs) have become critical for developers to test their applications. A few major contenders have emerged in the market, but VMware still seems like the king to beat. Take the poll to share which VM environment you use for testing.

Over the last few years (in large part fueled by powerful, inexpensive CPUs and cheap RAM), virtual machines (VMs) have become critical for developers to test their applications. A few major contenders have emerged in the market. VMware still seems like the king to beat, but the company is facing pressure from Microsoft and others.

I tend to use Microsoft Virtual PC 2007 since it is easy to deal with, but I have been shifting to using Hyper-V on a Windows 2008 server. I am not 100% happy with either choice because of the lack of features, but both products are clean and get the job done.

J.Ja

Disclosure of Justin's industry affiliations: Justin James has a working arrangement with Microsoft to write an article for MSDN Magazine. He also has a contract with Spiceworks to write product buying guides.

---------------------------------------------------------------------------------------

Get weekly development tips in your inbox Keep your developer skills sharp by signing up for TechRepublic's free Web Developer newsletter, delivered each Tuesday. Automatically subscribe today!

About

Justin James is the Lead Architect for Conigent.

46 comments
lancidan
lancidan

Like so many others who have posted here, VirtualBox is what I use.

rwpreece
rwpreece

Sun xVM VirtualBox. Faster and less of a resource hog. Easier to manage.

POSi7
POSi7

I was surprised that VirtualBox wasn't one of the choices. Along with several others who have replied, that is my choice too.

jmgarvin
jmgarvin

VMWare server 2.0 is robust and easy to use...I've tried MS Virtual Server and I had nothing but problems, so it was back to VMWare for me... With that being said, Sandboxie isn't bad...kind of neat little tool.

zdnet-
zdnet-

I, too, run Windows in VirtualBox, hosted on Fedora, for development and testing. -Bob

Grayson Peddie
Grayson Peddie

I use it, but what does it matter for web developers!?

Jaqui
Jaqui

I'll use no vm for testing. I just keep a system with the required platform around and test on it. and I keep ancient hardware for it. it's my way of reducing pollution [ keeping hardware that works out of landfill ] and of fighting bloat. If it doesn't run on minimal hardware, it's bloatware.

eugene.lewis
eugene.lewis

We have MacBook Pro's running Leopard. Our vm is Parallels 4.0. It is far from perfect.

NKX
NKX

I also use a mix. As both a software tester and SOE admin,I need multiple environments. Here are some of my requirements. For building and testing SOEs, nothing is better than VMWare Workstation. Snapshots are great, and USB support is a must for driver inclusions etc. Quick and reliable. For running my virtual servers both at the office and at home, nothing can beat VMWare ESXi (formerly VMWare ESX Server 3i). It's free, quick to install, and has a very tiny footprint in terms of memory, hard disk and CPU - the perfect host. For running my virtual machines at home (desktop OSs, not servers - as I use ESXi for those), I can't go past VirtualBox. It too has USB support and snapshots, but doesn't cost anything (love OSS). I find VMWare Workstation better, but as this is for home and it's my dollars and not the companies, Sun has won me over here. And for my actual software packaging, testing, and for any quick tests and tweaks, nothing is better than Microsoft Virtual PC. Sure I can't test packages that require USB devices (no USB support), nor can I test 64-bit guests (no support for those), and yes it does appear to have an unpatched memory leak after a solid day of use without a reboot... but for a quick test environment, it's great. Load your VM, install/tweak/test, exit, click "Do not save changes", done. Make a change to the package, load again (back to the same state) and repeat until it works. It's much faster and easier than all the others.

Cnwhitedragon
Cnwhitedragon

I am a a virtual box user on both my Mac and OpenSUSE Machines

conrad
conrad

I have used VMware and later XEN Server, but a few months ago is discovered Proxmox VE a very easy to use interface to OpenVZ and KVM (Quemu) on a single server. Opensource (http://www.proxmox.com)

cholivar
cholivar

For me, one of the best options in the Linux world. Each new release is better than previous. Very easy configuration. I have my xp machine virtualised, connected to AD, USB available, and if XP goes bad, just load a snapshot. It works for me.

djeske2
djeske2

Virtual Box - only one that runs TwinCat software (PLC simulation).

LK.sf
LK.sf

Don't know why but VMWare never hooked me. May be because I also like virtual environment to be seamless, which was missing with VMWare. I used QEmu earlier but now I've switched to VirtualBox and it's fast, unobtrusive, seamless, feature rich and Open Source (Although I'm using the free version :).

jacksw02
jacksw02

I use VirtualBox OSS. You don't need to spend 600.00+ dollars on VM workstation to get a stable configurable vm environment. The newest version of Sun's Virtualbox has made networking as easy as any of the other choices to boot so it has been an easy choice for me.

Justin James
Justin James

Like I said, I've been using Virtual PC for a while, but I am shifting to Hyper-V. The rest of the developers in my company use VMWare Workstation, but their needs are different from mine; they need to test the same app across a variety of environments, and I just need something that I can nuke when I'm done or occassionally snapshot. J.Ja

Justin James
Justin James

I didn't "forget" VirtualBox, I thought no one used it until this poll! Honest! A friend of mine just recommended it to me, and a co-worker is testing it out, but until I read the forum here, I had no idea that so many people were using it. That's one reason why I like to run these polls, it brings things to my attention that I might not otherwise be aware of. J.Ja

ScotlynHatt
ScotlynHatt

While I appreciate the desire to reduce waste and test on old hardware as a single endeavor, the ability to harness new features like CPU extensions or block size optimizations for disk heavy apps makes your philosophy a little stagnant considering we are in the "advanced" technology field. No cloud for you! (Seinfeld Reference)

richard.s
richard.s

I've been using VirtualBox for a couple of years, hosted on WinXP Home. Despite hardly reading the manual, it has been very easy to run numerous versions of Linux as "guests" on VirtualBox. Since Feb 09, I've also had Windows 7 Beta happily running as a guest.

mateokow
mateokow

Virtualbox is great for tests and even has other uses when children and teenagers demand Microsoft products on computers running linux!

stevezachjohnson
stevezachjohnson

I have heard that Microsoft Virtual PC is good alternative to what you are currently using..

alictrifying
alictrifying

I have experienced Virtual PC, VMWare and Virtual Box out of which I found Virtual Box fast and less resource hungry.

tr
tr

I have various Linux distros, WinXp, and Win7 Beta installed on VirtualBox VMs hosted on an Ubuntu system. With the exception of bridge networking, it only takes a few simple commands to install with full support, including USB 2.0 and SATA virtual drives. Windows actually runs better in a VM than it does natively. I suspected the hardware was multi-threaded, but others have suggested the Linux file system on the host is more efficient. Either way, it just works!

ScotlynHatt
ScotlynHatt

So I started way back in 2003 with VMWare Workstation on my laptop primarily for running a Windows 2000 Server that I was building a Java webapp on. Now I work with a large system that uses ESX for simulating our production environment on our development networks. Due to our processing requirements ESX has not made it into our production system but it serves us well in our Dev and Test systems. On my development workstation I currently use VMWare Server 2.0 and have a half-dozen linux/macos/windows images that I cycle through for various tests. The nice thing about the base VMWare Server product is that it is free (with reg) and it has a nice new Web UI running in Tomcat.

techrepublic@
techrepublic@

I tried VMWare, QEMU, UML, Xen and VirtualBox. VirtualBox is currently in first place but race is on.

Sterling chip Camden
Sterling chip Camden

Believe it or not, it actually handles devices better than Virtual PC when hosting on Vista x64! It also has a smaller memory footprint for VMs, and seems to share the processors better.

timjor19
timjor19

I tried VirtualPC but didn't like the lack of control over the hardware configuration. I tried VirtualBox and found it so easy to use and very good hardware support for USB devices. I havent found any virtualizer that did AUDIO at any useable quality on my low-end hardware. I also found that you can only run one virtual environment at a time. VirtualPC and Virtual box cant run at the same time for comparisons.

Jaqui
Jaqui

to start with, never watched seinfeld, so referencing it will never make sense to me. [ I do not even own a television set, or tv tuner card, not interested in the garbage ] and I do not buy into the push end users into upgrading hardware development model that makes you have to use the features in the newer hardware. make the app work correctly without requiring those advanced features, then test a build on a newer system, to make sure it can use them IF THEY ARE AVAILABLE, not require them.

techrepublic@
techrepublic@

That is my impression also. Especially OpenSolaris, PC-BSD and FreeBSD felt clearly more responsive in VirtualBox than in any of the others I tried. GNU/Linux and Windows where also snappy.

john
john

Host: VirtualBox on Suse 11.1 64-bit Guest: Solaris 10, Windows Vista, Windows, 2000 Server, Windows XP and Windows 98 Installation of guest OS is effortless. The latest version allows you to run 64-bit guest on 32-bit host. I have not tested that.

gak
gak

Yes, Windows guest on Linux host runs faster than native when accessing a disk directly but much, much slower when a network share is used. Windows guest on a Windows host runs only somewhat slower when accessing data through a shared folder. I still use a single core processor. Thus, it may be something else like better kernel or better caching.

ByteBin-20472379147970077837000261110898
ByteBin-20472379147970077837000261110898

I use VMWare server with several linux distros and Win98SE. The linux distros used are Ubuntu 8.04 Server (for testing stuff for work and it needs to access the Windows Vista IIS serving asp 2.0 pages), Ubuntu 8.04 Desktop, and two Red Hat special environments for programming and development of the WowWee RoboSapein RS Media Robot. I also have a Win98SE install for some backward compatibility. I used to use Virtual PC 2007 but it got to the point where I needed more features, especially the ability to use USB sticks for data transfer in some cases. So I made the switch to VMWare Server (free edition) and am quite happy with it. And I run this on my laptop in Windows Vista Home Premium! Runs good and gets the job done.

alisa.forsythe
alisa.forsythe

Currently virtual box but I have used VMware in the past.

Justin James
Justin James

VMWare Workstation is a pretty good product; for my needs, I can't justify the expense. I think that it is much better suited for the needs of a developer than VirtualPC and Hyper-V, in terms of its feature set and the way the app is organized. For system administrators, it is (obviously) not a good choice, except, perhaps, to test things with. VMWare Server, in my opinion, is not nearly as nice for the system administrator as Hyper-V is, particularly if you are using System Center Virtual Machine Manager. Of course, in terms of the feature set and technology, Hyper-V + SCVMM is more comparable to ESX server, but at the pricing level, it can't be beat. J.Ja

read
read

I don't know who Jaqui is programming for, so all I can state is my own experience. When one of my company's clients tells us they must upgrade to a certain version of OS / hardware we're forced to test with that configuration. If we can't get our software working there we will lose that client to a competitor that can support them. The type of software we produce connects with various other enterprise apps and these other apps need to be installed to do testing, so we really have no options there either. People are asking for specific support for multiple CPUs and 64-bit now, and you can't test that (or even develop) without the right environment. We did this all before with the jump from 16 to 32 so I know what I'm talking about. Perhaps Jaqui does not have to worry about losing $500,000 sales and $100,000 maintenance contracts. I don't think it would fly well if I told my clients we just test on 386s and Windows 3.11 because "they should be good enough for you".

M.W.H.
M.W.H.

My 80 yr old father-in-law reminded me once that a parent's job is to prepare your child for the world 'into which they are moving' rather than today's world. How do you know anything about anything relevant to you users if you aren't aware of the context in which your software will be used? I'm a youth sports coach and I hate what texting, cellphones, Twitter, MySpace and Facebook are doing to the attention spans of our youth but I can't ignore it or I become irrelevant to them and they stop listening to me.

rob mekel
rob mekel

the software needs new hardware ... there is no need of keeping the old hardware. But even then you can migrate to newer hardware ... that is where the environment is harmed ... getting ride of the old hardware even if that is not needed for the purpose you got it in the first place but just for the liking of "new hardware" On the other hand ... new hardware doesn't need as much power as the old hardware ... so may be ... :)

ScotlynHatt
ScotlynHatt

What about gaming or geospatial visualization? Advanced applications need advanced hardware to do advanced things. If you are the author of a notepad application, I agree completely, don't add features for feature's sake. I have 4 TVs, 2 DVRs and a tuner card FTW.

read
read

I believe your original question was "What VM environment do you use to test applications?" (seems like you've veered from that slightly...) We use VMWare Workstation almost entirely for testing and we're happy with it. A few years ago we used a mix of hard-drive mirroring (using GhostPE) and VMs but we've used VMWare long enough now to trust it in all but the most odd circumstances so almost everything is done on VM. Tech support uses VMWare to reproduce client environments as well. It is particularly useful for tracking down bugs now that VMWare has perfected their "snapshot" feature. It is easy to start with "clean Windows" then add our software, then incrementally add Windows patches (each in a different snapshot) and 3rd party software and then flip between them all and compare. We produce Windows software, but we also make a few non-Windows server apps. Using VMs lets us test on every supported OS (including different versions of Windows) while having QA running a single machine with Windows as their OS. Dev does similar kinds of testing for unit tests. We haven't considered other VM software because we're happy with VMWare and have invested time building our test images. IT has just recently decided to move some server software to VMWare. One of our network domain controllers is now running on VMWare and apparently (I'm in dev not IT) our IT people are happy with the results and thinking of consolidating a few more servers to the same hardware. I believe the primary purpose for this move was for emergency restore procedures with the idea being that if the server room is destroyed we can restore these servers more easily.

Editor's Picks