Sayı 60

Ölçek mühendisliğinde en değerli bilgi ‘ne kadar trafik’ değil, ‘trafik ne zaman ve neden geldi’. Meta’nın Dünya Kupası yazısı, trafiğin gol anında değil molalarda patladığını gösteriyor ve bütün kapasite kararlarını bu tek gözlemden türetiyor. Yanında Meta’nın bir uygulamayı AI agent’la nasıl yaptığının mühendislik hesabı var.

Günün kapağı Meta Engineering 15 Ekim 2026 4 dk okuma orta

Trafik topu değil molayı izledi: Meta Dünya Kupası’nda rekor yükü nasıl taşıdı

2026 World Cup: Breaking Records, Spiky Charts and Reliability at Scale

Her dört yılda bir Dünya Kupası, Meta’nın altyapısı için planlı en büyük stres testi. 2026’da mesajlaşma, video, öneri ve ağ aynı anda rekor kırdı: WhatsApp 19 Temmuz’daki finalde saniyede 30 milyondan fazla mesaj (rekor, bir önceki rekor 12 gün önce 29 milyonla kırılmıştı); Messenger, Threads ve Instagram Direct dakikada 49 milyon mesaj; Instagram öneri trafiği haftalık bazda yüzde 80’e kadar yüksek; canlı video izleme süresi Instagram’da yüzde 90, Facebook’ta yüzde 242 arttı.

Asıl bulgu: trafik molaları izledi. Maç olaylarını küresel çıkış trafiğiyle hizalayınca, paylaşımın büyük ölçüde molalarda (su molası, devre arası, uzatma, son düdük, ödül töreni) patladığı görüldü. Finalde normal sürenin bitişinde trafik yaklaşık dört dakikada yüzde 46, son düdükte yaklaşık 15 dakikada yüzde 57 yükseldi; turnuvanın en büyük tepesi normal süre bitiş düdüğüydü. Yazının cümlesi: grafikleri oyun değil, oyundan sonraki sohbetler oynattı. ‘Bütün kapasite kararları o tek örüntüden çıkıyor.’

Katmanlı sistemler, elle müdahale yok. Yükü Taiji veri merkezleri arasında dengeledi, Katran ve Proxygen L4/L7 trafiği dağıttı, küresel yük dengeleme kullanıcıları en uygun uca yönlendirdi ve autoscaling kapasiteyi talebe göre sağladı. Ağ ekipleri aylar önceden ISS ortaklarıyla çalışıp yükseltmeleri en çok fayda sağlayacak yerlere yaptı; bu ön yatırım kalıcı kapasite olarak kalıyor.

Instagram: 39 ardışık gün tepe. Dört ayak: kapasite tamponları (tepeler autoscaling’i beklemesin diye önceden fazladan ayırma); ülke düzeyinde graceful degradation (yüksek riskli maçlarda en yoğun ülkelerde kritik olmayan arka plan yükünü atmak); zincirleme yayılmayı önleme (ön yüzdeki tepe alttaki veri sistemlerine sıçramasın); ve erken uyarı sinyalleri (eşiğe yaklaşırken, aşınca değil). Hepsi 2028 Olimpiyatları gibi sonraki büyük olaylar için tekrar kullanılabilir bir runbook’a dönüştü. WhatsApp’ın en yoğun beş dakikalık penceresinde yaklaşık 8,4 milyar mesaj kesintisiz iletildi; 100’den fazla iç servis önceden load testing’den geçirilip boyutlandırıldı, eleme turları ilerledikçe yeniden test edildi.

Bu sefer yapmadıkları iki şey. Birincisi bölgeler arası yük kaydırma: geçmiş büyük olaylarda varsayılan, talebi birçok bölgeye yaymak ve sakin bölgelerin kapasitesinin tepeyi emmesiydi. Yılbaşı gibi tepelerin saatler arayla geldiği durumda işe yarıyor; bu sefer her bölge aynı anda tepe yaptığı için ödünç alınacak boş kapasite yoktu. Bunun yerine her bölgenin tepesi küresel bir çarpan yerine kendi başına tahmin edildi. İkincisi dağıtım dondurma: büyük olaylarda sürekli dağıtımı durdurmak standart hamledir; yıllardır süren güvenilirlik çalışmasına güvenip hiç dondurmadılar, ekipler tepe anı dahil normal ritimde yayın yaptı.

Öne çıkanlar

  1. Kapasite kararından önce talebin ne zaman ve neden geldiğini ölç: tetikleyici beklediğin şey olmayabilir.
  2. Tepe anında ölçekleme beklememek için kapasiteyi önceden ayır.
  3. Graceful degradation planı önceden yazılmalı: hangi yük, hangi ülkede, hangi koşulda atılır.
  4. Tüm bölgeler aynı anda tepe yapıyorsa ‘başka bölgeden ödünç al’ stratejisi çalışmaz; bölgeyi bağımsız tahmin et.
  5. Dağıtımı dondurmadan büyük olayı geçmek, yalnızca güvenilir bir dağıtım hattıyla mümkündür.

Neden önemli?

Bu yazı ‘ölçeklenme’yi sihir değil, bir dizi sıkıcı ve ölçülmüş karar olarak gösteriyor: önce örüntüyü bul, sonra kapasite tamponu, graceful degradation ve erken uyarıyla koru. Hepsi bir runbook olarak yazıldığı için bir sonraki olayda tekrar kullanılabilir.

Pratikte

Bunu kendi ölçeğinde şöyle uygularsın. Önce ölç: kullanıcı isteklerini saat bazında logla ve ‘yük ne zaman artıyor’ grafiğini çiz; beklediğinden farklı bir örüntü çıkabilir (örneğin ders saatleri ya da sınav öncesi). Sonra sınır koy: yük arttığında önce kritik olmayan işleri (analytics, ikinci model geçişi) kapatan bir flag ekle. Mülakat vokabüleri: headroom, graceful degradation, cascade failure önleme, erken uyarı. Bir de ayrıntı: load testing’i ortalamaya değil beklenen tepe değerine göre yap; k6 ya da locust ile birkaç dakikalık bir tepe senaryosu yazmak yeterli bir başlangıç.

Sözlük

graceful degradation
Aşırı yükte sistemi tümüyle düşürmek yerine kritik olmayan işleri kapatarak ayakta tutma.
capacity buffer (headroom)
Beklenen tepe yükün üzerinde, önceden ayrılmış yedek kapasite.
cascade failure
Bir bileşendeki aşırı yükün bağlı bileşenlere yayılarak onları da devirmesi.
load testing
Sistemi beklenen ya da üstü yük altında önceden deneme.
runbook
Bir olay ya da operasyon sırasında izlenecek adımların yazılı hâli.
Orijinali oku

Kısa kısa

Meta Engineering 15 Ekim 2026 8 dk okuma orta

Döngüde değil döngünün üstünde: Meta bir uygulamayı AI agent’la nasıl yaptı

How Meta Built Forum With AI-Native Engineering

Meta, Facebook gruplarının derin sohbetleri için yeni bir uygulama olan Forum’u küçük bir ekiple sıfırdan yaptı ve geliştirme sürecine bir AI agent’ı katılımcı olarak aldı. Başarı ölçütü kod miktarı değil, doğrulanmış, üretime hazır sonuç: derlenen, testi geçen ve incelemeden sağ çıkan değişiklik. Fark: human-in-the-loop (mühendis her adımı yürütür, AI içinde yardım eder) yerine human-on-the-loop (agent planla, yaz, derle, test et, düzelt döngüsünü yürütür; mühendis hedefi koyar, izler, sapınca müdahale eder ve onaylar). Yazının uyarısı: doğrulama yoksa sorun kod yazmaktan, bitmiş gibi görünen kodu incelemeye kayar.

Kazandıran şeyler: spesifikasyon olarak planlama (belirsizliği sezgiyle çözen insanın aksine agent belirsizlikte başarısız olur), döngü içi otomatik doğrulama (derleme, birim testi, arayüz eşleşmesi), simüle edilmiş kullanıcı testi (uygulamayı insan gibi kullanan gezinti agent’ları) ve üretimde agent destekli kök neden analizi. İşletim modeli beş parça: kurallar (agent bir hatayı ikiden fazla tekrarlarsa düzeltme herkes için bir kez yazılır), beceriler, agent’lar, komutlar ve kancalar (her agent turundan sonra linter çalıştırmak gibi). ‘En büyük kazanç prompt’tan değil, kod ve araçları değiştirmekten geldi’: sade ve modüler mimari, agent’a betimleme yerine durumu kontrol eden araçlar (canlı görünüm hiyerarşisini okumak, ekrandaki öğeleri listelemek) vermek ve prototip kodunu üretim derlemesinden tamamen dışarıda tutan ayrı bir derleme türü. Rutin stres senaryoları (agresif kaydırma, hızlı gezinme) geliştirme sırasında bir bellek sorununu yakaladı ve düzeltmeden sonra bellek ve sayfa hataları yaklaşık yarıya indi.

Öne çıkanlar

  1. Başarı ölçütü ‘üretilen kod’ değil ‘doğrulanmış sonuç’ olmalı.
  2. Agent’a bir şeyi betimlemek yerine durumu kontrol edebileceği bir araç ver.
  3. Agent aynı hatayı tekrarlıyorsa promptu değil kuralı ya da kodu düzelt.
  4. Prototip kodunu yalnızca bayrakla gizleme; üretim derlemesine hiç koyma.

Pratikte

Bunu bugün Claude Code ya da benzeri bir araçla kendi projelerinde uygula. (1) Repo köküne bir CLAUDE.md yaz: derleme ve test komutları, proje kuralları. Agent aynı hatayı iki kez yaparsa düzeltmeyi oraya ekle. (2) Agent’ın ‘bitti’ demesini testin geçmesine bağla; testi olmayan bir görevi agent’a verme. (3) Agent’a ‘bu ekran şöyle’ diye anlatmak yerine, ekran çıktısını ya da API cevabını okuyabileceği bir komut ver.

Sözlük · 2 terim
human-on-the-loop
İşi agent’ın yürüttüğü, insanın hedefi koyup izlediği ve onayladığı çalışma biçimi.
build flavor
Aynı koddan farklı yapılandırmayla üretilen ayrı uygulama sürümü (örneğin prototip ve üretim).
Orijinali oku