Google Cloud présente les Cloud Workstations à l'intention des équipes DevOps, mettant l'accent sur une intégration aux EDI JetBrains
sans pouvoir éviter Visual Studio Code

Google a introduit Cloud Workstations dans le cadre de son événement en ligne Cloud Next, en concurrence avec d'autres environnements de développement en ligne tels que GitPod, GitHub Codespaces ou Microsoft DevBoxes.

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.

Nom : sds.png
Affichages : 960
Taille : 73,4 Ko

Citation Envoyé par Google
Cloud Workstations fournit des environnements de développement entièrement gérés sur Google Cloud. Il permet aux administrateurs informatiques et de sécurité de provisionner, faire évoluer, gérer et sécuriser facilement leurs environnements de développement et permet aux développeurs d'accéder aux environnements de développement avec des configurations cohérentes et des outils personnalisables.

Cloud Workstations aide à déplacer la sécurité vers la gauche en améliorant la posture de sécurité de vos environnements de développement d'applications. Il dispose de fonctionnalités de sécurité telles que les contrôles de service VPC, l'entrée ou la sortie privée, la mise à jour forcée des images et les politiques d'accès à la gestion des identités et des accès.
Une Cloud Workstation est basée sur une image de conteneur qui peut être exécutée rapidement en utilisant l'une des images soit préconfigurées de Google, soit personnalisée par une organisation.

« 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 ».

Nom : code.png
Affichages : 926
Taille : 39,4 Ko

Intégration entre Cloud Workstations et la fonctionnalité de développement à distance de JetBrains

Citation Envoyé par JetBrains
Nous nous sommes associés avec Google Cloud afin de proposer une intégration entre Cloud Workstations et notre fonctionnalité de développement à distance.

Récemment présentée lors de l’événement Google Cloud Next, la solution Cloud Workstations offre des environnements de développement entièrement gérés sur Google Cloud. L’intégration entre Cloud Workstations et le développement à distance de JetBrains permet d’utiliser JetBrains Gateway pour développer à distance depuis votre IDE dans Cloud Workstations. Vous pouvez également réaliser l’intégralité du traitement du code dans Google Cloud, tout en travaillant localement sur un client riche et léger. Il en résulte une combinaison idéale entre la puissance du cloud et l’expérience à la fois productive et familière qu’offrent les IDE de JetBrains.
Fonctionnement du développement à distance avec les EDI 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.

Citation Envoyé par Google
Software Delivery Shield est une solution de sécurité de la chaîne d'approvisionnement logicielle de bout en bout entièrement gérée. Il fournit un ensemble complet et modulaire de fonctionnalités et d'outils sur les services Google Cloud que les développeurs, les DevOps et les équipes de sécurité peuvent utiliser pour améliorer la sécurité de la chaîne d'approvisionnement logicielle.

Software Delivery Shield se compose de :
  • Produits et fonctionnalités Google Cloud qui intègrent les bonnes pratiques de sécurité pour le développement, la création, le test, l'analyse, le déploiement et l'application des règles.
  • Tableaux de bord de la console Google Cloud qui présentent des informations de sécurité sur la source, les builds, les artefacts, les déploiements et l'exécution. Ces informations incluent les vulnérabilités dans les artefacts de construction, la provenance de la construction et la liste de dépendances de la nomenclature logicielle (SBOM).
  • Informations identifiant le niveau de maturité de la sécurité de votre chaîne d'approvisionnement logicielle à l'aide du cadre des niveaux de chaîne d'approvisionnement pour les artefacts logiciels (SLSA).
Cloud Workstations est une composante de Software Delivery Shield qui aider à protéger le code source du logiciel. L'autre est Cloud Code source protect (également en preview). Google indique que Cloud Code fournit une prise en charge EDI pour créer, déployer et intégrer des applications avec Google Cloud. Il permet aux développeurs de créer et de personnaliser une nouvelle application à partir d'exemples de modèles et d'exécuter l'application terminée. Cloud Code source protect fournit aux développeurs des informations en temps réel sur la sécurité, telles que l'identification des dépendances vulnérables et la création de rapports sur les licences, lorsqu'ils travaillent dans leurs EDI. Il fournit des commentaires rapides et exploitables qui permettent aux développeurs d'apporter des corrections à leur code au début du processus de développement logiciel.

Sources : présentation de Google Cloud Workstations, documentation de Cloud Workstations, JetBrains, Software Delivery Shield

Et vous ?

Que pensez-vous de Google Cloud Workstations ?