Le nouveau service, actuellement en Preview, est une machine virtuelle sur le cloud de Google mais sans bureau graphique, conçu pour un accès via un navigateur Web ou un terminal SSH. La société met l'accent sur l'intégration avec les EDI JetBrains, mais l'image par défaut utilise le Code-OSS open source de Microsoft, mieux connu sous le nom de sa distribution officielle, Visual Studio Code (VS Code).
L'intérêt pour les environnements de développement à distance a augmenté au cours des dernières années, accéléré par la tendance au travail à distance. L'architecte cloud de L'Oréal, Antoine Castex, a déclaré lors de Cloud Next que les avantages du développement à distance incluent un environnement de développement cohérent, la sécurité, la simplicité des licences et la suppression d'un point de défaillance unique, l'ordinateur portable du développeur.
Les Cloud Workstations peuvent se trouver dans un VPC (Virtual Private Cloud) d'entreprise sur la plateforme de Google avec un contrôle sur l'entrée et la sortie des données. Elles s'intègrent également à un autre nouveau projet présenté à Cloud Next, Software Delivery Shield, qui fournit des packages open source « vérifiés et testés par Google », comme alternative aux packages de confiance téléchargés à partir de divers référentiels publics.
Envoyé par Google
« Vous pouvez également démarrer votre propre image de conteneur ou utiliser des images de conteneur externes, à condition qu'elles soient basées sur Linux », indiquent les documents. Ils sont conçus pour être éphémères. « Les postes de travail s'exécutent sur des machines virtuelles Compute Engine éphémères qui sont supprimées lorsque les postes de travail sont arrêtés, auquel cas toutes les données d'exécution des postes de travail sont supprimées avec la machine virtuelle », confirment les documents. Il existe également une option pour un répertoire personnel persistant.
Malgré leur nom, les Google Cloud Workstations sont conçues comme une offre hybride. La configuration de base consiste à coder dans un navigateur Web, exécutant Code-OSS, plutôt que l'expérience à distance complète de quelque chose comme Microsoft DevBoxes. Matt Ellis, developer advocate pour le compte de JetBrains, a fait remarquer à Cloud Next qu'il ne s'agissait pas d'un bureau à distance, notant que "les solutions de bureau à distance nécessitent un aller-retour complet pour chaque pression de touche". Le concept de JetBrains est que l'IDE s'exécute localement, bien que la plupart de ses fonctionnalités s'exécutent sur la machine distante, grâce à un élément appelé JetBrains Gateway.
Le rapprochement avec JetBrains signifie que les seuls EDI préfigurés sont les EDI Code-OSS de Microsoft ou les EDI de JetBrains tels que IntelliJ IDEA, PyCharm, CLion, PhpStorm et Rider. On a l'impression que Google vise à offrir un écosystème de développeurs alternatif à Microsoft et GitHub ; pourtant, la popularité de VS Code le rend difficile à éviter. Bien que la version du navigateur dans une Cloud Workstation soit Code - OSS, VS Code lui-même peut également être utilisé via sa prise en charge du développement à distance via SSH. Il y a un certain avantage à utiliser VS Code plutôt que Code-OSS, car il permet d'accéder au marché officiel de l'extension VS Code, plutôt qu'au plus petit registre Open VSX qui prend en charge les « éditeurs compatibles avec le code VS ».
Intégration entre Cloud Workstations et la fonctionnalité de développement à distance de JetBrains
Envoyé par JetBrains
Pour faire simple, un EDI JetBrains est constitué de deux éléments principaux : (1) le backend de l’EDI sur le serveur distant et (2) le client local. Vous interagissez avec un client local léger, qui offre une expérience utilisateur réactive et fluide. Pendant ce temps, le serveur distant gère tout le gros du travail.
Le client local différencie la solution des outils de bureau à distance à usage général, avec lesquels chaque clic ou utilisation d’une touche génère un aller-retour complet. La solution est conçue et optimisée pour le développement logiciel, « ce qui nous permet d’offrir aux utilisateurs une expérience de développement particulièrement naturelle ».
Le serveur distant contient les environnements de développement. Vous pouvez automatiser la création et la gestion de ces environnements en passant par des fournisseurs d’environnement de développement cloud tels que Cloud Workstations ou les configurer manuellement.
Intégration de Cloud Workstations avec JetBrains Gateway
Cloud Workstations fournit des environnements de développement préconfigurés mais personnalisables, disponibles constamment et partout. Avec ce partenariat, Cloud Workstations prend désormais en charge de nombreux EDI populaires, tels qu’IntelliJ IDEA, PyCharm et Rider, ce qui permet aux utilisateurs de profiter d’environnements de développement gérés et personnalisables dans Google Cloud dans leur EDI.
La possibilité d’utiliser Cloud Workstations pour le développement à distance a plusieurs avantages :
- Flexibilité : les utilisateurs ont le choix entre un plus grand nombre d’options. Donner aux développeurs la liberté de travailler où ils le souhaitent et d’utiliser n’importe quel ordinateur portable à leur disposition contribuer grandement à améliorer leur productivité. La connexion à une machine distante leur donne accès à toutes les fonctionnalités dont ils ont besoin et leur permet de travailler efficacement dans un endroit dans lequel ils se sentent bien.
- Productivité : la mise en place d’un environnement prêt à être utilisé ne prend que quelques minutes. Les membres de votre équipe peuvent être rapidement opérationnels et tous disposer des mêmes outils et dépendances installés via une configuration Workstation partagée, ce qui garantit que tout fonctionne de la même manière sur l’ensemble des ordinateurs.
- Sécurité : le code source reste toujours sur la machine distante et n’est jamais téléchargé sur la machine locale. Cloud Workstations peut également s’exécuter dans votre cloud privé virtuel et prend en charge les mécanismes de sécurité utilisés pour les charges de travail de production, telles que VPC Service Controls, les entrées et sorties privées Ingress/Egress, les journaux d’audit cloud et les contrôles IAM granulaires. Cela évite les problèmes de sécurité et vous n’avez pas à vous inquiéter concernant le code source de votre projet, même si un développeur a oublié son ordinateur portable quelque part.
Software Delivery Shield pour sécuriser la chaîne logicielle d'approvisionnement
Dans son annonce, Google explique que Software Delivery Shield est conçu pour fournir aux développeurs, aux DevOps et aux équipes de sécurité les outils nécessaires à la création d'applications cloud sécurisées. La solution promet de répondre aux problèmes de sécurité tout au long de la chaîne logicielle d'approvisionnement dans cinq domaines : le développement d'applications, l'approvisionnement logiciel, l'intégration continue (CI) et la livraison continue (CD), les environnements de production et la mise en place de politiques de confiance. Software Delivery Shield fonctionne avec plusieurs services, notamment Google Kubernetes Engine, Cloud Code, Cloud Build, Cloud Deploy, Artifact Registry et Binary Authorization.
Envoyé par Google
Sources : présentation de Google Cloud Workstations, documentation de Cloud Workstations, JetBrains, Software Delivery Shield
Et vous ?
Que pensez-vous de Google Cloud Workstations ?