What is Google gLinux?

Hvad er gLinux? Googles interne styresystem

25/09/2024

Rating: 4.75 (13638 votes)

Når de fleste tænker på operativsystemer fra Google, falder tankerne typisk på Android eller Chrome OS. Men inden for Googles mure, på skrivebordene hos tusindvis af ingeniører og medarbejdere, kører et helt andet system: gLinux. Dette er Googles skræddersyede, interne Linux-distribution, designet til at maksimere produktivitet, sikkerhed og effektivitet for deres enorme arbejdsstyrke. Det er vigtigt fra starten at slå fast, at gLinux ikke skal forveksles med Chrome OS. Mens Chrome OS er et letvægts, cloud-fokuseret system til forbrugere og virksomheder, er gLinux et fuldt udstyret, traditionelt desktop-operativsystem bygget til udvikling og internt brug. Historien om gLinux er en fascinerende fortælling om at løse massive tekniske udfordringer i stor skala og et skifte fra en traditionel model til en mere agil og moderne tilgang.

Does Google have a Linux desktop?
You can’t get it — darn it! — but for more than a decade, Google has been baking and eating its own homemade Linux desktop distribution. The first version was Goobuntu. (As you’d guess from the name, it was based on Ubuntu.) In 2018, Google moved its in-house Linux desktop from the Goobuntu to a new Linux distro, the Debian -based gLinux.
Indholdsfortegnelse

Fra Goobuntu til gLinux: Hvorfor Skiftet Var Nødvendigt

I mere end et årti var Googles interne Linux-distribution baseret på Ubuntu og bar navnet Goobuntu. Valget faldt oprindeligt på Ubuntu på grund af dets brugervenlighed og stærke fællesskab. Specifikt valgte Google at basere Goobuntu på Ubuntus Long Term Support (LTS) udgivelser. Disse LTS-versioner lovede over to års sikkerhedsopdateringer, hvilket på papiret virkede som en stabil og sikker løsning.

Virkeligheden viste sig dog at være en anden for et firma af Googles størrelse. Med en flåde på over 100.000 maskiner blev den toårige opgraderingscyklus en enorm byrde. Processen med at opgradere hver eneste maskine til en ny LTS-version var en monumental opgave, der ofte tog det meste af et år at gennemføre. Dette efterlod kun et enkelt år, før planlægningen af den næste store opgradering skulle begynde. Denne cyklus skabte et konstant pres og en enorm mængde slid (toil) for det team, der var ansvarligt for systemet. Medarbejdere beskrev en følelse af at være tæt på udbrændthed efter hver afsluttet opgraderingsrunde.

Derudover betød afhængigheden af LTS, at Google ofte måtte vente på, at rettelser til fejl og sikkerhedshuller blev tilbageporteret (backported) til den ældre version, de kørte. Ofte var en fejl allerede rettet i nyere, opstrøms versioner af softwaren, men Googles ingeniører måtte vente på, at rettelsen fandt vej til LTS-udgivelsen. Denne forsinkelse var ikke optimal for et firma, der lever af at være på forkant med teknologien.

What operating system do Google employees use?
Google operates many OS-platforms for its employees to work in the environment they are most productive in. Google uses a Linux system, for which they previously based their internal-facing distribution, Goobuntu, on Ubuntu LTS releases. In 2018, they completed a move to a rolling release model based on Debian.

gLinux Rodete: En Løbende Udgivelsesmodel

Da Google besluttede sig for at gentænke deres strategi, var målet klart: at eliminere den smertefulde toårige opgraderingscyklus. Løsningen blev en overgang til en rolling release-model. I en rolling release-model opdateres systemet løbende med små, inkrementelle ændringer i stedet for store, sjældne versionsspring. Dette gør opdateringer lettere at håndtere, teste og rulle tilbage, hvis noget går galt.

Efter at have overvejet forskellige muligheder faldt valget på Debian Testing som base for det nye system, der fik navnet gLinux Rodete (Rolling Debian Testing). Valget af Debian var strategisk. Da Ubuntu er en afledning af Debian, ville overgangen være mere glidende for både brugere og eksisterende værktøjer. Debian har desuden et enormt pakke-arkiv og et stort, aktivt fællesskab.

Ved at basere sig på Debian Testing, som er den gren, hvor pakker modnes, før de bliver en del af den næste stabile Debian-udgivelse, kunne Google få adgang til ny software og rettelser meget hurtigere – ofte kun få dage efter de blev udgivet opstrøms.

What is Google Chrome OS?
It is derived from the open-source ChromiumOS operating system and uses the Google Chrome web browser as its principal user interface. Google announced the project in July 2009, initially describing it as an operating system where applications and user data would reside in the cloud. ChromeOS was used primarily to run web applications.

Sieve: Motoren Bag gLinux' Succes

At administrere en rolling release for over 100.000 maskiner kræver en ekstremt robust og automatiseret infrastruktur. Til dette formål byggede Google et specialiseret workflow-system kaldet Sieve. Sieve er kernen i gLinux' succes og er designet til at håndtere hele processen fra kildekode til udrulning med minimal menneskelig indblanding.

Processen i Sieve fungerer typisk således:

  1. Overvågning: Sieve overvåger konstant Debian-pakkearkiverne for nye versioner af software.
  2. Bygning fra Kildekode: Når en ny version opdages, starter Sieve automatisk en byggeproces. Alle pakker i gLinux bygges fra kildekoden. Dette giver Google fuld kontrol og forbedrer sikkerheden ved at sikre kildekodens proveniens. Pakker bygges ofte i grupper, da nogle afhængigheder skal opdateres sammen.
  3. Automatiseret Test: Når en gruppe af pakker er bygget, gennemgår de en omfattende række af automatiserede tests i et virtualiseret miljø. Disse tests sikrer, at ingen kernekomponenter eller vigtige udvikler-workflows er brudt. Hele systemet installeres, bootes, og en lokal testsuite køres. Denne testfase kan tage op til en time pr. pakke-gruppe.
  4. Integration: Hvis alle tests består, bliver de nye pakker integreret i gLinux' seneste pakke-pulje.
  5. Udgivelse og Udrulning: Når det er tid til en ny ugentlig udgivelse, tages et 'snapshot' af denne pulje. Denne nye version udrulles derefter forsigtigt til flåden ved hjælp af SRE-principper (Site Reliability Engineering) som 'canarying', hvor opdateringen først sendes til en lille procentdel af maskinerne for at overvåge for eventuelle problemer, før den gradvist udrulles til alle.

Denne høje grad af automatisering har transformeret arbejdsgangen fuldstændigt. Hele udgivelsesprocessen for gLinux styres nu af en enkelt 'on-duty release engineer', en rolle der roterer mellem teammedlemmerne. De store, stressende opgraderingsprojekter er helt forsvundet.

Sammenligning: Goobuntu vs. gLinux

For at illustrere forskellene er her en tabel, der sammenligner den gamle og den nye tilgang.

What is Google gLinux?
Not to be confused with Chrome OS. gLinux is a Debian Testing -based Linux distribution used at Google as a workstation operating system. The Google gLinux team builds the system from source code, introducing their own changes. gLinux replaced the previously used Ubuntu -based distribution, Goobuntu.
FunktionGoobuntu (Gammel)gLinux (Ny)
Base OSUbuntu LTSDebian Testing
Udgivelsescyklus2-årige store spring (LTS)Løbende (Rolling Release), typisk ugentligt
OpgraderingsprocesMassiv, årelang indsats for hele flådenSmå, inkrementelle og automatiserede opdateringer
Adgang til ny softwareLangsom, afhængig af backportsHurtig, ofte få dage efter upstream-udgivelse
Teamets ArbejdsbyrdeEkstremt høj, stressende, "tæt på udbrændthed"Lav, forudsigelig, administreret af en enkelt on-duty ingeniør

gLinux vs. Chrome OS: En Vigtig Forskel

Det er afgørende at forstå, at gLinux og Chrome OS tjener vidt forskellige formål. gLinux er et kraftfuldt og fleksibelt arbejdsredskab for Googles ingeniører. Det kører på standard laptops og desktops og giver udviklere adgang til et komplet Linux-miljø med de nyeste værktøjer, kompilatorer og biblioteker. I dag er det primære skrivebordsmiljø GNOME, som giver en moderne og produktiv brugerflade. Brugerne har fuld frihed til at installere software og tilpasse deres systemer til komplekse udviklingsopgaver.

Chrome OS er derimod designet til at være enkelt, sikkert og primært cloud-baseret. Det kører på specialiseret hardware som Chromebooks. Dets arkitektur er bygget op omkring Chrome-browseren, og det er stærkt begrænset med vilje for at forbedre sikkerheden og reducere vedligeholdelse. Mens det er et fremragende system for uddannelse, virksomheder og almindelige forbrugere, er det ikke et udviklingsmiljø i samme forstand som gLinux.

Ofte Stillede Spørgsmål (OSS)

Kan jeg downloade gLinux?
Nej, gLinux er et internt operativsystem udviklet udelukkende til brug for Googles medarbejdere. Det er ikke tilgængeligt for offentligheden.
Hvilket skrivebordsmiljø bruger gLinux?
Fra 2024 er det fuldt understøttede skrivebordsmiljø GNOME. Tidligere versioner har angiveligt brugt Cinnamon.
Hvorfor bygger Google alt fra kildekoden?
At bygge alt fra kildekoden giver Google flere fordele. For det første giver det en stærk sikkerhedsgaranti, da de kan verificere oprindelsen af hver eneste binær fil, der kører på deres systemer (proveniens). For det andet giver det dem mulighed for at anvende specifikke patches eller optimeringer og sikrer, at alt er bygget konsistent inden for deres eget økosystem.
Er gLinux mere stabilt end en almindelig Debian Testing-installation?
Ja, højst sandsynligt. Selvom det er baseret på den potentielt ustabile 'Testing'-gren af Debian, sikrer Googles ekstremt grundige Sieve-testproces og den forsigtige, gradvise udrulning en meget højere grad af stabilitet, end man ville opleve ved at køre Debian Testing direkte. Problemer opdages og rettes, længe før de når flertallet af brugerne.

Konklusion: En Lektion i Skalerbarhed og Effektivitet

Overgangen fra Goobuntu til gLinux er mere end bare et teknisk skifte; det er et paradigmeskift. Det illustrerer, hvordan principper fra CI/CD (Continuous Integration/Continuous Deployment) og SRE kan anvendes med succes på desktop-operativsystemer i massiv skala. Ved at omfavne en rolling release-model, bakket op af en kraftfuld automatiseringsplatform som Sieve, har Google forvandlet en stressende og ineffektiv proces til en rolig, forudsigelig og yderst effektiv operation. Resultatet er et mere sikkert, mere opdateret og mere stabilt operativsystem for deres medarbejdere, samtidig med at det har reduceret arbejdsbyrden og stresset for det team, der vedligeholder det. Historien om gLinux er et bevis på, at med den rette tilgang kan selv de største udfordringer inden for IT-drift løses elegant.

Hvis du vil læse andre artikler, der ligner Hvad er gLinux? Googles interne styresystem, kan du besøge kategorien Sundhed.

Go up