
Temos um grupo de engenheiros, cada um com seus próprios laptops, mas há necessidade de acesso a desktops de alto desempenho, seja para obter mais memória ou para não querer sobrecarregar seus laptops durante longos cálculos. Usamos software apenas no Windows e, ao usar esses desktops, pode haver a necessidade de sessões interativas, não apenas coisas do tipo API em lote/REST.
No momento, temos algumas máquinas Windows independentes nas quais os usuários podem acessar remotamente. Cada um deles tem login de usuário único e, portanto, você precisa "vagar" e experimentar várias máquinas até encontrar uma que seja gratuita. Que idiotice. Se a solução certa a longo prazo é obter hardware diferente, tudo bem (do tipo "comece a pedir agora pelos fundos").
Um ou dois dos pacotes de software usados requerem chaves USB físicas para confirmar a licença.
Um dos pacotes costuma ser usado com grandes quantidades de memória (128 GB+).
Que opções existem?
Existe algum software "gatekeeper" para melhorar a experiência do que temos agora, vários computadores? Talvez um front-end que mostre quais computadores estão disponíveis e você possa ser redirecionado para aquele que escolher?
Se seguirmos o caminho de uma (ou algumas) máquinas com enorme RAM, faria mais sentido configurá-las como login múltiplo do Windows Server ou algo como Hyper-V? Nesses casos, os usuários precisariam ser informados, de alguma forma, quando o software de licença limitada já estivesse em uso.
Estou perdendo a cabeça e agradeceria sua opinião!
Responder1
Sim, no Windows Server você tem Serviços de Área de Trabalho Remota, que podem consistir em hosts de área de trabalho remota e um gateway, que distribui as conexões RDP entre os hosts.
Mas pela minha experiência, deixe os desenvolvedores usarem laptops grandes e armazenarem tudo no Git, porque o investimento que você precisa fazer em hardware de servidor para oferecer um bom desempenho é muito caro.
Você tem a mesma coisa no Azure, chamada Azure Virtual Desktop. Mas, novamente, na maioria das vezes, é muito difícil colocar os desenvolvedores em um ambiente de área de trabalho remota compartilhada. Porque quando um desenvolvedor está construindo pesadamente o software, isso pode atrapalhar outro desenvolvedor porque toda a CPU é retirada, por exemplo.
Ou o ambiente de área de trabalho remota só precisa ter o objetivo de usá-lo como local de trabalho (usando escritório e assim por diante), e todas as coisas relacionadas ao software estão sendo feitas no Azure Devops e talvez em servidores de construção dedicados.