Google fonctionne-t-il sur Linux
Résumé
Dans cet article, nous explorons pourquoi l’exécution de Linux sur Google Cloud Platform est une combinaison puissante. Nous nous plongeons également sur les raisons de la décision de Google d’utiliser Linux en interne et les défis auxquels ils ont été confrontés aux mises à niveau traditionnelles. Nous discutons ensuite de la façon dont Google a implémenté les versions de roulement avec Glinux Rodete, basée sur Debian, et les avantages qu’il apporte à leurs opérations.
Points clés:
- Google gère de grandes flottes de production, y compris YouTube et Gmail, en utilisant une variété de plate-formes d’OS, y compris Linux.
- Pendant longtemps, la distribution interne Linux de Google, Goobuntu, était basée sur les versions d’Ubuntu LTS.
- Le cycle de mise à niveau de deux ans pour les versions LTS a posé des défis pour la flotte de Google de plus de 100 000 appareils.
- Pour automatiser le processus de mise à niveau, Google a développé un outil de mise à niveau sans surveillance qui a minimisé la configuration manuelle.
- Le processus de mise à niveau a généralement pris près d’un an, conduisant à des niveaux de stress élevés et à l’épuisement professionnel dans l’équipe.
- L’utilisation de versions LTS signifiait que certaines corrections de bogues et améliorations pourraient ne pas avoir été recouvertes.
- Les mises à niveau spéciaux et les défis de gestion du changement ajouté à la complexité et à la durée du processus de mise à niveau.
- Pour résoudre ces problèmes, Google est passé à des versions de roulement avec Glinux Rodete, sur la base des tests Debian.
- Plutôt qu’un cycle de deux ans, les versions de roulement ont réparti la charge de travail et ont permis de plus petits changements incrémentiels.
- La disponibilité des forfaits dans Debian, la communauté Debian et les forfaits internes existants ont influencé le choix de Debian comme distribution de base.
Des questions:
- Sur quelles plateformes Google fonctionne-t-il?
- Pourquoi Google a-t-il choisi Ubuntu comme base de leur distribution interne Linux?
- Quels défis sont confrontés à Google avec le cycle de mise à niveau de deux ans des versions LTS?
- Comment Google a-t-il automatisé le processus de mise à niveau?
- Pourquoi courir une version LTS stressante pour l’équipe de Google?
- Quelle a été la motivation derrière le changement de Google vers les versions de roulement?
- Pourquoi Google a-t-il choisi Debian pour sa distribution de libération de roulement?
- Quels avantages la piste de test de Debian offre-t-elle?
- À quelle fréquence Google Release Mises à jour avec leur distribution de version Rolling?
- Quelle approche a adoptée Google pour assurer des versions lisses dans le processus de libération de roulement?
Google gère de grandes flottes de production sur des plateformes comme YouTube et Gmail. Ils ont également une flotte d’entreprise avec des centaines de milliers d’appareils sur plusieurs plateformes, modèles et emplacements.
Google a choisi Ubuntu pour sa distribution interne Linux car il était convivial, facile à utiliser et a offert des versions de support à long terme (LTS) avec plus de 2 ans de mises à jour de sécurité.
La nature complexe des charges de travail dans la flotte de Google a fait de la réinstallation et de la personnalisation des machines pour chaque mise à niveau une opération difficile et longue. Ce n’était pas financièrement durable et les ingénieurs ont dû configurer leur espace de travail à partir de zéro tous les deux ans, ce qui entraîne une baisse de la productivité.
Google a développé un outil de mise à niveau sur place sans surveillance qui automatise les problèmes de cas courants pendant le processus de mise à niveau. Cet outil a sauvé les ingénieurs de la mise à niveau manuelle de leurs machines en les réinstallant et en recréant toutes les configurations.
La mise à niveau de la flotte de Goobuntu a pris près d’un an, ne laissant qu’une courte fenêtre de temps d’arrêt jusqu’à la prochaine mise à niveau. Ce cycle constant de mises à niveau a créé un environnement à stress élevé pour l’équipe, conduisant à un sentiment d’épuisement. Des bogues et des demandes d’aide également ajoutées à la charge de travail.
Plutôt que de suivre un cycle de mise à niveau de deux ans, Google a voulu étaler la charge de travail et permettre des changements incrémentiels plus petits. Les versions de roulement avec les distributions Linux ont montré que les modifications plus petites sont plus faciles à contrôler et à retourner.
Google a choisi Debian pour sa distribution de libération de roulement, Glinux Rodete, car il a offert une migration en place fluide et avait une grande communauté Debian. Les packages internes existants et les outils ont également utilisé le format Debian.
La piste de test de Debian fonctionne comme une version roulante, fournissant le bassin de tous les packages ingérés et construits en amont. Cela permet à Google d’obtenir des changements plus granulaires et de fournir le nouveau logiciel à leurs ingénieurs sans périodes d’attente plus longues.
Google prévoyait initialement des versions plus fréquentes, mais a constaté que les versions hebdomadaires ont trouvé un équilibre entre se déplacer rapidement et permettre une qualification de libération appropriée. Cela a contribué à limiter les perturbations à la productivité des développeurs.
Google prend un instantané de tous les packages ingérés de Debian lors du démarrage d’une nouvelle version. Après les tests d’acceptation, le candidat à libération hermétique est prudemment déployé à un groupe d’utilisateurs choisis pour des tests supplémentaires.
Réponses:
- Google gère de grandes flottes de production qui servent des produits comme YouTube et Gmail. Ils ont également une flotte d’entreprise avec des centaines de milliers d’appareils opérant sur diverses plates-formes, modèles et emplacements. Pour soutenir leurs employés, y compris les ingénieurs, Google fonctionne avec plusieurs plate-formes OS, y compris Linux. En 2018, Google a terminé sa transition vers un modèle de version Rolling basée sur Debian.
- Google a choisi Ubuntu comme base pour sa distribution interne Linux car il était convivial, facile à utiliser et a offert des versions de support à long terme (LTS) avec plus de 2 ans de mises à jour de sécurité. Ces versions LTS ont fourni des mises à jour de stabilité et de sécurité régulières pour la flotte d’appareils de Google.
- Le cycle de mise à niveau de deux ans des versions LTS a posé des défis pour Google. Avec plus de 100 000 appareils dans leur flotte, la mise à niveau manuelle et la personnalisation de chaque machine avant la date de fin de vie du système d’exploitation. La nature complexe des charges de travail sur les machines d’entreprise a encore compliqué le processus de mise à niveau.
- Pour automatiser le processus de mise à niveau et minimiser la configuration manuelle, Google a développé un outil de mise à niveau en place sans surveillance. Cet outil s’est concentré sur l’automatisation des problèmes de cas communs pendant la mise à niveau et a sauvé les ingénieurs de réinstaller les machines et de recréer toutes les configurations manuellement.
- Running Off d’une version LTS a été stressant pour l’équipe de Google en raison du temps et des efforts importants requis pour le processus de mise à niveau. Avec un délai d’un an entre les mises à niveau, l’équipe a connu un cycle constant de mises à niveau et de corrections de bogues. Cet environnement à stress élevé a souvent conduit à un sentiment d’épuisement parmi les membres de l’équipe.
- La motivation derrière le passage de Google vers les versions de roulement était de répartir la charge de travail et de permettre des changements progressifs plus petits. Cette approche s’aligne sur la tendance de l’industrie de CI / CD et a montré que les changements plus petits sont plus faciles à contrôler et à faire reculer par rapport aux grandes améliorations peu fréquentes.
- Google a choisi Debian comme base pour sa distribution de libération de roulement, Glinux Rodete. La décision a été influencée par différents facteurs, notamment la disponibilité des forfaits dans Debian, la grande communauté Debian et la compatibilité des packages internes existants et des outils à l’aide du format Debian.
- La piste de test de Debian offre plusieurs avantages à la distribution de la version Rolling de Google. La piste de test fonctionne comme une version roulante, ingérant et construisant constamment des packages en amont. Cela permet à Google d’avoir des changements plus fréquents et granulaires, offrant à leurs ingénieurs l’accès au nouveau logiciel sans périodes d’attente prolongées.
- Google prévoyait initialement des versions plus fréquentes avec leur distribution de libération de roulement, mais se sont ensuite réglées sur les sorties hebdomadaires. Les sorties hebdomadaires ont trouvé un équilibre entre se déplacer rapidement et permettre une qualification appropriée à la libération, minimisant la perturbation de la productivité des développeurs.
- Pour garantir des versions lisses dans le processus de libération de roulement, Google prend un instantané de tous les packages ingérés de Debian au début d’une nouvelle version. Après les tests d’acceptation, le candidat à libération hermétique est prudemment déployé à un groupe d’utilisateurs sélectionnés pour des tests supplémentaires, assurant une version progressive et contrôlée.
Pourquoi exécuter Linux sur Google Cloud
Linux et Google Cloud Platform sont une combinaison solide avec laquelle déplacer votre entreprise vers le cloud et dans le futur. Laisser’s jetez un œil à chacun avant d’apprendre ce qui les fait se démarquer en équipe.
Google fonctionne-t-il sur Linux
Crédit d’image du héros: Markus Teich
Chez Google, nous exécutons de grandes flottes de production qui servent des produits Google comme YouTube et Gmail. Pour soutenir tous nos employés, y compris les ingénieurs, nous dirigeons également une flotte d’entreprise importante avec des centaines de milliers d’appareils sur plusieurs plates-formes, modèles et emplacements. Pour permettre à chaque googler de travailler dans l’environnement dans lequel il est le plus productif, nous exploitons de nombreuses plate-formes d’exploitation, y compris un système Linux. Pendant longtemps, notre distribution interne face à Linux, Goobuntu, était basée sur les versions d’Ubuntu lts. En 2018, nous avons terminé un passage à un modèle de version Rolling basé sur Debian.
Améliorer le labeur
Il y a plus de 15 ans, Ubuntu a été choisi comme base pour la distribution interne Linux, car il était convivial, facile à utiliser et avait beaucoup d’extras fantaisistes. Les versions de support à long terme (LTS) ont été choisies car il était valorisé que Canonical a fourni plus de 2 ans de mises à jour de sécurité.
Cependant, ce cycle de libération de deux ans pour les versions LTS signifiait également que nous devions mettre à niveau chaque machine dans notre flotte de plus de 100.000 appareils avant la date de fin de vie du système d’exploitation. La nature complexe des charges de travail exécutées sur les machines d’entreprise signifiait que la réinstaller et la personnalisation entièrement personnalisée pourrait être une opération difficile et longue. Le coup de productivité d’avoir tous les ingénieurs configurer leur espace de travail à partir de zéro tous les deux ans n’était pas une option financièrement responsable.
Pour chaque cycle du système d’exploitation, nous avons eu un bond de version assez grande dans les principaux packages qui pourraient nécessiter des modifications significatives de la configuration du logiciel. Pour automatiser ce processus, nous avons écrit un outil de mise à niveau sur place sans surveillance qui a pris en charge de nombreux problèmes de cas communs. Cette approche axée sur l’automatisation signifiait que la plupart des employés de Google n’avaient pas à mettre à niveau manuellement leurs machines en les réinstallant et en recréant toute leur configuration. Pour rendre cela possible, cependant, nous devions effectuer des tests complets du processus de mise à niveau et vérifier que tous les principaux packages qui avaient changé ont continué à travailler (à Ubuntu, cela pourrait atteindre plusieurs milliers de packages à mettre à niveau entre les grandes versions). Parfois, il était difficile de fournir l’automatisation dans les cas où les dépréciations se sont produites et les ingénieurs devaient prendre des décisions sur la façon d’aller de l’avant.
Cet effort pour mettre à niveau notre flotte de goobuntu a généralement pris la meilleure partie d’une année. Avec une fenêtre de support de deux ans, il ne restait qu’un an jusqu’à ce que nous ayons à reprendre le même processus pour le prochain LTS. Tout ce processus a été un énorme facteur de stress pour notre équipe, car nous avons obtenu des centaines de bugs avec des demandes d’aide pour les cas d’angle. Une fois une mise à niveau terminée, il y avait un sentiment général d’être “près de l’épuisement professionnel” dans l’équipe dont nous pourrions à peine nous remettre jusqu’à la prochaine série de mises à jour. Faire courir une version LTS signifiait également que certains bogues rencontrés par les utilisateurs de notre distribution pourraient’velle déjà fixée en amont, mais ces améliorations pourraient’Ve n’a jamais été recouvert de la version LTS.
Il y avait aussi une longue queue de mises à niveau spéciaux qui pouvaient parfois faire un saut pendant plusieurs années. Gérer ce processus était un énorme défi de gestion du changement pour amener les ingénieurs à mettre à niveau les machines qui n’ont pas été’t fonctionne dans le processus automatique. Nous sommes devenus créatifs en motivant nos utilisateurs à mettre à niveau leurs machines. Les mesures allaient des messages lancinants sur leur interface utilisateur, des courriers, des redémarrages planifiés et même de la fermeture des machines, pour sensibiliser à ce qu’il y avait encore des machines ayant besoin d’une mise à niveau d’une mise à niveau. Parfois, cela attrapait des machines que les gens avaient totalement oubliées, comme la seule machine sous un bureau qui exécutait un pipeline critique pour quelque chose d’important, car il s’est avéré.
Sélits de roulement
Lorsque nous avons conçu Glinux Rodete (Rolling Debian Testing), nous avons visé à retirer le cycle de mise à niveau de deux ans et à étendre la charge de l’équipe à travers le temps. Le passage général vers CI / CD dans l’industrie a montré que les changements incrémentiels plus faibles sont plus faciles à contrôler et à revenir. Les versions de roulement avec les distributions Linux deviennent aujourd’hui plus courantes (Arch Linux, Nixos).
Nous avons envisagé d’aller avec d’autres distributions Linux, mais nous avons fini par choisir Debian parce que nous voulions à nouveau offrir une migration en place fluide. Cela comprenait des considérations sur la disponibilité des forfaits de Debian, de la grande communauté Debian, ainsi que des packages internes existants et des outils qui utilisaient le format Debian. Alors que la piste stable Debian suit un bond d’environ deux ans entre les sorties, la piste de test Debian fonctionne comme une version roulante, car c’est le bassin de tous les paquets ingérés et construits en amont, en attendant que la prochaine version stable se produise.
Le temps de la libération en amont à la disponibilité dans les tests n’est souvent que quelques jours (bien que pendant les périodes de gel avant une libération stable Debian, il peut parfois être à la traîne de quelques mois). Cela signifie que nous pouvons obtenir des changements beaucoup plus granulaires en général et fournir le nouveau logiciel à nos ingénieurs de Google sans avoir à attendre des périodes plus longues.
Cette fréquence des mises à jour nous a obligés à repenser de nombreux systèmes et processus. Tout en voulant à l’origine des versions plus fréquentes, nous avons constaté que pour nous, les versions hebdomadaires étaient un endroit idéal entre se déplacer rapidement et permettre une qualification de libération appropriée, limitant la perturbation de la productivité des développeurs.
Chaque fois que nous commençons une nouvelle version, nous prenons un instantané de tous les packages ingérés de Debian à ce moment-là. Après certains tests d’acceptation, le nouveau candidat à la libération hermétique est ensuite prudent sur une flotte de tests dédiée et un canari de 1%. Le Canary est tenu intentionnellement au cours de quelques jours pour détecter tout problème avec les forfaits Debian ou les forfaits internes Google avant de passer à l’ensemble de la flotte.
Présentation du tamis
Pour gérer toutes ces tâches complexes de la construction de tous les packages en amont de Source, nous avons construit un système de workflow appelé Sieve. Chaque fois que nous voyons une nouvelle version d’un package Debian, nous commençons une nouvelle version. Nous construisons des packages dans des groupes de packages, pour prendre en compte des packages séparés qui doivent être mis à niveau ensemble. Une fois que l’ensemble du groupe a été construit, nous exécutons une suite de test virtualisée pour nous assurer qu’aucun de nos composants de base et des flux de travail des développeurs ne soit cassé. Chaque groupe est testé séparément avec une installation complète du système, un démarrage et une suite de tests locaux exécutées sur cette version du système d’exploitation. Alors que les constructions pour les packages individuels se terminent généralement en quelques minutes, ces tests peuvent prendre jusqu’à une heure compte tenu de la complexité du groupe de colis.
Une fois les packages construits et tous les tests passés, nous fusions tous les nouveaux packages avec notre dernier pool de packages. Lorsque nous avons coupé une nouvelle version, nous instantanons ce pool avec chaque version de package verrouillé pour cette version. Nous procédons ensuite à guider attentivement cette version vers la flotte en utilisant des principes SRE comme le canari incrémentiel et la surveillance de la santé de la flotte.
Mais toutes les constructions ne réussissent pas sur la première tentative. Si un package ne parvient pas à construire, nous vérifions généralement tout bug connu avec le tracker de bogue Debian et potentiellement le signaler, s’il ne soit pas déjà connu. Parfois, nos ingénieurs de libération doivent devenir créatifs et appliquer des solutions de contournement / correctifs locaux pour obtenir un package à construire dans notre écosystème et plus tard abandonner ces solutions de contournement une fois en amont a publié un correctif.
Un problème que nous avons rencontré plusieurs fois, par exemple, est que dans Debian en amont, les forfaits sont généralement construits dans Debian instable. Après quelques jours, ces packages déjà construits migrent vers Debian Testing. Dans certains cas, il est possible, cependant, qu’une dépendance à la construction soit bloquée et donc la construction dans les tests pourrait ne pas être (encore) possible. Nous essayons généralement de travailler en amont d’abord dans ces cas, nous réduisons donc la complexité et le fardeau de maintenance pour garder ces correctifs locaux, tout en redonnant à la communauté.
Si l’une des étapes échoue, Sieve a une boîte à outils de trucs pour réessayer les constructions. Par exemple, lorsqu’il démarre la construction initiale d’un groupe de packages, le système fait une supposition éclairée pour quelles dépendances doivent être construites ensemble. Mais parfois, les informations de version fournies dans les packages source debian peuvent être incomplètes et cette supposition est erronée. Pour cette raison, Sieve réplade périodiquement des groupes de construction qui ont échoué. Comme le dernier instantané de nos packages est une cible en mouvement, il pourrait arriver qu’après un groupe de packages apparemment indépendant, un groupe instantané, un groupe précédemment cassé construit et passe correctement les tests. Tous ces workflows sont principalement automatiques, ce qui met en évidence l’importance de penser en tant que SRE dans ce domaine. Lorsqu’il est confronté à un échec, il semble généralement plus facile de simplement réparer une construction défaillante une fois, mais si nous devons appliquer la même solution de contournement encore et encore, mettre la solution de contournement dans le code réduira la charge globale mise sur nos ingénieurs.
Il y a également des avantages de sécurité à la construction de tous nos binaires de Source et à la provenance du code source supplémentaire qui vérifie l’origine du binaire en cours d’exécution. Lors d’un incident de sécurité par exemple, nous pouvons reconstruire rapidement et avoir confiance en la construction en travaillant avec un patch temporaire, car nous avons déjà construit tous les packages, qui atterrissent dans notre distribution. De plus, nous réduisons également l’enveloppe de confiance que nous devons placer dans Debian en amont et les artefacts de construction binaire produits par leur infrastructure. Au lieu de cela, une fois que le code source est ingéré et que le binaire construit de manière vérifiable, nous pouvons attester cryptographiquement que le binaire en cours d’exécution provient exactement de ce code source.
Mise à niveau vers Rodete
La dernière sortie de Goobuntu était basée sur Ubuntu 14.04 LTS (nom de code fidèle). Le développement sur Rodete a commencé en 2015 et il était rapidement clair que nous ne pouvions pas’t Il suffit de supprimer le support pour Trusty et de nécessiter l’ensemble de la population d’ingénierie pour installer une nouvelle distribution. D’après l’expérience antérieure de la mise à jour en place entre les versions LTS, nous avions déjà une bonne expérience de savoir ce qui nous attendait avec cette migration. Parce qu’Ubuntu est un dérivé de Debian et utilise beaucoup des mêmes infrastructures / formats d’emballage (APT), ce n’était pas’t une idée totalement folle de mettre à niveau la flotte de Goobuntu 14.04 à Debian en place. Nous avons réutilisé certaines parties de notre précédent outil de mise à niveau sur place et avons travaillé pour le rendre plus fiable, en ajoutant plus d’automatisation et beaucoup plus de tests.
Pour faciliter la création d’un tel outil, le tester et le maintenir pendant la durée de la migration, nous avons choisi de congeler temporairement Glinux Rodete comme un instantané des tests Debian à une date spécifique que nous appelons la ligne de base. Nous pouvons faire avancer cette base de référence à notre propre choix, pour équilibrer les packages tamis. Pour réduire les frictions, nous avons intentionnellement fixé la base de référence de Rodete lors de la sortie stable de Debian actuelle en 2016 qui était beaucoup plus proche de l’état général d’Ubuntu Trusty. De cette façon, nous pourrions séparer la mise à niveau sur place de Trusty à Debian et les principaux changements de version de package qui se sont produits dans Debian à une date ultérieure.
En 2017, nous avons commencé à migrer les machines vers Rodete et avons terminé les dernières migrations en place d’ici la fin de 2018. Nous avions cependant encore une base de référence qui à ce moment-là datant de près de deux ans dans le passé. Pour rattraper Debian Testing, nous avons lancé un effort à l’échelle de l’équipe pour nous concentrer sur l’optimisation du comportement de tamis et accélérer le temps nécessaire pour construire / tester les packages. Replayant les mises à niveau de cette manière incrémentielle et ayant une cible de libération de roulement mobile que nous contrôlons que nous avons atténué la charge de travail pour Google Engineers et notre équipe.
Début 2019, nous avons commencé à fermer les derniers restes des machines goobuntu. Notre base de référence a également avancé pour que le retard d’environ 250 jours, ce qui signifiait à l’époque, nous utilisons la plupart des versions de package qui faisaient partie de Buster. À la mi-2020, nous avons finalement rattrapé en même temps lorsque Debian Bullseye a été libéré. Nous continuons à avancer notre référence et utiliserons probablement déjà une version similaire de la prochaine version stable Debian, avant sa sortie au milieu de 2023.
Atteindre Zen
Aujourd’hui, la vie d’un membre de l’équipe de Glinux est très différente. Nous avons réduit la quantité de temps d’ingénierie et d’énergie requise pour les versions à un ingénieur de libération en service qui tourne parmi les membres de l’équipe. Nous n’avons plus une grande poussée pour mettre à niveau toute notre flotte. Plus besoin d’alpha en plusieurs étapes, de bêtas et de gaz pour les nouvelles versions LTS tout en poursuivant simultanément des machines plus anciennes qui exécutaient encore Ubuntu précis ou lucide.
Nous avons également considérablement amélioré notre position de sécurité en exploitant notre flotte plus près des versions en amont. Alors que Debian fournit une bonne source de correctifs de sécurité pour les pistes stables et à l’ancienne, nous avons réalisé que tous les trou de sécurité qui ne sont pas obtenus, ont nécessairement un numéro de sécurité Debian (DSA) ou un numéro de CVE. Notre calendrier de libération de roulement nous assure que nous corrigeons rapidement les trous de sécurité sur toute la flotte sans compromettre la stabilité, tandis que les ingénieurs de sécurité auparavant devaient examiner attentivement chaque DSA et s’assurer que le correctif a atteint notre flotte.
Nos tests de suite de tests améliorés et d’intégration avec des équipes partenaires clés qui exécutent des systèmes de développeurs critiques ont également donné une expérience plus stable en utilisant une distribution Linux qui fournit les dernières versions du noyau Linux. Notre fort désir d’automatiser tout dans le pipeline a considérablement réduit les toilettes et le stress au sein de l’équipe. Il nous est maintenant également possible de signaler les bogues et les incompatibilités avec d’autres versions de bibliothèque tout en s’assurant que Google Tools fonctionne mieux dans l’écosystème Linux.
Si vous êtes intéressé à faire du succès des versions de roulement dans votre entreprise, alors envisagez d’équilibrer les besoins de l’entreprise contre la mise à niveau de l’agilité. Le contrôle de notre propre cible en mouvement et de notre ligne de base a contribué à ralentir chaque fois que nous rencontrions trop de problèmes et que nous avons brisé n’importe quelle équipe SLOS. Notre parcours a finalement renforcé notre conviction que les changements progressifs sont mieux gérables que les sorties Big Bang.
Si vous êtes en mesure de contrôler l’afflux de nouveaux travaux et de garder cela prévisible, nous avons rendu l’expérience que nos ingénieurs restent plus heureux et sont moins stressés. Cela a finalement abaissé le désabonnement de l’équipe et s’est assuré que nous pouvons créer une expertise au lieu de traiter avec plusieurs incendies en feu en même temps.
À l’avenir, nous prévoyons de travailler encore plus étroitement avec Debian en amont et de contribuer davantage de nos correctifs internes pour maintenir l’écosystème du package Debian.
- Développeurs et praticiens
- Systèmes
- DevOps & Sre
Pourquoi exécuter Linux sur Google Cloud?
Les entreprises du cloud ont beaucoup à faire pour eux: une agilité accrue, une adaptabilité, une flexibilité et une fiabilité – ce qui facilite le fait de rester en avance sur la courbe beaucoup plus facile. La combinaison de l’infrastructure sur site avec les services cloud peut insuffler une nouvelle vie aux processus existants et augmenter le nombre d’outils et de technologies à votre disposition.
Ça a l’air génial, juste? C’est – mais d’abord, vous devez considérer votre choix de fournisseur de cloud et de système d’exploitation. Lesquels fourniraient la meilleure base sur laquelle construire votre environnement cloud hybride, tout en vous permettant la flexibilité d’adopter les services et les technologies que vous souhaitez?
Linux et Google Cloud Platform sont une combinaison solide avec laquelle déplacer votre entreprise vers le cloud et dans le futur. Laisser’s jetez un œil à chacun avant d’apprendre ce qui les fait se démarquer en équipe.
Comment les plateformes Cloud Linux et Google fonctionnent-elles ensemble
Google Cloud Platform
Google Cloud Platform, comme Amazon’S AWS et Microsoft Azure, est une plate-forme de cloud public et fait partie de Google Cloud, qui est construit sur Google’S Infrastructure mondiale. Google Cloud fournit des services cloud et des outils de gestion – VIA la console Google Cloud – qui fournit tout ce qui est nécessaire pour créer des environnements cloud et multicloud efficaces, déploier des applications et des API, et prendre en charge les charges de travail dans des environnements.
Google Cloud Platform propose les outils et les capacités axés sur la sécurité pour permettre à votre entreprise de profiter de tous les avantages du cloud computing avec une stratégie claire (Google Cloud MultiCloud Solutions), de prendre des décisions basées sur une entreprise précise et à jour et des informations sur les stocks (Google Workspace).
Google Cloud inclut Google Cloud Platform, ainsi qu’une suite de produits et d’outils tels que Google Cloud Storage (stockage d’objets), Google Cloud Datastore (base de données NoSQL), Google Cloud Functions (plateforme de calcul sur les événements en tant que service), Google Compute Engine ou GCE (machines virtuelles fonctionnant dans Google dans Google’S Data Center), et Google App Engine (plate-forme d’application sans serveur) – ainsi que beaucoup plus.
Linux FOr cloud computing
Linux est un système d’exploitation open source. En raison de son modèle de développement open source, Linux est parfaitement adapté au cloud computing en ce qu’il permet aux entreprises de choisir les plates-formes et les technologies qui répondent le mieux à leurs besoins et à leurs objectifs, ainsi qu’à permettre le choix des services et des fournisseurs nécessaires, évitant ainsi les dépenses inutiles et le verrouillage des vendeurs. Avec Linux pour le cloud computing, vous obtenez tous les avantages de Linux pour les déploiements informatiques traditionnels avec la flexibilité de croître. Pour ces raisons, Linux reste le principal choix de système d’exploitation dans le cloud computing.
Mieux ensemble: avantages de l’exécution de Linux sur Google Cloud Platform
Google Cloud Platform est construit sur Linux et fonctionne avec un certain nombre de distributions Linux telles que CentOS, Ubuntu et Red Hat Enterprise Linux. La nature open source d’un système Linux avec Google Cloud Platform signifie que les utilisateurs obtiennent les avantages suivants:
- Flexibilité des vendeurs et des services
- Migration plus facile des applications et des informations
- Cohérence des informations et des processus à travers les empreintes de pas
- L’innovation d’une structure et d’une communauté open source
Fondamentalement, un fort fournisseur de cloud sur une fondation Linux établie signifie que votre stratégie de cloud d’entreprise est dirigée dans la bonne direction.
Avantages de Red Hat Enterprise Linux sur Google Cloud Platform
L’adoption d’une approche hybride ou multicloud peut être difficile, en particulier lorsque vous’remis au matériel hérité et aux infrastructures traditionnelles. Mais le bon fournisseur de services cloud et la distribution Linux fournissent un début solide. Avec Red Hat® Enterprise Linux® sur Google Cloud Platform, vous avez les bases d’une stratégie cloud qui vous mènera partout où vous voudrez aller. Et parce que Red Hat Enterprise Linux fonctionne sur Google, alors faites tout le reste du chapeau rouge’S Produits S.
Red Hat Enterprise Linux et Google Cloud Platform aident à simplifier votre plateforme d’infrastructure, accélérer le développement et la livraison des applications, et intégrer l’automatisation pour vos processus d’entreprise et de gestion, afin que vous puissiez innover plus rapidement et vous adapter à l’industrie, à la réglementation et aux changements mondiaux avec un environnement cloud hybride agile.
Et ici’S Something Else – Red Hat Enterprise Linux pour SAP Solutions sur Google Cloud est une plate-forme haute performance pour les opérations de base de données qui incluent le contenu et les fonctionnalités spécifiques à SAP et permet aux organisations de déployer SAP dans des environnements cloud hybrides. Red Hat Enterprise Linux est l’une des deux seules distributions Linux certifiées pour une utilisation avec SAP HANA® et SAP S / 4HANA®.
Avec une configuration flexible, une fondation open source et axée sur la sécurité, une infrastructure de réseau mondiale et une gestion et des analyses avancées des données, Red Hat et Google Cloud vous donnent les fonctions et les capacités dont vous avez besoin pour créer et exploiter des environnements hybrides et multi-multiples efficacement et efficacement. Chaque composant offre des fonctionnalités et une valeur clés et un environnement de fonctionnement fiable et haute performance pour vos charges de travail et applications à travers une infrastructure physique, virtualisée, conteneurisée, basée sur le cloud et les bords.
L’histoire derrière Google’S Linux de bureau en interne

Si vous regardez autour de Google Mountain View, Ca Offices, vous verrez des machines Windows, des Chromebooks, des Mac – et des ordinateurs de bureau Glinux. G Quoi, vous demandez? Eh bien, en plus de compter sur Linux pour ses serveurs, Google a sa propre distribution de bureau Linux.
Tu ne peux pas l’obtenir – sacrément! – Mais depuis plus d’une décennie, Google cuit et mange sa propre distribution de bureau Linux fait maison. La première version était Gobuntu. (Comme vous le supposeriez du nom, il était basé sur Ubuntu.)
En 2018, Google a déplacé son bureau Linux en interne du goobuntu à une nouvelle distribution Linux, le Glinux basé à Debian. Pourquoi? Parce que, comme Google l’a expliqué, la version de deux ans du support à long terme d’Ubuntu (LTS) “signifiait que nous devions mettre à niveau chaque machine dans notre flotte de plus de 100 000 appareils avant la date de fin de vie du système d’exploitation.”
C’était une douleur. Ajouter le besoin de temps pour personnaliser entièrement les PC des ingénieurs, et Google a décidé qu’il coûtait trop. D’ailleurs, l’effort pour mettre à niveau notre flotte de goobuntu a généralement pris la meilleure partie de l’année. Avec une fenêtre de support de deux ans, il ne restait qu’un an jusqu’à ce que nous ayons dû reprendre le même processus pour le prochain LTS. Tout ce processus a été un énorme facteur de stress pour notre équipe, car nous avons obtenu des centaines de bugs avec des demandes d’aide pour les cas d’angle.”
Donc, quand Google en avait assez, il a déménagé à Debian Linux (mais pas seulement Vanilla Debian). L’entreprise a créé une distribution de Debian Rolling: Glunix Rolling Debian Testing (Rodete). L’idée est que les utilisateurs et les développeurs sont mieux servis en leur donnant les dernières mises à jour et correctifs tels qu’ils sont créés et jugés prêts pour la production. Ces distros incluent Arch Linux, Debian Testing et OpenSuse Tumbleweed.
Pour Google, l’objectif immédiat était de descendre du cycle de mise à niveau de deux ans. Comme le passage à l’intégration continue / déploiement continu (CI / CD) l’a montré, ces changements progressifs fonctionnent bien. Ils sont également plus faciles à contrôler et à revenir en arrière si quelque chose ne va pas.
Pour faire tout ce travail sans beaucoup de sang, de sueur et de larmes, Google a créé un nouveau système de workflow, tamis. Chaque fois que Sieve repère une nouvelle version d’un package Debian, il démarre une nouvelle version. Ces forfaits sont intégrés en groupes de packages car les packages séparés doivent souvent être mis à niveau ensemble. Une fois l’ensemble du groupe construit, Google exécute une suite de test virtualisée pour s’assurer qu’aucun composant de base et les workflows de développeur ne sont cassés. Ensuite, chaque groupe est testé séparément avec une installation complète du système, un démarrage et une exécution locale. Le colis se construit terminé en quelques minutes, mais les tests peuvent prendre jusqu’à une heure.
Une fois cela fait, tous les nouveaux packages sont fusionnés avec le plus récent pool de packages Glinux. Ensuite, lorsque Google décide qu’il est temps de le libérer en production, l’équipe instantanée ce pool. Enfin, il déroule la nouvelle libération de la flotte. Bien sûr, c’est’ne va pas simplement le vider sur les utilisateurs. Au lieu de cela, il utilise des principes d’ingénierie de fiabilité du site (SRE) tels que le canari incrémentiel pour s’assurer que rien ne tourne mal.
Au fil des ans, Google s’est amélioré. Aujourd’hui, grâce à Sieve, toute l’équipe de développement de Glinux se compose d’un seul poste d’ingénieur en service qui tourne parmi les membres de l’équipe. Il n’y a pas de grosses poussées pour mettre à niveau la flotte. Aucune version alpha, bêtas et disponibilité générale (GA).
Mieux encore, grâce au calendrier des versions de roulement, Google peut installer rapidement les trous de sécurité sur toute la flotte sans compromettre la stabilité. Auparavant, les ingénieurs de sécurité devaient examiner attentivement chaque Debian Security Advisory (DSA) pour s’assurer que le correctif était.
De plus, les «tests de suite d’essais améliorés de Google avec des équipes de partenaires clés qui exécutent des systèmes de développeurs critiques ont également donné une expérience plus stable en utilisant une distribution Linux qui fournit les dernières versions du noyau Linux. Notre fort désir d’automatiser tout dans le pipeline a considérablement réduit les toilettes et le stress au sein de l’équipe. Il nous est maintenant également possible de signaler les bogues et les incompatibilités avec d’autres versions de bibliothèque tout en s’assurant que Google Tools fonctionne mieux dans l’écosystème Linux.”
Pour l’avenir, l’équipe de Google a déclaré qu’elle’Le travail “plus étroitement avec Debian en amont et contribuez plus de nos correctifs internes pour maintenir l’écosystème du package Debian.”
Tout cela semble génial. Mais j’ai deux pensées à partager.
Premièrement, pour certaines organisations, les sorties LTS ont encore du sens. Si vous n’avez pas besoin des programmes les plus récents et les plus brillants pour votre entreprise, un Ubuntu ou Red Hat LTS Linux a toujours du sens.
Deuxièmement, et c’est l’important: le tamis sonne comme le miaulement du chat. Un programme qui peut automatiser un pipeline de production de distribution de roulement au point où il ne faut qu’un seul ingénieur pour maintenir un bureau utilisé par plus de 100 000 utilisateurs? Enregistre-moi!
Mieux encore, libérez le code de Sive afin que nous puissions tous commencer à produire des versions de bureau Linux Rolling. Et ça, Google? Que dites-vous?
- Desktop Linux
Copyright © 2022 IDG Communications, Inc.
