As estações de trabalho na nuvem oferecem ambientes de desenvolvimento geridos no Google Cloud com segurança incorporada e ambientes de desenvolvimento pré-configurados, mas personalizáveis. Em vez de exigir que os programadores instalem software e executem scripts de configuração, pode criar uma configuração da estação de trabalho que especifique o seu ambiente de forma reproduzível. Todas as atualizações a uma configuração de estação de trabalho são aplicadas automaticamente às estações de trabalho na próxima vez que forem iniciadas. Os programadores acedem às estações de trabalho através de um IDE baseado no navegador, de vários editores de código locais (como o VSCode ou os IDEs da JetBrains, como o IntelliJ IDEA Ultimate e o PyCharm Professional) ou através de SSH.
As estações de trabalho na nuvem usam os seguintes Google Cloud recursos para gerir os seus ambientes de desenvolvimento:
Os clusters de estações de trabalho definem um grupo de estações de trabalho numa região específica e a rede VPC à qual estão associadas. Os clusters de estações de trabalho não estão relacionados com os clusters do Google Kubernetes Engine (GKE).
As configurações de estações de trabalho funcionam como modelos para estações de trabalho. A configuração da estação de trabalho define detalhes como o tipo de instância da máquina virtual (VM) da estação de trabalho, o armazenamento persistente, a imagem do contentor que define o ambiente, o IDE ou o editor de código a usar e muito mais. Os administradores e as equipas de plataforma também podem usar regras de gestão de identidade e acesso (IAM) para conceder acesso a equipas ou a programadores individuais.
As estações de trabalho são ambientes de desenvolvimento pré-configurados que oferecem um IDE na nuvem, ferramentas de linguagem, bibliotecas e muito mais. As estações de trabalho podem ser iniciadas ou paradas a pedido e executadas em VMs do Compute Engine no seu projeto, com um disco persistente anexado para armazenar dados entre sessões.
Os administradores e as equipas de plataforma criam configurações de estações de trabalho que partilham com a equipa de desenvolvimento. Cada programador cria uma estação de trabalho com base numa configuração de estação de trabalho.
Ciclo de vida da estação de trabalho
As estações de trabalho são executadas em VMs do Compute Engine efémeras, e podem ser iniciadas ou paradas a pedido para melhorar a poupança de custos. Além disso, os administradores e as equipas da plataforma podem configurar um tempo limite de inatividade ou um tempo limite de execução na configuração da estação de trabalho para ajudar a garantir que as estações de trabalho são encerradas quando já não são usadas, o que reduz os custos. Também ajuda a garantir que todas as estações de trabalho são sincronizadas com as alterações mais recentes aplicadas à configuração da estação de trabalho quando cada estação de trabalho é reiniciada.
Armazenamento persistente
Quando uma estação de trabalho é interrompida, a respetiva VM efémera é eliminada juntamente com todos os dados de tempo de execução da estação de trabalho. Os administradores e as equipas de plataforma podem configurar opcionalmente um diretório principal persistente numa configuração da estação de trabalho, para que todos os dados guardados no diretório principal persistam entre sessões. Este armazenamento persistente é implementado como um disco persistente que é anexado à VM da estação de trabalho quando a sessão é iniciada e desanexado quando a sessão termina.
Nomes de anfitrião DNS da estação de trabalho
Cada estação de trabalho recebe o seu próprio nome de anfitrião exclusivo. Todas as estações de trabalho num cluster de estações de trabalho partilham um nome de domínio comum específico do cluster, e o cluster de estações de trabalho trata do encaminhamento de pedidos para este nome de anfitrião para a estação de trabalho em execução. O nome do anfitrião da estação de trabalho pode ser usado para estabelecer ligação à estação de trabalho através do navegador.
Atualizações de configuração
As atualizações a uma configuração da estação de trabalho são aplicadas automaticamente às estações de trabalho quando cada estação de trabalho é reiniciada após a atualização da configuração. Por exemplo, alterar o tipo de máquina numa configuração da estação de trabalho altera o tipo de máquina das VMs usadas pelas estações de trabalho associadas na próxima vez que cada estação de trabalho for reiniciada. Os administradores e as equipas da plataforma podem configurar um tempo limite de inatividade ou um tempo limite de execução na configuração da estação de trabalho para ajudar a garantir que as estações de trabalho são sincronizadas com as atualizações de configuração num período limitado.
Gemini Code Assist
O Gemini Code Assist é um colaborador com tecnologia de IA no Google Cloud. Se selecionar o Editor base (Code OSS para estações de trabalho na nuvem) quando criar a configuração da estação de trabalho, o Gemini pode ajudar com o seguinte no editor base:
Fornecer orientações para ajudar a resolver problemas com o seu código.
Gere código para o seu projeto.
Receba sugestões inline enquanto programa.
O Gemini fornece citações de fontes quando as sugestões citam diretamente conteúdo de uma fonte em detalhe para ajudar a agir em conformidade com os requisitos de licença. Para mais informações sobre a utilização do Gemini com as Cloud Workstations, consulte o artigo Escreva código com a ajuda do Gemini Code Assist.
Saiba como e quando o Gemini para Google Cloud usa os seus dados.
Segurança da cadeia de abastecimento de software
O Cloud Workstations é um dos Google Cloud componentes que pode usar para proteger a sua cadeia de abastecimento de software. Pode usar as estações de trabalho na nuvem juntamente com outros Google Cloud produtos e funcionalidades para melhorar a postura de segurança dos fluxos de trabalho e das ferramentas do programador, das dependências de software, dos sistemas de CI/CD usados para criar e implementar o seu software, e dos ambientes de tempo de execução, como o Google Kubernetes Engine e o Cloud Run. Para saber mais, consulte Segurança da cadeia de abastecimento de software.