Kısaca

GitHub, ağustos ayında Actions ve API servislerinde meydana gelen servis kesintilerini analiz ettiği aylık raporunu yayımlayarak veritabanı ile Azure taşıma süreçlerindeki son durumu paylaştı.

GitHub, ağustos ayı sistem erişilebilirlik raporunu yayımlayarak platformun altyapı performansını ve yaşanan servis kesintilerini kamuoyuyla paylaştı. Şirketin açıklamasına göre ağustos ayı, platformdaki hızlı trafik artışı ve kapasite sınırları nedeniyle operasyonel açıdan zorlu bir dönem oldu. Mühendislik ekipleri, bir yandan dayanıklılığı artırmak amacıyla Microsoft Azure altyapısına geçiş çalışmalarını yürütürken diğer yandan kritik servisleri etkileyen operasyonel aksaklıkları gidermek için kapasite izleme ve yeniden deneme kurallarında düzenlemelere gitti. Şirket, temel öncelik sıralamasının önce erişilebilirlik, ardından kapasite ve son olarak yeni özellikler şeklinde sürdürüldüğünü bildirdi.

Altyapı taşıma takviminde ağustos ayı boyunca önemli veritabanı adımları atıldı. GitHub'ın paylaştığı verilere göre 11 Ağustos'ta ilk kez üretim ortamındaki bir MySQL ana veritabanı doğrudan Azure üzerinden çalıştırıldı ve geçiş sırasında istemci tarafında herhangi bir kullanıcı kesintisi yaşanmadı. Bu işlem 27 Ağustos'ta iki ana veritabanı için daha tekrarlandı. Taşınan servislerden gelen okuma trafiği Azure üzerinde en yüksek yüzde 60,4 oranına ulaşırken, monolitik yapıdan gelen okumalarda bu oran yüzde 64,3, Git okumalarında ise yüzde 54 olarak ölçüldü. Eş zamanlı olarak 24 tabloluk çekirdek kimlik doğrulama kümesi platformun en eski paylaşımlı veritabanı olan mysql1 üzerinden çıkarıldı; bu adımla kopyalar üzerindeki yükten saniyede yaklaşık bir milyon sorgu eksiltildi. Yapılan diğer sorgu iyileştirmeleri ise saniyede 120 bin ek sorguyu engelleyerek saat başına 59 bin saniyelik veritabanı işlem kaybını ortadan kaldırdı.

Ağustos ayı boyunca yaşanan teknik olayların analizi raporda ayrıntılı biçimde paylaşıldı. 6 Ağustos günü UTC saatiyle 15.22'de başlayan ve yaklaşık dokuz saat süren olayda, iç GitHub Actions servisine yapılan rutin bir dağıtım sırasında podların değiştirilmesi geçici bir kapasite kaybı oluşturdu. Trafiğin diğer sitelere kaymasıyla servis ağı sınırları aşıldı ve işlemci darboğazı zincirleme önbellek, DNS ve API hatalarını tetikledi; bu süreçte en az 74 kurumun iş akışları aksadı. 17 Ağustos'ta ise veri merkezindeki yük dengeleyicilerin trafik sınırına dayanması ve servis ağı yan bileşeninin ölçeklenememesi sonucunda ağ akış limitleri tükendi. Yaşanan bu darboğazda, en yüksek noktada ön yüz isteklerinin yüzde 56,07'si başarısız oldu veya yavaşladı; toplamda yaklaşık 29 bin kurum ve 4,8 milyon istek bu durumdan etkilendi.

Ayın diğer kesintileri arasında Copilot servisleri ve veritabanı kilitlenmeleri öne çıktı. 20 Ağustos'ta Copilot bulut ajanı görevlerinin durumunu kaydeden yönetilen bulut veritabanının bir bölgesinde sağlayıcı kaynaklı bir kesinti meydana geldi ve en az 54 kurumda durum güncellemeleri 60 ila 90 dakikaya varan gecikmeler yaşadı. 26 Ağustos'ta Actions altyapısının kullandığı paylaşımlı veritabanı, günlük trafik zirvesinde gelen yoğun olay dalgasıyla doyum noktasına ulaştı ve en az 24 kurumda iş akışlarının başlaması gecikti. 27 Ağustos'ta ise Copilot bünyesinde sunulan Kimi K3 yapay zekâ modelinin sağlayıcısında oluşan teknik aksaklık nedeniyle bu modele yönlendirilen isteklerin yüzde 63,3'ü hata verdi; ancak diğer modelleri veya otomatik seçimi kullanan kullanıcılar bu durumdan etkilenmedi.

GitHub, yaşanan olayların ardından tekrarları önlemek üzere altyapı koruma önlemlerini devreye aldığını açıkladı. Actions iş akışlarında iş yönlendirme değişiklikleri yapılarak işlerin yüzde 33'ü yedek kapasiteye aktarıldı ve tepe önbellek işlemci kullanımı yüzde 98'den yüzde 80'e düşürüldü. 21 Ağustos itibarıyla müşteri destek bildirimlerini servis telemetrisiyle birleştiren otomatik yüksek etki tespit sistemi başlatıldı. Şirket, gelecek dönem çalışmaları kapsamında sıradaki veritabanı ana sunucularını Azure'a taşımayı, servis ağı için otomatik ölçeklendirme kurallarını güncellemeyi ve aşırı yük durumlarında devreye girecek otomatik devre kesici mekanizmalarını genişletmeyi hedefliyor.

Neden önemli?Milyonlarca geliştirici ve şirketin iş akışını barındıran platformdaki kapasite darboğazları, modern bulut altyapılarında mikroservis ölçeklendirmesinin ve bağımlılık yönetiminin kritik önemini gösteriyor.

Şu ana kadar bildiklerimiz

  • GitHub, 11 Ağustos'ta ilk kez üretim ortamındaki MySQL ana veritabanını Azure üzerinden çalıştırdı ve 27 Ağustos'ta iki ana veritabanını daha buluta taşıdı.
  • Ağustos ayındaki Actions kesintisinde pod güncellemeleri sırasında servis ağı sınırlarının aşılması nedeniyle en az 74 kurumun iş akışları aksadı.
  • En eski paylaşımlı veritabanından 24 tabloluk çekirdek kimlik doğrulama kümesinin ayrılmasıyla kopyalardan saniyede yaklaşık bir milyon sorgu yükü kaldırıldı.

Cevabı beklenen sorular

  • Önümüzdeki haftalarda planlanan daha karmaşık veritabanı taşımalarının platform işleyişine olası etkileri.