2009-11-03 8 views
5

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

Наша группа представляет собой небольшой ISV/SAAS, который существует как подразделение более крупной медиагруппы. Мы не являемся МВЗ, мы зарабатываем деньги даже в этом году. Мы принадлежим медиа-группе среднего размера, чья бизнес-модель отличается от других, и, по-видимому, она обусловлена ​​только снижением затрат.

Наш стек программного обеспечения - Visual Studio 2008, SQL 2008, на Windows Server 2008 (так что на корневом компьютере могут размещаться и отлаживаться несколько корневых сайтов). Нашим целевым оборудованием является четырехъядерная рабочая станция 3GHz, оперативная память 4 ГБ и зеркальные жесткие диски RAID 1, так что мы защищены от потери производительности при сбое жесткого диска разработчика.

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

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

Просьба указать аргументы за или против, доказательства, если вы видели это, и насколько хорошо (или нет) оно ушло.

+1

Я бы перефразировал это как вопрос (в основном название) –

+0

Использование Visual Studio над RDP - это совсем не то же самое. –

ответ

10

Это звучит как хорошо намерения идей, но:

В моем опыте вам нужно несколько ядер, много памяти и быстрые диски, чтобы быть продуктивными в сегодняшней современной среде IDE. Я не вижу, что это происходит в виртуальной среде с любой экономикой. Отдельные ящики все еще лучше.

Это также проблема контроля. В виртуальной среде я могу представить себе все виды ограничений. Сможете ли вы, например, установить свои собственные инструменты?

В конечном счете, это ошибочно. Если эта идея увеличит время сборки на любую существенную сумму, любая экономия на оборудовании будет быстро стерта из-за потери производительности. И наоборот, деньги, которые тратятся на достойные индивидуальные машины для разработчиков, будут быстро расплачиваться за себя в более короткие сроки сборки.

Хорошее качество отдельных машин инвестиции, а не стоимость.

5

Помимо всех данности (Perfomance, дискового пространства и т.д. ...):

Я бы ОК с этим до тех пор, как я все еще имел поддержку нескольких мониторов.

Без этого это не выход.

+0

Абсолютно! Современные IDE являются абсолютными скейтбордами. И даже если вы используете терминал/VI/Emacs/make conviction, вам все равно понадобится вся недвижимость на экране, которую вы можете получить. –

+1

В настоящее время мы разрабатываем Windows Server 2008, размещенную в VMware. Он работает очень хорошо, и VS2010 очень отзывчив. Для поддержки нескольких мониторов вызовите 'mstsc.exe/multimon'. –

7

Разработка связана с диском, т. Е. Вы тратите свое время на ожидание сборок, которые чаще всего связаны с диском. Если вы все разделяете время сборки машины, это будет намного хуже.

0

Я предполагаю, что у вас есть машины уже для SVN/TRAC, сервера непрерывной интеграции, демонстрации продуктов, тестирования и т. Д., И что единственное возможное использование вашей команды для этих серверов для персональных виртуальных машин.

0

Я делаю много вещей, которые привязывают мой процессор на 100%. Компиляторы, безусловно, этого добиваются. Теперь представьте, что вам нужно поделиться этим процессором с 10 другими разработчиками. Потеря производительности будет очевидна. Если у вас многоядерный ПК, это не будет так больно.Получите Intel i7, и вы, вероятно, даже не заметите его, когда вошли 8 человек. Большинство программ (включая мой компилятор) не могут использовать более одного процессора в любом случае.

Сказанное, это жизнеспособное решение для снижения затрат. Я работал в компании, которая с тех пор перешла на эти немые терминалы. Он работает нормально. В моем университете были компьютеры HP UNIX, которые были немыми терминалами. Они вошли в сервер, который разделял право собственности на процессор, однако многие пользователи вошли в систему. Что люди могли бы сделать, это войти в сервер и проверить количество зарегистрированных пользователей. Если их было слишком много, они искали бы следующий один, потому что время сборки заметно медленнее. Я никогда не войду в легко запоминающиеся имена серверов. =)

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

0

Ускорение графики также может быть проблемой, если вам нужно что-либо сделать с анимацией, видео или редактированием изображений. Вы не можете проверить воспроизведение видео через сеанс RDP, так как частота кадров и/или глубина цвета недостаточно высока.

1

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

Но в качестве бонуса вы очень мобильны с точки зрения того, с чего вы можете развиваться (у всех нас есть ноутбуки), будь то в офисе, дома, в солнечном пляже (последнее, вероятно, было преувеличением).

Bute да, это может не все хорошо работать для графических приложений.

+3

... и этот сервер должен будет работать чуть больше, чем vim! Visual Studio не совсем легкий! –

+0

На самом деле, по сравнению с Eclipse ... –

+0

У меня был довольно успешный запуск X-Server локально и запуск Eclipse на удаленном компьютере по локальной сети, поэтому, пожалуйста ... :) –

3

Основная неспособность понять, что коробка разработчика фактически делает большую часть времени:

При создании его жевания через процессор и диск - особенно диск. При тестировании вы говорите о том, что один или несколько экземпляров Visual Studio работают (как только вы начинаете получать две вещи, начнете получать интерес), сервер базы данных, веб-сайт и сервисы плюс все остальное (браузеры с лотом вкладок open, программное обеспечение для ноутбуков, а небо знает только, что еще) все распространяется на несколько мониторов (по крайней мере два). Много ядер, много памяти, пожалуйста!

Я вполне могу согласиться с тем, что есть аргумент в пользу виртуализации. Хорошая утилита должна иметь возможность размещать несколько параллельных виртуальных машин, чтобы изолировать некоторые из вышеперечисленных и обеспечить «чистые» среды для тестирования. Обратите внимание, что это ящик для ОДНОГО разработчика, размещающего несколько виртуальных машин исключительно в интересах одного разработчика ...

+2

Мы уже используем Microsoft Virtual PC для размещения нескольких виртуальных сред для тестирования, включая SUSE Linux для поиска в Postfix MTA и SOLR, Windows 2000 с чистой копией IE6 и несколькими установками XP с различными версиями IE, которые мы поддерживаем. –

+1

(то есть, на наших локальных dev-системах) –

+0

Это аргумент в вашу пользу ... – Murph

0

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

+3

Хм, я не убежден - машина, над которой я хочу работать (на моем столе), и вид, который я хочу не слишком хороши - достойная лошадиная сила в достаточно маленьком пакете стоит дорого, и если вы в противном случае, вам придется идти на компромисс над чем-то другим (и если его переносимость вы победите в своем основном аргументе). – Murph

+0

Вы правы, что вам нужно идти на компромисс. Но вы все равно можете получить хороший ноутбук для разработчиков по разумной цене. Мой ноутбук достаточно мощный, чтобы выполнять работу по разработке и переносится достаточно, чтобы поместить его в рюкзак. Он не должен быть чрезвычайно портативным, потому что он сидит на моем столе большую часть времени. И вы правы, что настольные машины более мощные по той же цене. Но за эти дополнительные деньги вы получаете мобильность, и для меня это ценно. Конечно, если деньги не возражают, вы должны получить мощный настольный компьютер и небольшой ноутбук, но у меня нет такой роскоши. – 2009-11-04 09:40:07

1

Похоже, что ваша группа не предлагает решения, которые вы рассмотрели в хорошо документированном формате, иначе корпорация не будет принимать решения в горле. Если у вас есть документированный процесс разработки, корпорация может захотеть обсудить процесс изменения с вами, но как только вы скажете: «это изменение нарушит наш процесс, и нам нужно будет обновить наш рабочий процесс разработки», они увидят боль от $$ в переработке процесса и, скорее всего, отступить.Тем не менее, как только ваш процесс задокументирован, вы должны внутренне безжалостно пытаться сделать его более эффективным и экономичным, а также иметь представление о предложениях компании.