Page 49 of the Virtualization Guidance for VS 2010 has a scenario describing a hypothetical company that virtualizes its development and test environments. What host and guest operating systems are recommended? Using Hyper-V as the host requires
a server OS to run on the desktop or laptop, which is a concern for most IT departments. Virtual PC can be used, but it is less performant than Hyper-V and does not have the range of configuration options in Hyper-V, like multi-processor support.
Another key consideration is multi-monitor support, which is very important in a development environment. And what about graphics support for developing and using WPF applications? Are there any other options that would make sense, like boot
Jan 22, 2010 at 9:23 PM
Edited Jan 22, 2010 at 9:24 PM
It is not a clear cut apples to apples kind of decision when considering the virtualization technologies and I have been looking for a features comparison matrix in vain, which could be used as a first level decision
mechanism. This is something we may have to consider as part of this guidance going forward, because your question and vision is not an uncommon one.
We cannot comment on the 3rd party products, but can share some bits:
The above is not the answer you were looking for, I think. The recommended way to determine the correct virtualization strategy for “your” environment is to (a) create a definition of requirements and
expectations including guest and host operating system preferences, (b) test the available platforms and (c) come up with a strategy that works for “you”.
Automating the environment is key, because the ability to quickly and with minimal intervention build a VM is very powerful. One of our VM factory adminisrators recently quoted: "Thanks to the VM Factory
we are now able to start a build going and for the most part leave it to install as it allows us to quickly build complex setups with minimum impact on our other duties. Thanks to the scripts and extensive documentation it is also very easy for us to
customise the installation scripts to deploy other applications and for other teams to create scripts to help them."
Currently I am aware of a number of organizations who have or are pursuing a virtualization strategy similar to the hypothetical scenario mentioned in the guidance. From a Visual Studio ALM Rangers perspective we
have invested heavily in virtualization, have virtualized most (practically all) development and testing environments, as well as demonstration and hands-on-lab training environments. In terms of technology we are primarily focused on Hyper-V, but have
many users on Virtual Server, Virtual PC and Windows 7 VHD virtualization … for production environments I would personally recommend standardizing on one virtualization technology and strategy in terms of keeping maintenance limited.
The value of a stable host environment, with a variety of virtualized environments is delivering immense flexibility, re-use and agility to our environment.