Google’ın Mountain View, CA ofislerine bakarsanız, Windows makinelerini, Chromebook’ları, Mac’leri ve gLinux masaüstlerini görürsünüz. G ne, soruyorsun? Sunucuları için Linux’a güvenmenin yanı sıra, Google’ın kendi Linux masaüstü dağıtımı vardır.

Onu alamazsın – kahretsin! – ancak on yıldan fazla bir süredir Google, kendi ev yapımı Linux masaüstü dağıtımını pişiriyor ve yiyor. İlk sürüm Goobuntu. (Adından da tahmin edeceğiniz üzere Ubuntu.)

2018’de Google, kendi Linux masaüstünü Goobuntu’dan yeni bir Linux dağıtımına taşıdı. Debian-tabanlı gLinux. Neden? Niye? Çünkü, Google’ın açıkladığı gibi, Ubuntu’nun Uzun Vadeli Destek (LTS) iki yıllık sürümü, “işletim sisteminin kullanım ömrü sona ermeden önce 100.000’den fazla cihazdan oluşan filomuzdaki her makineyi yükseltmemiz gerektiği anlamına geliyordu.”

Bu bir acıydı. Mühendislerin bilgisayarlarını tamamen özelleştirmek için zaman alıcı ihtiyacı ekleyin ve Google bunun çok maliyetli olduğuna karar verdi. Ayrıca, “Goobuntu filomuzu yükseltme çabası genellikle bir yılın daha iyi bir bölümünü aldı. İki yıllık bir destek penceresiyle, bir sonraki LTS için aynı süreçten tekrar geçmek zorunda kalmamıza sadece bir yıl kaldı. Köşe vakaları için yardım talepleriyle ilgili yüzlerce hata aldığımız için tüm bu süreç ekibimiz için büyük bir stres faktörüydü.”

Bu yüzden, Google bundan yeterince yararlandığında Debian Linux’a geçti (sadece Vanilla Debian değil). Şirket, yuvarlanan bir Debian dağıtımı oluşturdu: GLinux Rolling Debian Testing (Rodete). Buradaki fikir, kullanıcılara ve geliştiricilere en iyi şekilde, oluşturuldukları ve üretime hazır oldukları düşünülen en son güncellemeleri ve yamaları vererek hizmet etmeleridir. Bu tür dağıtımlar şunları içerir: Arch Linux, Debian Testive openSUSE Tumbleweed.

Google için acil hedef, iki yıllık yükseltme döngüsünden çıkmaktı. hareket olarak Sürekli Entegrasyon/Sürekli Dağıtım (CI/CD) gösterdi, bu artımlı değişiklikler iyi çalışıyor. Ayrıca, bir şeyler ters giderse kontrol etmek ve geri almak daha kolaydır.

Tüm bunların çok fazla kan, ter ve gözyaşı olmadan çalışmasını sağlamak için Google, yeni bir iş akışı sistemi olan Sieve’i oluşturdu. Sieve, bir Debian paketinin yeni bir sürümünü gördüğünde, yeni bir yapı başlatır. Ayrı paketlerin genellikle birlikte yükseltilmesi gerektiğinden, bu paketler paket grupları halinde oluşturulmuştur. Tüm grup oluşturulduktan sonra Google, hiçbir çekirdek bileşenin ve geliştirici iş akışlarının bozulmadığından emin olmak için sanallaştırılmış bir test paketi çalıştırır. Ardından, her grup tam sistem kurulumu, önyükleme ve yerel test paketi çalıştırması ile ayrı ayrı test edilir. Paket birkaç dakika içinde tamamlanır, ancak test bir saat kadar sürebilir.

Bu yapıldıktan sonra, tüm yeni paketler en yeni gLinux paket havuzuyla birleştirilir. Ardından, Google onu üretime geçirme zamanının geldiğine karar verdiğinde, ekip bu havuzun anlık görüntüsünü alır. Son olarak, yeni sürümü filoya sunar. Tabii ki, sadece kullanıcılara bırakmayacak. Bunun yerine, hiçbir şeyin ters gitmediğinden emin olmak için artımlı kanaryalama gibi Site güvenilirlik mühendisliği (SRE) ilkelerini kullanır.

Yıllar geçtikçe, Google bu konuda daha iyi hale geldi. Bugün, Sieve sayesinde, gLinux geliştirme ekibinin tamamı, ekip üyeleri arasında dönüşümlü olarak görev yapan tek bir yayın mühendisi pozisyonundan oluşuyor. Filoyu yükseltmek için büyük bir çaba yok. Çok aşamalı alfa, beta ve genel kullanılabilirlik (GA) sürümleri yoktur.

Daha da iyisi, sürekli yayın programı sayesinde Google, istikrardan ödün vermeden tüm filodaki güvenlik açıklarını hızla düzeltebilir. Önceden, güvenlik mühendislerinin her birini dikkatlice incelemesi gerekiyordu. Debian Güvenlik Danışmanlığı (DSA) düzeltmenin içeride olduğundan emin olmak için.

Ayrıca, Google’ın “geliştirilmiş test paketi ve kritik geliştirici sistemlerini çalıştıran kilit ortak ekipleriyle entegrasyon testleri, Linux Çekirdeğinin en son sürümlerini sağlayan bir Linux dağıtımı kullanarak daha istikrarlı bir deneyim sağladı. Ardışık düzendeki her şeyi otomatikleştirmeye yönelik güçlü özlemimiz, ekip içinde önemli ölçüde azaltılmış çalışma ve stres. Artık Google araçlarının Linux ekosisteminde daha iyi çalışmasını sağlarken diğer kitaplık sürümleriyle hataları ve uyumsuzlukları bildirmemiz de mümkün.”

İleriye baktığımızda, Google’ın ekibi “yukarı akış Debian ile daha yakından çalışacağını ve Debian paket ekosistemini korumak için daha fazla dahili yamamıza katkıda bulunacağını” açıkladı.

Kulağa harika geliyor. Ama paylaşacak iki düşüncem var.

İlk olarak, bazı kuruluşlar için LTS sürümleri hala anlamlıdır. İşletmeniz için en yeni, en parlak programlara ihtiyacınız yoksa, bir Ubuntu veya Kırmızı şapka LTS Linux hala mantıklı.

İkincisi ve önemli olan şudur: Elek, kedinin miyavlamasına benzer. 100.000’den fazla kullanıcı tarafından kullanılan bir masaüstünün bakımını yapmak için yalnızca bir mühendisin gerekli olduğu noktaya kadar yuvarlanan bir dağıtım üretim hattını otomatikleştirebilen bir program mı? Beni kaydet!

Daha da iyisi, Sieve’in kodunu yayınlayın, böylece hepimiz Linux masaüstü sürümleri üretmeye başlayabiliriz. Google’a ne dersin? Ne dersin?

Telif Hakkı © 2022 IDG Communications, Inc.



genel-13