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

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

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

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

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

Ответы [ 16 ]

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

Тестирование приложений в нескольких средах - одно из очевидных применений виртуализации, о котором я знаю. Тестирование приложения в других операционных системах (без необходимости в дополнительных физических компьютерах), а также тестирование, которое включает в себя программное обеспечение, которое, как правило, позволяет установить только одну версию на данном компьютере (например, браузер Internet Explorer; работает как IE6). и IE7 на той же машине не является официально поддерживаемой конфигурацией), являются хорошими кандидатами для использования виртуальной машины.

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

Если ваш сервер сборки работает на ВМ, вы можете сделать его снимки для каждого выпуска программного обеспечения, чтобы быть на 100% уверенным в том, что вы можете воссоздать среду сборки (в случае, если вы хотите сделать исправления для старых выпусков). например).

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

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

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

Использование виртуализации для коммерческой деятельности также является отличным вариантом использования. Вы можете сделать снимок в определенное время, которое вы можете сохранить в качестве базовой демонстрации. Затем, пройдя демонстрацию и изменив данные и т. Д., Вы можете восстановить прежнюю базовую линию для будущих демонстраций. Вы также можете захватить несколько базовых линий и выбрать, какой базовый уровень лучше всего подходит для предстоящей демонстрации.

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

Многие докладчики используют виртуальную машину для презентаций - это позволяет им немедленно вернуться к исходному состоянию, чтобы сбросить презентацию на следующий день, быстро перенести все материалы презентации между компьютерами, и не нужно показывать своим посетителям свою грязную папку «Мои документы».

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

Быстрое распределение сред между членами команды - очень хороший пример использования для виртуализации, особенно если у вас много различных компонентов, инструментов и т. Д. Это может сэкономить вам массу времени с новыми сотрудниками, подрядчиками или другими лицами. кому быстро нужна среда.

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

Простейший случай, который применим к моей текущей ситуации, заключается в том, что у нас сложная клиент-серверная среда, и с помощью виртуализации каждый разработчик может очень быстро получить базовый набор операционных систем для развертывания своей локальной сборки и проверки сквозной функциональности.

Локально у вас есть ваш dev-блок и N клиентских блоков, которые повторно инициализируются как свежие ОС каждый раз, когда вы хотите попробовать сборку. По сути, это тестовая среда, эквивалентная «make clean», где даже клиентская рабочая станция заменяется новой ОС.

1 голос
/ 22 апреля 2017

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

1 голос
/ 02 мая 2009
  • Разработка надстроек для разных версий Microsoft Office (с использованием Visual Studio Tools for Office).

Моя основная рабочая машина имеет Office 2007. Когда я работаю с надстройками для Office 2003, я использую виртуальную машину с Visual Studio и Office 2003.

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

Я удивлен, что никто не упомянул функцию записи / воспроизведения VMware ( потрясающая демонстрация видео ), которая отлично подходит для отладки.

У меня есть автономный сервер под управлением ESXi, на котором установлены различные машины для сборки установщиков (поэтому мне не нужно отказываться от вычислительной мощности на моем рабочем столе), автоматизированное тестирование (сервер работает быстрее любого рабочего стола) и различные тестовые среды (о 20 различных конфигураций), так что группа поддержки может легко перейти на конфигурацию, которая близко соответствует системе клиентов.

Когда у вас есть один действительно мощный сервер, на котором запущены виртуальные машины, которые могут быть разделены между группами поддержки, тестирования и разработки, вы получаете огромную экономию средств. В общей сложности у нас работает ~ 25 виртуальных машин на ESXi (двухъядерный процессор Xeon 2.5G + 8Gb RAM), совместно используемой 5-10 людьми, некоторые разработчики используют Virtual PC, а затем я использую VMware Workstation на своем рабочем столе. Все пользователи Mac здесь также используют VMware Fusion

...