Vebende Akademi - github-platform-architecture
Uzmanla Konuşun
Blog
MAKALE

GitHub Platform Architecture: Dünyanın En Büyük Kod Deposunun Teknik Mimarisi

Yayınlayan: Vebende Akademi  |  Okuma süresi: ~600 dk

GitHub Platform Architecture: Dünyanın En Büyük Kod Deposunun Teknik Mimarisi

Yayınlayan: Vebende Akademi  |  Okuma süresi: ~600 dk

1. GİRİŞ: YAZILIM EKOSİSTEMİNİN KALBİ OLAN PLATFORM

2026 yılına geldiğimizde, yazılım geliştirme süreci artık sadece kod yazmaktan ibaret değil; yapay zeka ajanlarının, bulut tabanlı geliştirme ortamlarının ve trilyonlarca satır kodun birbiriyle konuştuğu devasa bir otonom ekosisteme dönüştü. Bu ekosistemin sarsılmaz temeli olan GitHub Platform Architecture, yüz milyonlarca geliştiricinin emeğini güvenle saklayan, saniyede milyonlarca "push" ve "pull" isteğini hatasız yöneten dünyanın en güvenilir dağıtık sistemlerinden biridir.

Peki, GitHub neden sadece bir "Git sunucusu" değildir? Çünkü GitHub, Git protokolünün üzerine; yüksek erişilebilirlik, felaket kurtarma (disaster recovery) ve devasa ölçekli veri yönetimini ekleyen özel bir mühendislik katmanıdır. Bir geliştirici "git push" yaptığında, o kodun dünyanın farklı yerlerindeki fiziksel sunuculara nasıl dağıtıldığı, Spokes replikasyon sisteminin nasıl çoğunluk mutabakatı (majority consensus) sağladığı ve Vitess üzerinde MySQL'in nasıl sonsuz bir yatay ölçeklemeye ulaştığı, modern sistem tasarımının zirve noktalarından biridir.

Bugün GitHub, Copilot ile kod yazan bir asistandan, Actions ile otonom çalışan bir DevOps devine evrilmiştir. Bu rehberde, GitHub'ın altyapısını oluşturan kritik bileşenleri, 2026'nın AI-First mimari trendleriyle harmanlayarak derinlemesine analiz edeceğiz.

Bu Teknoloji Neden Konuşuluyor?

GitHub, "Veri Güvenliği" ve "Yüksek Erişilebilirlik" (High Availability) prensiplerini Git gibi karmaşık bir dosya sistemi üzerinde başarıyla uygulayan nadir platformdur. Ayrıca, AI destekli geliştirici deneyimini (Developer Experience - DX) birincil öncelik haline getiren mimari kararlarıyla sektöre yön vermektedir.

Kimler İçin Önemli?

Bu makale; dağıtık dosya sistemleri ile uğraşan Sistem Mühendisleri, devasa veritabanlarını yöneten Database Mimarları ve otonom CI/CD süreçleri tasarlayan DevOps Liderleri için teknik bir başvuru kaynağıdır.

Hangi Problemleri Çözüyor?

  • Veri Dayanıklılığı (Durability): Donanım arızalarına rağmen kodun asla kaybolmamasını sağlar.
  • Performans: Dünyanın neresinde olursanız olun, koda en yakın replika üzerinden erişmenizi sağlar.
  • Ölçekleme: Milyarlarca repo ve dosyanın tek bir sistem içinde tutarlı kalmasını sağlar (Vitess).
  • Otonom Geliştirme: Copilot ve Actions ile manuel süreçleri minimize eder.

2. KAVRAMSAL TEMELLER: REPLİKASYON VE SHARDING

GitHub mimarisini anlamak, verinin sadece saklanması değil, "nasıl çoğaltıldığı" ve "nasıl bölündüğü" ile ilgilidir.

2.1 Spokes (Replikasyon Katmanı)

GitHub'ın en özel bileşenlerinden biridir. Git verilerini sunucular arasında senkronize eden özel bir yazılım katmanıdır. Bir repo tek bir sunucuda değil, en az üç farklı fiziksel rack'teki üç farklı kopyada saklanır.

2.2 Vitess (MySQL Sharding)

MySQL'i sonsuz bir yatay ölçeklemeye taşıyan orkestrasyon sistemidir. GitHub, verilerini trilyonlarca satıra ulaştığında bile, Vitess sayesinde sanki tek bir veritabanı ile konuşuyormuş gibi performanslı kalır.

2.3 Majority Consensus (Çoğunluk Mutabakatı)

GitHub'da bir yazma işlemi (push), üç replikanın en az ikisi veriyi onaylamadan "başarılı" kabul edilmez. Bu, verinin fiziksel seviyede güvenceye alınmasını sağlar.

2.4 Temel Bileşenler

  • Git Servers (File Servers): Ham .git dosyalarının durduğu, yüksek IOPS değerli sunucular.
  • WebApp (Ruby on Rails): GitHub'ın kullanıcı arayüzü ve iş mantığının döndüğü ana uygulama.
  • Ghes: GitHub Enterprise Server'ın arkasındaki paketlenmiş mimari.
  • Runner: Actions işlerini koşturan, izole edilmiş sanal makineler/konteynırlar.

3. NASIL ÇALIŞIR? TEKNİK MİMARİ VE BİLEŞENLER

GitHub'ın mimarisi, "Push" anından "Build" anına kadar kusursuz bir veri akışı üzerine kuruludur.

3.1 Spokes: Git'i Dağıtık Yapmak

Geleneksel Git, tek bir sunucu için tasarlanmıştır. Spokes ise Git'i dağıtık bir sistem haline getirir:

  • Proxy Katmanı: Gelen Git isteklerini doğru dosya sunucusuna yönlendirir.
  • Replication Manager: Üç kopya arasında tutarlılığı kontrol eder.
  • Repair Engine: Bir sunucu çöktüğünde, diğer kopyalardan eksik veriyi tamamlayarak sistemi tamir eder.

3.2 Veritabanı Mimarisi: MySQL + Vitess

GitHub, ilişkisel verileri (yorumlar, yıldızlar, kullanıcı bilgileri) saklamak için MySQL kullanır. Ancak bu kadar veri tek bir "master" sunucuya sığmaz:

  • General Sharding: Veriler kullanıcı veya organizasyon bazlı parçalanır.
  • VTGate: Uygulamanın SQL sorgularını alıp hangi sharda gideceğine karar veren kapıdır.
  • Zero Downtime Resharding: Veritabanı dolduğunda, sistem çalışmaya devam ederken yeni shardlara veri taşınabilir.

3.3 GitHub Actions: Otonom İş Akışları

Actions mimarisi, "Event-Driven" (Olay Odaklı) bir yapıdır:

  1. Trigger: Bir "push" olayı GitHub'a gelir.
  2. Orchestrator: YAML dosyasını okur, hangi "job"ların koşacağına karar verir.
  3. Worker Provisioning: Azure veya AWS üzerinde bir VM veya Docker konteynırı hızla ayağa kaldırılır.
  4. Execution: Runner kodları çeker, testleri koşturur ve sonucu GitHub'a iletir.

3.4 Copilot ve AI Katmanı (2026 Model)

Copilot artık sadece bir "tamamlama" motoru değildir. 2026 mimarisinde;

  • Context Processing: Açık olan dosyaların ötesinde, tüm projenin ve bağımlılıkların mimarisini anlayan bir "RAG" (Retrieval Augmented Generation) tabanı kullanır.
  • AI Agents: Copilot artık PR'ları inceleyen, güvenlik açıklarını otomatik yamalayan bir otonom ajan (agent) olarak çalışır.

4. GERÇEK DÜNYA KULLANIMLARI: SEKTÖRÜN STANDARDI

4.1 Netflix: Devasa Microservices Yönetimi

Netflix, binlerce mikro servisinin kodlarını GitHub Enterprise üzerinde saklar. GitHub'ın yüksek erişilebilirlik garantisi, Netflix'in sürekli dağıtım (Continuous Delivery) hattının kesilmemesini sağlar.

4.2 Uber: Güvenli Kod ve Compliance

Uber, binlerce mühendisinin kod inceleme süreçlerini GitHub üzerinde yönetir. GitHub'ın "Code Scanning" ve "Secret Scanning" mimarisi, Uber'in güvenlik açıklarını henüz production'a gitmeden durdurur.

4.3 OpenAI: AI Model Geliştirme

OpenAI, modellerinin kodlarını ve büyük veri setlerinin versiyon kontrolünü GitHub üzerinde yaparak dünyanın dört bir yanındaki araştırmacıların işbirliği yapmasını sağlar.

4.4 Amazon: Hybrid Cloud Geliştirme

Amazon, kendi iç projelerinde GitHub'ın "Codespaces" mimarisini kullanarak, mühendislerine saniyeler içinde hazır, bulut tabanlı geliştirme ortamları sunar.

4.5 Stripe: API Dokümantasyonu ve Versiyonlama

Stripe'ın ünlü API dokümantasyonu, GitHub üzerindeki Markdown ve CI/CD süreçleriyle otonom olarak güncellenir.

5. AVANTAJLAR VE SINIRLAMALAR

Avantajlar

  • Nihai Veri Güvenliği: Spokes replikasyonu sayesinde kod kaybı ihtimali sıfıra yakındır.
  • Geliştirici Hızı: Codespaces ve Copilot ile kurulum ve yazım süreçleri %50 oranında hızlanır.
  • Ekosistem Entegrasyonu: Dünyadaki hemen hemen tüm DevOps araçları GitHub ile doğal entegre çalışır.
  • Ölçeklenebilirlik: Hem 1 kişilik projeleri hem de 100.000 kişilik organizasyonları aynı altyapıda sorunsuz barındırır.

Sınırlamalar / Zorluklar

  • Merkeziyet Riski: GitHub çöktüğünde, dünya yazılım ekosisteminin büyük bir kısmı durma noktasına gelir (Single point of failure for the community).
  • Operasyonel Karmaşıklık: Vitess ve Spokes gibi sistemleri yönetmek, devasa bir SRE ekibi gerektirir.
  • Maliyet: Büyük dosyalar (LFS) ve devasa repo geçmişleri için saklama maliyetleri hızla artabilir.

6. ALTERNATİFLER VE KARŞILAŞTIRMA

Kod depolama ve CI/CD platformlarının kıyaslaması:

Özellik GitHub (Professional/Enterprise) GitLab (Self-Managed Focus) Azure DevOps (Microsoft ecosystem) Bitbucket (Atlassian focus)
Mimari Gücü Hybrid (Spokes + Vitess) All-in-one Monolith Azure Cloud Native Jira Integrated
AI Desteği Copilot (Market Leader) Duo AI GitHub Copilot integration Sınırlı (Bot tabanlı)
Ölçekleme Çok Yüksek (Sınırsız) Yüksek (Self-scaling) Yüksek Orta/Yüksek
Topluluk Katılımı En Yüksek (Social Coding) Orta (Enterprise focus) Düşük (Internal focus) Düşük

7. EN İYİ PRATİKLER: PLATFORM MİMARLIĞI TAVSİYELERİ

Büyük ölçekli bir platform yöneten veya kuran mühendisler için GitHub ekolünden dersler:

7.1 Production Kullanımı ve Güvenlik

  • Branch Protection Rules: Mimaride sadece "kod saklamayın", süreci zorunlu kılın (Code Review olmadan "merge"e izin vermeyin).
  • Secret Scanning: Kod tabanına yanlışlıkla sızan API key'lerini otomatik tespit eden "hook"lar kullanın.
  • Semantic Versioning: Mimarideki bağımlılıkları yönetmek için versiyonlama standartlarına katı şekilde uyun.

7.2 Performans Optimasyonu

  • Git LFS (Large File Storage): Büyük binary dosyaları (resim, video, model) Git geçmişinde tutmayın; onları ayrı bir nesne deposuna (S3/Azure Blob) taşıyıp Git'te sadece "pointer" saklayın.
  • Action Caching: CI/CD süreçlerini hızlandırmak için bağımlılıkları (node_modules, pip cache) her build'de baştan indirmeyin, GitHub Actions cache katmanını kullanın.

7.3 Gözlemlenebilirlik (Observability)

  • DORA Metrics: Mimarinin başarısını; dağıtım sıklığı, hata oranı ve kurtarma süresi gibi metriklerle ölçün.

8. SIK YAPILAN HATALAR: ÖLÇEKLENMEYİ DURDURAN YANLIŞLAR

  • Devasa Repolar (Monorepo Overload): Tüm şirketi tek bir Git reposuna sığdırmaya çalışıp Git'in dosya sistemi limitlerini zorlamak. Spokes olsa bile, aşırı büyük repolar "cloning" süresini felç eder.
  • Ignoring Database Migrations: Vitess üzerinde şema değişikliği yaparken "locking" sürelerini hesaba katmamak.
  • Misusing Self-hosted Runners: Kendi sunucularınızdaki runner'ları yeterince izole etmemek; bir CI işinin tüm sunucuyu ele geçirmesine izin vermek.
  • Hard-coded Dependencies: Mikro servisler arası bağlantıları GitHub Actions'da hard-coded tanımlamak; bir repo ismi değiştiğinde tüm CI/CD'nin kırılması.

9. GELECEK TRENDLER: 2026 VE ÖTESİ

9.1 AI-Generated Architecture

Gelecekte Copilot sadece kod yazmayacak; sizin yerinize sistem gereksinimlerini analiz edip, GitHub üzerinden en uygun mikro servis şemasını ve altyapı kodlarını (IaC) otomatik oluşturacak.

9.2 No-Local Development

"Kendi makinemde çalışıyor" devri tamamen kapanacak. Codespaces mimarisi standart haline gelerek, tüm geliştirme süreci %100 bulut üzerinde, izole ve özdeş ortamlarda gerçekleşecek.

9.3 Quantum-Resistant Git

Kuantum bilgisayarların yaygınlaşmasıyla, Git'in kullandığı SHA-1/SHA-256 özetleme algoritmaları kuantum-dayanıklı versiyonlarla güncellenecek, mimari seviyede kriptografik bir değişim yaşanacak.

EK BÖLÜMLER

Sık Sorulan Sorular (FAQ)

  1. GitHub verilerimi nerede saklıyor?

    Ham kodlar kendi dosya sunucularında (Spokes üzerinden), ilişkisel veriler ise Azure ve AWS üzerindeki MySQL (Vitess) katmanında saklanır.

  2. Git ve GitHub arasındaki temel mimari fark nedir?

    Git yerel bir versiyon kontrol aracıdır; GitHub ise bu aracın üzerine replikasyon, sharding ve sosyal işbirliği katmanları ekleyen bir platformdur.

  3. GitHub bir çöküşte kodlarımı kaybedebilir mi?

    Eşzamanlı 3 replika ve coğrafi yedekleme sayesinde bir "veri kaybı" ihtimali milyonda birdir; ancak sistem devre dışı kalabilir.

  4. Vitess neden bu kadar popüler?

    Çünkü YouTube'un ölçeklenme sorunlarını çözen bu teknoloji, GitHub gibi devlerin MySQL'i dikeyde değil yatayda büyütmesini sağlayan tek güvenilir yoldur.

  5. GitHub Actions tamamen ücretsiz mi?

    Açık kaynak projeler için büyük ölçüde evet, ancak kurumsal kullanımda "computing" süresi (minutes) üzerinden ücretlendirilir.

  6. Copilot verilerimi çalıyor mu?

    GitHub Enterprise müşterileri için kodlar asla model eğitimi için kullanılmaz; yerel bir "context" üzerinden yanıt üretilir.

  7. Spokes replikasyonu nasıl çalışır?

    Her push işleminde veriyi aynı anda 3 yere yazar, 2 tanesi onay verirse işlemi tamamlar. Bu quorum tabanlı bir sistemdir.

  8. GitHub 2026'da ne yöne gidiyor?

    Tüm platform otonom bir "AI Coding Partner" olma yolunda evriliyor; kod yazan mühendisten ziyade, kodu yöneten yapay zeka ajanlarına odaklanılıyor.

Anahtar Kavramlar Sözlüğü

Spokes
GitHub'ın Git repolarını birden fazla sunucuya çoğaltan özel replikasyon katmanı.
Vitess
MySQL veritabanını trilyonlarca kayıt için parçalara (shard) bölen orkestrasyon sistemi.
Sharding
Büyük bir veritabanını daha küçük ve yönetilebilir parçalara bölme işlemi.
RAG (Retrieval Augmented Generation)
Copilot'un kod üretirken sizin projenizdeki dosyaları "hatırlayıp" onlara göre yanıt vermesini sağlayan teknik.
Idempotency
Bir işlemin (Örn: Bir build tetiklemek) kaç kez yapılırsa yapılsın aynı güvenli sonucu vermesi.

Öğrenme Yol Haritası (GitHub Platform Architecture Professional)

  1. Aşama 1: Git Deep Dive. Git'in iç yapısını (.git objeleri, blob, tree, commit) anlamadan mimariyi anlayamazsınız.
  2. Aşama 2: Dağıtık Sistemler. CAP Teoremi, Paxos/Raft mutabakat algoritmaları üzerine uzmanlaşın.
  3. Aşama 3: Veritabanı Ölçekleme. MySQL temellerinden sonra Vitess veya Citrus gibi sharding çözümlerini öğrenin.
  4. Aşama 4: Bulut Altyapısı. Kubernetes ve Terraform ile "Platform Engineering" dünyasına giriş yapın.
  5. Aşama 5: CI/CD ve Otomasyon. GitHub Actions ile karmaşık "reusable workflows" ve "custom runners" projeleri geliştirin.
  6. Aşama 6: AI-Native Development. LLM'lerin (Copilot) sistemle nasıl entegre olduğunu ve Prompt Engineering tekniklerini kavrayın.
  7. Aşama 7: Güvenlik ve Uyumluluk. DevSecOps araçlarını (CodeQL, Dependabot) mimariye enjekte etmeyi öğrenin.