Плюсы и минусы разработки на виртуальной машине на ПК

Недавно я создал себе полуфабрикат (Q9450, 8GB DDR2 1066, 1TB HDD, Dual 8600GT, Vista Ultimate и Dual 22 'Monitors), и я оцениваю, должен ли я разрабатывать сессию VPC/VMWare сверху Vista или нет?

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

Нашел пару статей в Интернете, где полу-помощь Здесь

Любые другие мысли будут действительно оценены?

Ответ 1

Для webdevelopment мне нравится, чтобы серверная часть была разделена на виртуальную машину. Моя текущая настройка - Macbook Pro с несколькими виртуальными машинами Debian внутри. Мне нравится его изоляционный аспект. Я могу попробовать новое программное обеспечение на серверах и иметь возможность вернуть их обратно, если что-то испортилось.

Я выполняю программирование через сетевой ресурс (samba) в Textmate в главной системе.

Ответ 2

Другим преимуществом виртуальной машины является наличие чистой установленной базы. Я использую свой рабочий стол и ноутбук для многих вещей, кроме разработки. Вы никогда не знаете, когда часть программного обеспечения, которую вы устанавливаете, будет конфликтовать, или если небольшие настройки и то, с чем вы не играете, собираются уничтожить вашу ОС. Переустановка/настройка всех ваших инструментов, чтобы они были именно такими, как вы хотите, может занять некоторое время. Если у вас есть резервная копия вашего образа виртуальной машины разработки, вы можете испортить свой ПК столько, сколько хотите, но все же сможете кодировать без простоя. Он также позволяет запускать Win/Visual Studio/Etc на ящике, который в противном случае вам бы хотелось использовать Linux или MacOS.

Вы также можете сделать несколько копий одного и того же изображения и использовать их для отдельного проекта.

Возможность перехода между портативным/настольным/серверным/удаленным соединением и всегда находиться в одной и той же среде также очень полезна.

Ответ 3

Одна из проблем, которые я обнаружил (по крайней мере, при использовании сервера VMWare), заключается в том, что независимо от того, насколько быстро ваша машина, частота обновления экрана все еще около ~ 30 Гц. Это немного неприятный опыт после использования его на некоторое время.

Ответ 4

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

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

Минусы:
Вы должны загружать несколько операционных систем. Это требует времени, памяти и ресурсов.

Операции буфера обмена на виртуальной машине могут быть интересны время от времени. Иногда копирование в буфер обмена не работает или не смешивается между виртуальными машинами. (Использование VMWare).

Операции с файлами могут быть интересными при подключении USB-накопителей и других внешних устройств. VM иногда не видит устройства, иногда это происходит.

Если ваш образ виртуальной машины поврежден - вы можете легко потерять все в нем.... если он не подкреплен.....

Ответ 5

Отлично подходит для представления переговоров о развитии, вы можете вернуться к снимку и дать ответ с той же самой начальной точки каждый раз.

Ответ 6

Настройте свою оперативную память на своем будущем MacBookPro, если будет использоваться VMWare. У меня пока нет (пока), и производительность с несколькими другими (mac-side) приложениями действительно начинает ощущаться вяло.

Все самое лучшее.

Ответ 7

Недавно я работал с Visual Studio с Windows XP vm на Linux, и как-то ребята, которые сделали vm (vmware), заставили машину Windows работать быстрее. Мы сделали некоторые тесты времени, чтобы убедиться, и это было не очень важно, но некоторые вещи (например, автозаполнение) действительно всплывали быстрее.

Ответ 8

Если вы работаете в Windows, Virtual PC довольно приличный для разработки. Виртуальный сервер VMWare на самом деле не предназначен для использования в качестве рабочего стола, и вы будете очень устали от него при длительном использовании. Sun VirtualBox - это еще один вариант, конкурирующий с Virtual PC. VMWare имеет продукт рабочей станции, но он не является бесплатным.

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

Ответ 9

Долгое время мы разрабатывали на ранних версиях Visual Studio 2005 и связанных с ним биты .Net. Чтобы защитить наши настоящие машины от различных проблем, связанных с программным обеспечением до выпуска, мы выполнили всю нашу разработку в виртуальных машинах. Он работал замечательно. Я подумывал о том, чтобы вернуться к этой модели, поскольку она позволяет быстро модернизировать физическое оборудование (не говоря уже о том, чтобы упростить работу с аппаратными сбоями, просто заменив всю машину): вы просто копируете образ виртуальной машины.

На моем текущем компьютере (A Core2Duo с 4 ГБ ОЗУ) падение производительности при работе с одной виртуальной машиной практически не заметно. Однако запуск двух виртуальных машин является болезненным.

Я также не могу понять, как заставить VMWare Server хорошо работать на двух мониторах.

Ответ 10

Я бы не хотел развиваться в VM так же, как проверять вещи в виртуальной машине. Например, было бы неплохо настроить пару виртуальных машин для эмуляции n-уровневой архитектуры или настройки клиент-сервер или, наконец, просто для проверки кода на нескольких ОС

Ответ 11

Это зависит от того, что вы разрабатываете и на каком языке.

VM имеет тенденцию к довольно жесткому попаданию на доступ к диску, поэтому компиляция может значительно замедлиться, особенно для больших проектов на C/С++. Не уверен, что это будет такая проблема с .NET/Java.

Если вы делаете что-либо, что интенсивно графически (3D, видео и т.д.), я также избегаю VM.

Ответ 12

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

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

Ответ 13

Во время разработки дома у меня есть VPN в моей компании, чтобы иметь возможность использовать совлокальные инструменты, которые находятся в интрасети. У меня также есть настольный компьютер + ноутбук, подключенный через Synergy.

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

Решение, предложенное мне сотрудником, состояло в том, чтобы настроить экземпляр виртуальной машины на моем рабочем столе и использовать его для всех моих потребностей в VPN. Работает как шарм!

Ответ 14

Говоря из личного опыта разработки Java в Ubuntu VM на Windows 7, я нашел, что это довольно продуктивно. В основном потому, что моя локальная ИТ-поддержка на земле поддерживает Windows 7, поэтому я могу делать такие вещи, как доступ ко всем локальным общим папкам и принтерам в Windows, а затем настроить мою Ubuntu VM на мой сердечный контент.

Огромные преимущества в производительности благодаря удаленному доступу и совместному использованию компьютеров. Windows позволила мне очень быстро и легко использовать такие инструменты, как logmein.com и join.me для доступа к моей машине из дома и на рабочий стол, совместно использующие виртуальную машину с другими людьми в компании (обе работают без проблем с виртуальной машиной в почти полном окне), Ни одна из этих служб не поддерживается в Linux, и я бы не хотел иметь дело со всеми связанными настройками и конфигурацией VNC/X на Ubuntu.

Моя машина довольно мясистая. Четырехъядерный, с 16 ГБ оперативной памяти - 8 ГБ для виртуальной машины. Java dev на виртуальной машине довольно быстро.