GitHub platformu, yoğun ve kesintisiz değişiklik ve güncelleme akışları oluşturan yapay zekâ yazılımları ile ajanlarının (AI Agents) yaygınlaşmasıyla birlikte Git sistemi üzerindeki işlem yoğunluğunda benzeri görülmemiş bir büyüme ile karşı karşıya kalıyor. Geleneksel veri merkezlerindeki güç kapasitesi ve tedarik zincirlerinin fiziksel sınırlarını aşmak amacıyla şirket, şu ana kadar depolarının %99,99999'unun kopyalarını kendi veri merkezleri ile Microsoft Azure bulutu arasında ortaklaşa barınacak şekilde taşıyan bir mimari planı duyurdu.
Gecikme engeli ve tüm deponun kilitlenmesi
GitHub, platformda en çok kullanılan ve üzerinde en çok değişiklik yapılan depoların—ki bunlar kalan küçük %0,00001'lik kısmı temsil ediyor—ağ üzerinden yanıt süresi biçiminde teknik bir engelle karşılaştığını açıkladı. Veriler, platformun veri merkezlerinden yaklaşık bin mil uzaklıkta bulunan Azure Central US bölgesine taşındığında, her ağ bağlantısı gidiş-dönüşte yaklaşık 25 milisaniyelik bir gecikme süresi ekliyor.
Eski senkronizasyon ve mutabakat sistemi "Spokes" mimarisinde, her yeni yazma işlemi, kopyalar (Replicas) yanıt verene kadar deponun tamamı düzeyinde kapsamlı bir kilit (Repository-wide lock) uygulanmasını gerektiriyordu. Kapsamlı kilidin tutulması nedeniyle, ağ açısından en yavaş kopya yanıt süresini ve deponun tüm veriminin üst sınırını belirleyen unsur haline geldi; bu da geliştiricilerden ve yapay zekâ ajanlarından sık sık kod gönderimleri alan aktif depolarda darboğazlara yol açtı.
Tekil referanslara dayalı mutabakat
Bu darboğazı aşmak için GitHub, ilk mimari ilkesi olan "Koordinasyonu azaltmak ve gereksiz kilitlemeyi ortadan kaldırmak" yaklaşımını uygulayarak mutabakat mekanizmasını yeniden yapılandırdı. Güncelleme sırasında deponun tamamını kilitlemek yerine, mutabakat ve kilitleme kapsamı artık yalnızca dallar (Branches) veya etiketler (Tags) gibi tekil referanslara (Per-reference serialization) uygulanıyor.
Geliştiricilerin veya yapay zekâ ajanlarının gerçekleştirdiği eşzamanlı yazma işlemlerinin çoğu farklı dalları hedeflediğinden, değişiklikler artık tek bir kuyrukta birbirini beklemek zorunda kalmıyor. Şirketin gerçek yükler altında gerçekleştirdiği şirket içi testler, yazma işlemlerini karşılama kapasitesinde 3 ila 4 katlık bir artış ve gecikme süresinde belirgin bir düşüş olduğunu gösterdi.
Depolamanın işlem gücünden ayrıştırılması ve nesne depolamanın yaygınlaştırılması
İkinci aşama, ikinci mimari ilkenin uygulanmasını içeriyor: "Depolamayı işlem gücünden ayrıştırma" (Decoupling storage from compute). Çoğu Git deposu, yazmaya kıyasla okuma işlemlerinin yoğunluğu ile karakterize ediliyor; oran, her bir yazma işlemine karşılık 100 ila 1.000 okuma işlemi arasında değişiyor. Eski mimaride ise okuma ve yazma işlemleri aynı kaynaklar ve bellek için rekabet ediyordu.
Bunu çözmek için GitHub, nesne depolamayı (Azure Blob Storage), "Sanal Yazma Kopyası" (Virtual Write Replica) adı verilen sanal bir üye olarak mutabakat konseyine dahil etti. Bu kopya, işlemleri toplayan ve değişiklikleri bulut depolamaya kesintisiz biçimde aktaran geçici bir dizi olarak görev yapıyor. Depolama onaylandıktan sonra platform, talep doğrultusunda ölçeklenebilen sınırsız sayıda Sanal Okuma Kopyasını (Virtual Read Replicas) devreye alabiliyor; bu kopyalar, veri yazma hızını veya senkronizasyonu etkilemeden önbelleklerini arka planda güncelliyor.
Yazılım geliştirme altyapısı için pratikte neler değişiyor?
GitHub'daki bu mühendislik dönüşümü, devasa dağıtık sistemlerin yapay zekâya dayalı otomatik çalışmanın doğasına dayanacak şekilde nasıl yeniden tasarlandığını yansıtıyor. En belirgin pratik etkiler şu şekilde özetlenebilir:
- Verim tavanının yükseltilmesi: Yapay zekâ ajanlarının ve geliştiricilerin, büyük depolar üzerinde kilitlenme (Lock) yaşamadan yoğun eşzamanlı gönderimler yapabilmesinin sağlanması.
- Okuma ölçeklendirme esnekliği: Ağır mutabakat prosedürlerinden geçmeye gerek kalmadan okuma sunucularının artırılabilmesi ve önbellek belleklerinin bağımsız olarak ayrılabilmesi.
- Temel sistem sürekliliği: Hizmeti durdurmaya veya veri bütünlüğünden ödün vermeye gerek kalmadan, günde 100 milyardan fazla işlem gerçekleştiren "Spokes" sisteminin dahili bileşenlerinin güncellenmesi.