Why use a Virtual Machine(VM)?
Let’s start with the basics. What is a Virtual Machine (VM)? Well put simply a Virtual machine is a Operating System (like windows XP, Windows 7, or a Linux OS) that runs on top of another Operating System, but that you can use and interact with as though it is it’s completely own system. For example Windows 7 has an optional feature of a Windows XP Virtual Machine. In this case the computer is primarily running Windows 7, but there is a desktop emulation running much like any other program (say Word or Excel) that is the entire Windows XP environment allowing users to log into it and run ALL of the Windows XP programs that are installed on that virtual desktop.
Why use a Virtual Machine?
There are many reasons one might use a virtual machine environment. I’ll start by telling you that we at Longwell Technologies have been using Virtual Machines since about 2001 and have found the EXTREMELY useful for development, support and testing environments. Here are several things that companies use VMs for:
- Setup a Testing or Development Environment- One great use of a VM environment is to set up a quick, inexpensive and disposable testing or development environment for creating and testing new applications with full network, internet, database, custom file structures, etc. without the added expense of hardware or the expense of additional physical storage space needed for additional hardware.
- Try out a new operating systems- Want to try out a new Linux OS? Put together a VM and build it on it. Suddenly, you can launch and try dozens of operating systems without much hassle.
- Testing new software- You can use VMs to try your software or web app or even site design on a variety of boxes by just building VMs and running the tests there. Because the “machines” boil down to a couple of files, therefore, you can quickly and easily copy them and or back them up. You can burn the VM image onto a CD or DVD and ship a fully configured system to anyone anywhere.
- Backup your system- When you get ready to move from XP to Vista, you can use a VM to make a backup of your old system. If things go horribly sour, you could have the VM version up and running in short order. By the way, you can have TWO servers, and have a copy of the VM on both. This would give you even more business continuity, should something happen to the server.
- Save Legacy Systems- Offices and data centers often have an old box around that just can’t be mucked with. There’s additional software you can use to do what’s called a P2V switch, a physical-to-virtual conversion, where the old box’s “image” gets copied onto the virtual machine files, and thus, gives you a hopefully-operational clone of the old grandpa box in the corner.
How to Chose VM Software?
Understand Your Needs
No matter what your needs, it is very likely that one of these products will be able to do the job. The key to choosing the right product is understanding your overall needs. What is it that you want to do with virtualization? Do you want to have a test network on your desktop PC? Do you want to do software development? What features are needed? How many servers will you run concurrently? How much RAM is required? What operating systems will be run in the virtual systems? The answers to these questions will help you choose the right class of virtualization product.
Choosing the Class of Virtualization Product
Once you take a look at your needs, you will be able to better choose the class of virtualization product you need. For example, if you just want to run a test Windows 2008 server and Windows 7 workstation, on their own private network, on your local desktop PC, then you should choose a desktop virtualization product. Examples of these are VMware Workstation and MS Virtual PC. Both of those applications are designed to be run on a local desktop.
On the other hand, if you need to run 5 concurrent production servers that required at least 1GB of RAM each, you are no longer talking about a desktop product. You require an enterprise virtualization server product. Not only because of the amount of RAM required but because we said that we would run “production servers”. You don’t want to run production servers on desktop virtualization products.
Choosing Between VMware and Virtual PC
Let’s say that you want to setup a basic server & workstation isolated network and run it on your local desktop PC. You know that you can choose between VMware workstation and MS Virtual PC. So how do you make that choice? Let’s compare these two competing applications. Below, I will list out pro’s and con’s of each of these applications. As always, with pros and cons, some of them can be debated.
VMware Workstation 7
- VMware came out with their virtualization product in 1999, 4+ years before Microsoft. Because of this, VMware is a mature product. Microsoft actually bought their product (called Connectix) and made it run on Intel systems.
- VMware is more “feature rich”, in general.
- VMware’s virtualization product line has more depth that Microsoft’s. VMware offers products like ACE, VirtualCenter, and ESX server.
- While both support Linux with Linux Tools/Additions, support for Linux distributions in VMware is stronger. Also, VMware offers help information for over 50 different OS distributions.
- VMWare can be run on Linux as its main OS was well as a Virtual OS.
- Performance benchmarks for VMware, when running Windows XP, give it higher marks than Virtual PC. In my experience, VMware workstation does perform better.
- Snapshot manager offers ability to freeze systems in time, keep track of these different system images, and move forward and back between them. You can even branch off system snapshots and create new snapshots.
- VMware Team features allow you to group virtual systems together and start/stop them all at the same time.
- Ability to import Virtual PC machine.
- Ability to create AVI videos of tasks performed inside virtual machines
- Support for 64 bit Guest Operating systems if you have a 64 bit processor
- Supports dual processors on virtual machines
- Supports USB devices
- VMware Workstation costs $189 whereas Virtual PC is free
MS Virtual PC (2004 SP1)
- Much lower cost – Virtual PC 2007 is free whereas VMware Workstation costs $189 if you download it.
- Simple and easy to use – limited interface and features
- Can transport virtual machines from Virtual PC to Virtual Server
- Support Sound on virtual machines.
- Less documentation is available for Virtual PC.
- Overly streamlined design hides additional features or more complex configuration.
- Performance benchmarks for Virtual PC, when running Windows XP, give it lower marks than VMware.
- Questionable Support of some Linux environments.
- Virtual PC can only be run on Windows OS as the primary OS.
- No USB support beyond keyboards and mice.
- Many other advanced features offered by VMware Workstation are missing (like snapshot manager)
Both VMware and Microsoft offer their server products for FREE. However, using the server class products on your desktop system may not be the best choice. The server class products are designed to run production servers. Workstation class products have more user-friendly features, with the desktop user in mind. This goes back to knowing your requirements.
In the end, I’m not going to tell you which product to use. From the list of pros and cons above, you should be able to make that choice for yourself. In my opinion, either choice is a good choice. Both products are popular because they are good products. If, after considering the pros and cons above, you still have trouble choosing the right desktop virtualization product, I highly recommend that you do a demo/evaluation of each of the products. That way, you can see the products for yourself. To try out VMWare Workstation 5 go to the VMware workstation 30 day evaluation download page. To download Microsoft Virtual PC, go to the Virtual PC homepage at Microsoft.com. I can tell you that, if you will use the extra features offered by VMware Workstation, they are definitely worth the cost difference between the products.
In summary, prior to choosing a virtualization product, you should first consider your needs. Ask yourself what you will be using the product for. Once you understand your needs, you can move on to choosing between vendors. Best of all, you don’t have to make that choice just from this list, you can try out the products yourself. One thing that I am sure of, once you begin using virtualization you will wonder how you ever did without it.
Here at Longwell Technologies, we use both. There are cases for using MS Virtual PC for our testing and developing environments that make it very easy for us to work with, where in other cases we find that VMWare is the better solution for Linux environments that can help us support some of our Linux customers better.