Şimdiye kadar Google’ın ne kadar büyük bir şirket/girişim olduğunu farklı açılardan ele aldık, almaya da devam ediyoruz. Ancak Google Mühendislik Müdürü Rachel Potvin‘in Silikon Vadisi’ndeki bir konferansta açıkladığı rakamlar yeni bir Google resmi çizmemizi sağlayacak cinsten.
Potvin, 30 dakikalık konuşmasında Google hakkında özellikle yazılım geliştiricilerin ilgisini çekecek bilinen ve bilinmeyen bilgileri paylaşıyor. Google’ın paylaşımlı tek bir devasa bir kod bütünü üzerinde çalıştığını söyleyen Potvin, bunun ilk bakışta çılgınca göründüğünü söylüyor ve böyle bir sistemin neden gerekli olduğunu da açıklıyor.
2 milyar satırlık kod bütünü
Google’ın tüm internet servisleri 1 milyar dosya içindeki 2 milyar satırlık bir kod bütünü oluşturuyor. Microsoft’un 2011’de açıkladığı rakamlara göre Windows XP işletim sistemi sadece 45 milyon satır koddan oluşuyordu. Açık kaynaklı işletim sistemi Linux ise 15 milyon satır kod ve 40 bin dosyadan oluşuyor. Facebook ise 2013’de 30 milyon satır koda ulaşmıştı.
85 terabayt (85 bin gigabayt) boyutundaki havuz içinde Google mühendisleri her gün 45 bin kod değişikliği yapıyor ve her hafta 15 milyon satır kod taşıyan 250 bin dosya içinde değişiklikler yapılıyor.
Elbette kod bütünün sadece niceliksel açıdan yorumlamak doğru olmaz ama bu durum Google’ın ne kadar büyük bir gezegen olduğunu görmemizi sağlıyor. Github Sistem Yöneticisi Sam Lambert de bu rakamları ‘kesinlikle sarsıcı’ olarak tanımlıyor.
Bu noktada Google servisleri altında arama, harita, dökümanlar, takvim ve hatta Youtube gibi bir çok hizmetin yer aldığını hatırlatmakta fayda var. Ve tüm bu servisleri kontrol eden 2 milyar satırlık kod bütünü 25 bin Google mühendisinin elinden geçiyor.
Google kod bütününü de bir çeşit işletim sistemi gibi çalışıyor ve Potvin, ispatlayamayacağını ama Google’ın dünyadaki en büyük tekil kod bütünü üzerinde çalıştığını ifade ediyor.
Dışarıya açılan kodlar ve Piper
Her ne kadar Google’ın kod kaynakları kendine özel olsa da, Facebook, Twitter ve diğer bir çok popüler teknoloji girişimi Google’da Github üzerinde (github.com/google) kod paylaşımları yapıyor. Hatta Google’ın dışarıya açtığı son kod kaynaklarından biri de Bazel olmuştu.
Google, bu büyük sistem içinde çalışırken her mühendis kendi yeteneğine uygun parçayla ilgileniyor. Güncellemelerde yapılacak hata oranını düşürmek için de Piper adlı bir ‘sürüm kontrol sistemi’kullanılıyr. Potvin, bu sistemin 10 farklı Google veri merkezini kapsadığını ifade ediyor ve Piper, otomatik veri ve konfigrasyon ayarları yapılmasına imkan tanıyor.
Google’da elbette mühendislerin proje üretmelerine de izin veriliyor ve bu durumlarda mühendislere zengin kod kütüphanelerinden faydalanma fırsatı veriliyor.
Özetle Google, yazılım tabanında muazzam bir derinliğe ve zenginliğe sahip ve bu sistem oldukça iyi bir performansla hayatımızı yönlendirmeye devam edecek gibi görünüyor.
Rachel Potvin’in yaptığı konuşmanın videosunu aşağıda izleyebilir, Google’ın çalışma sistemi hakkında daha fazla bilgi edinebilirsiniz.