Каковы основные варианты использования виртуализации при разработке программного обеспечения? - PullRequest
7 голосов
/ 15 октября 2008

Каковы основные варианты использования для виртуализации, то есть для запуска одного или нескольких «виртуальных ПК» с использованием таких программ, как VMWare и Microsoft Virtual PC - для разработки программного обеспечения?

Также - есть ли другие случаи / применения виртуализации, которые не охватываются моим определением выше (использование инструмента, такого как MS Virtual PC или VMWare), и которые полезны для разработчиков?

Мой стимул спрашивать - это Комментарий StackOverflow от Metro Smurf , утверждающий «Вы будете удивляться, как когда-либо развивались без него!», Относительно использования виртуализации.

(Пожалуйста, включите только один вариант использования в ответ. Спасибо!)

Ответы [ 16 ]

1 голос
/ 06 января 2009

Возможность протестировать / повторно протестировать процесс развертывания - огромная экономия.

1 голос
/ 16 октября 2008

Мы разрабатываем программное обеспечение для использования в нашем приложении SaaS, наша производственная среда имеет большое количество серверов, и их программная среда должна быть абсолютно предсказуемой; мы не можем иметь НИЧЕГО установленного или отсутствующего на наших машинах для разработки.

Более того, нашему приложению требуется несколько различных типов серверов для правильной работы (по крайней мере, 7 в прошлый раз, когда я считал); в основном они не могут быть установлены на одной (виртуальной) машине - по крайней мере, не нарушая требования «то же программное обеспечение, что и на производстве».

Чтобы иметь согласованную среду, необходимо использовать виртуальные машины. Я не знаю, как кто-нибудь обходится без них.

Снимки и откаты тоже хороши, но я использую их только изредка (очень полезно при тестировании установки / обновления).

Предположим, вы разрабатываете новую версию своего программного обеспечения и проверяете, что обновление с предыдущей версии работает правильно ... сколько времени занимает цикл тестирования без возможности отката коробки? Нужно ли переустанавливать ОС тогда на старую версию? Можете ли вы гарантировать, что удаление действительно удаляет все?

1 голос
/ 15 октября 2008

Причины, по которым я использую виртуальные машины для разработки.

  • Изолировать различные среды разработки.
  • Среды тестирования.
  • Простое восстановление из-за сбоя / обновления оборудования компьютера.
  • Возможность "откатить" изменения в вашей среде разработки, если что-то повредит.

В настоящее время я использую VirtualBox для настройки своей виртуальной машины. Раньше я использовал VirtualPC, но ДЕЙСТВИТЕЛЬНО ненавидел отсутствие функции «снимка» (как у VMware и VirtualBox).

1 голос
/ 15 октября 2008

Тестовые среды. Если у вас есть более одной установки, для которой должна быть нацелена система (например, Windows & Linux, XP и Vista), то машина с большим количеством оперативной памяти и VMWare (или одной из других) является хорошим способом управления средами.

Другая разрабатывается в одной системе и нацелена на другую. Например, в какой-то момент я выполнил работу J2EE на рабочей станции под управлением Linux, где клиентом был I.E. 5.5. ВМ с Windows 2000 и IE 5.5 позволит мне протестировать приложение.

0 голосов
/ 09 декабря 2009

Некоторая тестовая среда: если вы отлаживаете вредоносное ПО (пишете или разрабатываете против него таблетку), использовать настоящую ОС не очень разумно. Единственным возможным недостатком является то, что вирусы могут обнаружить, что они запускаются в виртуализации. :( Одна из возможностей сделать это состоит в том, что движки виртуальных машин могут эмулировать конечный набор аппаратного обеспечения.

0 голосов
/ 15 октября 2008

Некоторые серверные приложения также могут использовать виртуальные машины. Когда один виртуальный сервер не используется много, сервер может найти ресурсы для другого виртуального компьютера.

...