
У нас есть группа инженеров, у каждого из которых есть свои ноутбуки, но есть потребность в доступе к высокопроизводительным настольным компьютерам, либо для большего объема памяти, либо для того, чтобы не загружать свои ноутбуки во время длительных вычислений. Мы используем программное обеспечение, которое есть только на Windows, и при использовании этих настольных компьютеров может возникнуть необходимость в интерактивных сеансах, а не только в пакетных/REST API-вещах.
Сейчас у нас есть несколько независимых машин Windows, к которым пользователи могут подключаться удаленно. Каждая из них — однопользовательский вход, поэтому вам придется «бродить» и пробовать несколько машин, пока не найдете свободную. Это глупо. Если правильным долгосрочным решением будет приобрести другое оборудование, это нормально (в смысле «начать просить деньги прямо сейчас»).
Для подтверждения лицензии одного или двух используемых пакетов программного обеспечения требуются физические USB-ключи.
Один из пакетов обычно используется при больших объемах памяти (128 ГБ+).
Какие есть варианты?
Есть ли какое-то программное обеспечение "gatekeeper" для улучшения опыта того, что у нас есть сейчас, нескольких компьютеров? Может быть, интерфейс, который показывает, какие компьютеры доступны, и вы можете быть перенаправлены на тот, который вы выбрали?
Если мы пойдем по пути одной (или нескольких) машин с огромным объемом оперативной памяти, будет ли разумнее настроить их как Windows Server multilogin или что-то вроде Hyper-V? В этих случаях пользователям нужно будет как-то сообщать, когда программное обеспечение с ограниченной лицензией уже используется.
Я в растерянности и буду признателен за ваши мысли!
решение1
Да, в Windows Server есть службы удаленных рабочих столов, которые могут состоять из хостов удаленных рабочих столов и шлюза, который распределяет RDP-подключения по хостам.
Но по моему опыту, позвольте разработчикам использовать большие ноутбуки и хранить все данные в Git, поскольку инвестиции в серверное оборудование, необходимые для обеспечения хорошей производительности, обходятся очень дорого.
У вас есть то же самое в Azure, называемое Azure Virtual Desktop. Но опять же, большую часть времени размещение разработчиков в общей среде удаленного рабочего стола очень сложно. Потому что когда один разработчик усиленно разрабатывает программное обеспечение, это может помешать другому разработчику, например, из-за того, что весь процессор отнимается.
Или среда удаленного рабочего стола должна использоваться только в качестве рабочего места (использование офиса и т. д.), а все, что связано с программным обеспечением, выполняется в Azure Devops и, возможно, на выделенных серверах сборки.