Разработка с помощью удаленного рабочего стола [закрыто]

StackOverflow https://stackoverflow.com/questions/501279

Вопрос

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

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

Для меня было бы огромным преимуществом поместить моих разработчиков в экземпляры Windows XP или Vista, работающие на паре серверов с Hyper-V.

Я обеспокоен тем, что RDP / RDC через Интернет будет слишком медленным для того, чтобы кто-то мог эффективно развиваться.

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

Это было полезно?

Решение

Я видел ситуацию, когда была предпринята попытка сделать это с помощью спутникового офиса.Это было сделано для команды разработчиков Java с использованием различных инструментов java IDE.Результат не был расценен как успех, и компания вернула команду в центральный лондонский офис за значительные средства.

Для того, кто делает это изо дня в день с помощью интерактивного программного обеспечения, результат на самом деле не очень приятный.Для чего-то, что в основном использует текстовые инструменты, такие как vim и инструменты командной строки unix, это работает несколько лучше.В какой-то момент у меня был XVNC, работающий по каналу DSL 128 Кбит (типа, который в то время был распространен в Новой Зеландии), и я мог довольно легко выполнять работу с хранилищем данных на базе Oracle в удаленном месте.Уровень интерактивности, требуемый инструментами, сделал их гораздо менее чувствительными к медленному соединению, чем IDE на базе Windows.

Итак, я приведу аргумент "это зависит" с некоторыми оговорками:

  • Я бы не рекомендовал это для современной IDE и, конечно, не для чего-то сильно графического, такого как Dreamweaver, BI Development Studio или Informatica.

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

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

Другие советы

Если вас не беспокоит задержка звука и быстро меняющихся изображений, и вы не разрабатываете ничего, зависящего от 3D-оборудования, с вами, скорее всего, все будет в порядке.

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

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

Отключите все функции анимации Windows, фон рабочего стола и т.д.и это значительно поможет.

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

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

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

Определенно есть некоторые задержки, особенно если вы перерисовываете большие части экрана.Но большая часть разработки включает небольшие правки, и оба этих протокола очень хорошо с этим справляются.

Я использую Удаленный рабочий стол для управления своим компьютером с Windows на работе.Я использую виртуальную машину Parallels на Mac, и мое соединение на 2,5 м ниже, на 256 кб выше.

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

У меня на работе 3 экрана, но я по-прежнему считаю, что 20-дюймовый экран Mac лучше.Цвета намного чище, и я могу работать на Mac дольше, чем на своих рабочих экранах!

То, что является убийственным, - это Flash в браузере.Если я случайно открываю браузер на своем удаленном компьютере с помощью Flash, это прерывает соединение.Решение состоит в том, чтобы использовать FlashBlock (надстройка Firefox).

Я использую Eclipse и Visual Studio без каких-либо проблем.

Я использовал его для работы из дома (удаленный вход на мой офисный компьютер через VPN).

Производительность, конечно, зависит от ваших интернет-провайдеров.

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

У меня есть удаленный сервер на восходящем канале со скоростью 1 Мбит / с, к которому я подключаюсь по RDP (через VPN), и он работает просто отлично.Я даже использую большие разрешения экрана (1600x1200) без каких-либо проблем с производительностью.Конечно, я не уверен, однако, как такая настройка будет работать для нескольких одновременных пользователей.

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

В качестве дополнительного бонуса клиенты RDP доступны для linux, и Операционная СИСТЕМА X.

Я ежедневно использую RDP для разработки, я оставляю свой ноутбук включенным дома, моя рабочая среда открыта и готова к работе.Когда я прихожу на работу, и все загружают свои проекты и открывают свои программы, я просто подключаюсь к RDP и готов приступить.Вы должны иметь в виду определенные сочетания клавиш, которые меняются (например, CTRL + ALT + DEL), поначалу это раздражает, но вы привыкаете к этому.

Я рекомендую свести задержку к минимуму...

  • уменьшение количества цветов до 256 (в конце концов, вам нужно видеть только текст)
  • Оставьте обои на другом компьютере
  • Оставьте звуки на другом компьютере
  • Оставьте любые темы на другом компьютере
  • Выберите более низкую скорость соединения, даже если ваша выше.Windows сведет к минимуму отправляемые данные.

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

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

До 2000 года я делал это в течение 3 лет каждый день по нескольку часов в день.Это было, когда пропускная способность тоже была отстойной.

В настоящее время это намного, намного лучше.

И если вы используете NxMachine, жизнь становится еще лучше :)

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

Не могу представить, чтобы несколько человек на одной коробке решили скомпилировать :)

Джи-Мэн

Мы делаем это с помощью citrix, и это очень быстро.

Интересно, какова была бы причина этого.Имеет ли центральный сервер (ы) доступ к некоторым ресурсам, к которым не смогли получить доступ отдельные компьютеры разработчиков?

Я использую RDP для подключения с моего домашнего компьютера к моему рабочему компьютеру время от времени.Я должен сказать - кодировать можно, но гораздо удобнее делать это, когда IDE находится на вашем собственном компьютере.Даже когда в локальной сети 100 Мбит наблюдается некоторое заметное отставание.Не настолько, чтобы мешать работе, но, тем не менее, раздражает.

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

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

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

Как и во всем остальном, ответ на ваш вопрос таков: "Ваш пробег может отличаться" или YMMV.Это зависит от того, что делают разработчики.Тратят ли они большую часть своего времени на написание кода или выполняют много больших компиляций?Нужен ли им прямой доступ к оборудованию?

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

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

Но у RDP тоже есть свои преимущества.Вам действительно нужно взвесить все "за" и "против" и решить, какой список длиннее или более "весомый".

Я использую NoMachine NX Client для удаленного рабочего стола на безголовом сервере, который запускает FreeNX.Это здорово, потому что я могу войти в свой сеанс из любого места, и мой последний сеанс все еще здесь для меня.Скорость никогда не была проблемой, за исключением случаев, когда линия DSL отключена.В любом случае, я хочу сказать, что если вы используете Linux-сервер и используете 'vi', то есть более приятная альтернатива, чем 'screen'.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top