天天速訊:谷歌講述從Goobuntu轉(zhuǎn)向gLinux內(nèi)部桌面發(fā)行版的心路歷程
位于加州山景城的 Google 總部辦公室,遍布著 Windows、Chromebook、Mac 等設(shè)備。但除了依靠 Linux 服務(wù)器之外,這家科技巨頭其實(shí)還擁有自己的 Linux 桌面發(fā)行版。盡管外界知之甚少,但 Google 一直在積極醞釀。而首個版本,就是基于 Ubuntu 改造出來的 Goobuntu 。
訪問:
阿里云服務(wù)器精選特惠:1核1G云服務(wù)器低至0.9元/月
(資料圖)
(來自:Google Cloud Blog)
2018 年,Google 又將其內(nèi)部 Linux 桌面,從 Goobuntu 遷移到了基于 Debian 的 gLinux 發(fā)行版。
該公司解釋稱:
Ubuntu LTS 的兩年期限,意味著我們必須在操作系統(tǒng)支持周期結(jié)束前,對超過 10 萬+的設(shè)備進(jìn)行升級。
而 Goobuntu 艦隊(duì)的完整升級工作,需要耗費(fèi)一年中的大部分時間,意味著窗口期只剩下一年。
再加上對工程 PC 的完全定制所需的耗時,這么做實(shí)在過于昂貴和痛苦。更難受的是,在下一個 LTS 輪回中,Goobuntu 團(tuán)隊(duì)還得重新再過一遍。
整個過程對我們來說是一個巨大的壓力因素,除了要搞定成百上千的問題,還得努力幫助解決各種極端狀況。
在受夠了這一切之后,我們也不難理解為何 Google 要從 Ubuntu 轉(zhuǎn)向 Debian Linux 了。
需要指出的是,該公司打造了一個特殊的 Debian 滾動發(fā)行版 —— 它就是 GLinux Rolling Debian Testing(Rodete)。
其設(shè)想是為用戶和開發(fā)者帶來最佳體驗(yàn),在創(chuàng)建并認(rèn)為已準(zhǔn)備好投入生產(chǎn)環(huán)境時盡快為他們提供最新的補(bǔ)丁和更新。
同屬此類的發(fā)行版,還包括了 Arch Linux、Debian Testing 和 openSUSE Tumbleweed 。
不過對于 Google 來說,此時最迫切的目標(biāo)是擺脫兩年的升級周期限制。
正如向持續(xù)集成 / 部署(CI / CD)轉(zhuǎn)變所表明的那樣,這些增量更改運(yùn)行很是良好。即便遇到問題,也能夠更加輕松地控制和回滾。
為了讓所有這些工作不耗費(fèi)大量時間和精力,Google 甚至打造了一套全新的 Sieve 工作流系統(tǒng)。
每當(dāng)發(fā)現(xiàn)一個新版 Debian 軟件包時,它就會開始一個新的構(gòu)建。此外考慮到通常單獨(dú)的包必須一起升級,這些包也被成組放置。
接下來便是使用完整的系統(tǒng)安裝、引導(dǎo)和本地測試套件,分別對每組包進(jìn)行測試 —— 包構(gòu)建可在幾分鐘內(nèi)完成,但測試可能需耗費(fèi)一小時。
完成后,所有新軟件包都將與最新的 gLinux 軟件包池合并。然后當(dāng) Google 決定將其發(fā)布到生產(chǎn)環(huán)境時,團(tuán)隊(duì)就會啟用該池的快照。
最后才是向整個艦隊(duì)推送新版本,但不僅僅是將其轉(zhuǎn)儲給用戶,而是基于站點(diǎn)可靠性工程(SRE)原則來逐步推進(jìn)(比如 incremental Canarying 增量嘗鮮),以避免遭遇重大失誤。
多年來,Google 在這方面一直做得很好。且得益于 Sieve,今天整個 gLinux 開發(fā)團(tuán)隊(duì),都由一個在成員之間輪值的發(fā)布工程師來擔(dān)當(dāng)。
即使想要對所有機(jī)器進(jìn)行升級,也無需使出多大的力氣去推動 —— 因?yàn)樗橙チ藦?alpha、beta 到通用發(fā)布(GA)的多個階段。
更棒的是,由于采用了滾動發(fā)布計(jì)劃,Google 可以快速修補(bǔ)整個艦隊(duì)的安全漏洞、而不至于影響整體的穩(wěn)定性。
而在此之前,安全工程師們必須仔細(xì)檢查每個 Debian 安全公告(DSA),以確保所有修復(fù)都已囊括其中。
此外 Google 改進(jìn)了測試套件和運(yùn)行關(guān)鍵開發(fā)人員系統(tǒng)的關(guān)鍵集成測試,合作伙伴團(tuán)隊(duì)會評估其最新 Linux 內(nèi)核 / 發(fā)行版所提供的穩(wěn)定體驗(yàn)。
我們對自動化管道中的一切強(qiáng)烈渴望,已經(jīng)顯著減少了團(tuán)隊(duì)的工作量和壓力。
現(xiàn)在還可上報(bào)錯誤、以及與其它庫版本的不兼容性,同時確保 Google 工具在 Linux 生態(tài)系統(tǒng)中更好地工作。
展望未來,Google 團(tuán)隊(duì)還將通過與上游 Debian 展開更緊密的合作、貢獻(xiàn)更多的內(nèi)部補(bǔ)丁,來幫助維護(hù) Debian 軟件包的生態(tài)系統(tǒng)。
這一切聽起來都很棒,但 Computer World 還是有兩點(diǎn)要指出:
首先,對于某些組織來說,LTS 長期支持版本仍有其存在的意義。如果你所在的企業(yè)并不需要最新、最閃耀的程序,Ubuntu 或 Red Hat LTS Linux 仍是個不錯的選擇。
其次,CW 并不認(rèn)為 Google 已經(jīng)發(fā)展到了能夠讓整條滾動發(fā)行版的自動化生產(chǎn)管道,精進(jìn)到只需一名工程師便可維護(hù)超過 10 萬用戶的 Linux 桌面。
更重要的是,如果 Google 有足夠的自信,那不妨直接將 Sieve 代碼分享出來,以便大家都可輕松上手滾動更新的 Linux 桌面發(fā)行版。
關(guān)鍵詞: Google 谷歌講述從Goobuntu轉(zhuǎn)向gLinux內(nèi)部桌面發(fā)行
相關(guān)新聞