Я только что построил настоящую мощную машину дома, чтобы я мог запускать несколько виртуальных машин одновременно. Хотя мой случай, вероятно, экстремален, но вот моя логика для этого.
Тестирование
Когда я тестирую, особенно настольное приложение, я обычно создаю несколько виртуальных машин, по одной для каждой платформы, на которой должно работать мое программное обеспечение (Windows 2000 / XP / Vista и т. Д.). Если доступны 32- и 64-битные версии, я также создаю один из них. Я также играю с настройками оборудования виртуальной машины (например, много ОЗУ, мало ОЗУ, 1 ядро, 2 ядра и т. Д.). Таким образом, я обнаружил множество маленьких ошибок, которые определенно превратили бы их в дикую природу, если бы я не использовал этот подход.
Этот подход также облегчает игру с различными программными сценариями (что происходит, если у пользователя, устанавливающего программу, отсутствует .NET 3.5 sp1? Что происходит, если у него нет компонента XXX? И т. Д.?
Разработка
Когда я разрабатываю, у меня есть одна виртуальная машина, на которой работают мои серверы баз данных (SQL2000 / 2005/2008). Это по двум причинам. Во-первых, это более реалистично. В производственной среде ваше приложение, вероятно, не работает на той же коробке, что и база данных. Почему бы не повторить это, когда вы разрабатываете? Кроме того, когда я не занимаюсь разработкой (помните, что это также мой домашний компьютер), действительно ли мне нужно, чтобы все эти службы баз данных работали? Да, я мог бы включать и выключать их вручную, но гораздо проще включить виртуальную машину.
Клиенты
Если я хочу показать клиенту какую-то веб-работу, которую я проделал, я могу поместить только одну виртуальную машину в DMZ, и он сможет войти в нее и поиграть с веб-проектом, а остальная часть моей сети / компьютера. безопасно.
Совместимость
Vista64 теперь моя основная машина. Любое старое оборудование / программное обеспечение, которое у меня есть, не будет хорошо работать с этой ОС. Я решил использовать Windows XP 32 в качестве виртуальной машины для всех этих элементов.