Editörden

Günün kapağı arşivin en iyi yazılarından: Netflix, LLM'leri hazır API'lerden tüketmek yerine tüm yığını kendisi işletiyor ve hangi kararda neyi neden seçtiğini — üretimde nelerin tasarım aşamasında öngörülemediği dahil — açıkça anlatıyor. Bu tür "kararların gerekçesi" yazıları nadirdir.

Günün Kapağı
Netflix Tech Blog 17 Temmuz 202611 dk okuma ileri

Netflix LLM sunumunu neden kendi işletiyor — ve hangi takasları yaptı

In-House LLM Serving at Netflix · Netflix Technology Blog

Çoğu kurum LLM'leri barındırılan API'ler üzerinden tüketiyor. Netflix daha ileri gitmiş: model dağıtımından çıkarıma kadar tüm yığını kendisi işletiyor — ve bunu ayrı bir ML silosunda değil, mevcut üretim ortamının içinde yapıyor. Yazının değeri de burada: sadece ne kurduklarını değil, neden öyle kurduklarını ve üretimin tasarım aşamasında görülmeyen neyi ortaya çıkardığını anlatıyor.

Mimari şöyle: üye ölçeğindeki ML, uçtan uca akışı yöneten JVM tabanlı birleşik bir sunum sistemiyle karşılanıyor — yönlendirme ve A/B testi mantığı, aday üretimi, özellik çekme, çıkarım, son işleme ve her aşamada loglama. Çağıranlar çıkarıma iki yoldan ulaşıyor: bu sistem üzerinden gRPC, ya da yeni LLM tabanlı uygulamaların kullandığı doğrudan HTTP yolu.

Çıkarımın nerede çalıştığı modele bağlı. Küçük CPU modelleri süreç içinde çalışıyor — uzak çağrı maliyeti ödenmiyor. Büyük modeller GPU istiyor; sunum sistemi ön ve son işlemeyi yerelde yapıp çıkarımı uzak bir servise devrediyor. Motor olarak vLLM seçilmiş, üstünde Triton, onun da üstünde dağıtım, sürümleme, sağlık kontrolü, otomatik ölçekleme ve çok-bölgeli yayılımı yöneten bir Java kontrol düzlemi var.

Yazı dört kararı bağımlılık sırasına göre işliyor — motor, paketleme, API yüzeyi ve yayılım — çünkü her biri bir sonrakini kısıtlıyor. Bu sıralama tek başına iyi bir mimari dersi.

Öne çıkanlar

  • Küçük model süreç içinde, büyük model uzak GPU'da: tek bir dağıtım stratejisi yerine model boyutuna göre farklı yollar.
  • İki API yüzeyi bir arada yaşıyor: eski tüketiciler için gRPC, yeni LLM uygulamaları için doğrudan HTTP.
  • Kararlar bağımsız değil — motor seçimi paketlemeyi, paketleme API yüzeyini, o da yayılım stratejisini kısıtlıyor.
  • Çıktı kısıtlarının uygulanması (output constraints enforcement) ayrı bir tasarım başlığı olarak ele alınmış — modelin serbest metin üretmesine güvenilmiyor.

Neden önemli?

"Kendimiz mi işletelim, hazır API mi kullanalım?" sorusu her ekibin önüne gelecek. Netflix'in cevabı herkes için doğru değil — ölçekleri ve mevcut altyapıları bu kararı mantıklı kılıyor. Ama yazının aktardığı düşünme biçimi evrensel: kararları bağımsız seçimler gibi değil, birbirini kısıtlayan bir zincir olarak görmek.

Sende karşılığı

Bu yazıyı bir mimari kontrol listesi gibi kullan. KlioAI'da LLM çağrılarını Spring Boot backend'inden yapıyorsun; Netflix'in sorduğu soruların küçük ölçekli hâlini sen de sorabilirsin: (1) API yüzeyi — istemci doğrudan mı çağırıyor, yoksa backend üzerinden mi? (Doğrudan çağırırsa API anahtarın istemcide olur, yapma.) (2) Yayılım — model ya da prompt değiştiğinde tüm kullanıcılara birden mi gidiyor? A/B testi ya da kademeli açılış var mı? (3) Çıktı kısıtı — modelin döndürdüğü şeyi şemayla doğruluyor musun? Netflix'in "output constraints" başlığı altında ayrıca ele aldığı şey tam olarak bu, ve senin pipeline'ında da en kritik korumadır.

Sözlük

vLLM vLLM
Büyük dil modellerini yüksek verimle sunmak için tasarlanmış açık kaynak çıkarım motoru.
control plane kontrol düzlemi
Sistemin ne çalıştıracağına, nerede ve hangi sürümle karar veren yönetim katmanı; veriyi işleyen katmandan (data plane) ayrıdır.
gRPC gRPC
HTTP/2 üstünde çalışan, şema tabanlı servisler-arası çağrı protokolü.
output constraints çıktı kısıtları
Modelin yalnızca belirli bir şemaya ya da biçime uyan çıktı üretmesini zorlayan mekanizma.
Orijinali oku

Kısa Kısa

AWS Architecture Blog 17 Temmuz 20268 dk okuma orta

Bulut maliyetini tahmin etmek: varsayımları yazmadan hesap yapılmaz

Eclipse Dataspace Components on AWS: Cost optimization strategies

AWS'in üç bölümlük Eclipse Dataspace Components serisinin son yazısı; performans verimliliği, maliyet optimizasyonu ve sürdürülebilirlik üzerine. Ürün özelinden bağımsız olarak öğretici kısmı yöntem: hangi AWS servislerinin maliyeti sürüklediğini belirliyor, aylık maliyeti kritik ve kritik olmayan iş yükleri için ayrı ayrı tahmin ediyor ve harcamayı %58'e kadar düşüren stratejiler sunuyor.

En değerli parça, sayılara geçmeden önce açıkça listelenen varsayımlar tablosu: katılımcı başına 5 GB veri (6 aylık geçmiş ve yedekler dahil), ayda 20 GB ağ trafiği, ayda 100.000 API çağrısı, ayda 1.000 OAuth token isteği — ve her birinin gerekçesi.

  • Maliyet tahmini varsayım listesi olmadan anlamsızdır; varsayımlar yazılınca tartışılabilir hâle gelir.
  • Kritik ve kritik olmayan iş yüklerini ayrı fiyatlamak, gereksiz yüksek erişilebilirlik harcamasını önlüyor.

Sende karşılığı

Bir projeyi buluta taşımadan önce bu tabloyu taklit et. "Aylık kaç istek, kaç GB veri, kaç GB çıkış trafiği?" sorularını yazıp gerekçeleriyle bir kenara koy. Tradebot'ta 1 TB veriyle çalışıyorsun; bunu S3'e koysan aylık maliyeti ne olurdu, sorgu başına kaç GB taranırdı — bu hesabı yapabilmek, bulut faturasının neden şiştiğini anlamanın tek yolu. Ayrıca en pahalı kalem genelde hesaplama değil veri çıkışıdır (egress); bunu bilmek çoğu mimari kararı değiştirir.

Sözlük

egress cost veri çıkış maliyeti
Buluttan dışarı çıkan veri için ödenen ücret; genelde depolama ve hesaplamadan daha pahalıya patlar.
Well-Architected Framework iyi mimari çerçevesi
AWS'in bulut mimarilerini güvenlik, güvenilirlik, performans, maliyet ve operasyon eksenlerinde değerlendirme rehberi.
Orijinali oku
Cloudflare Blog 17 Temmuz 20263 dk okuma başlangıç

WAF kuralı yama değildir: iki WordPress açığı ve doğru tepki sırası

Cloudflare WAF protects WordPress applications from two high-severity vulnerabilities

Cloudflare, WordPress'teki iki kritik açık için WAF koruması açtı: REST API'de kimlik doğrulamasız uzaktan kod çalıştırma (RCE) ve ilişkili bir SQL enjeksiyonu. WordPress güvenlik ekibi açıkları kamuya duyurmadan önce Cloudflare'e bildirmiş, böylece koruma hazır olmuş; kurallar 17 Temmuz 17:03 UTC'de tüm müşterilere (ücretsiz planlar dahil) açılmış.

Yazının en önemli cümlesi bir uyarı: WAF korumaları müşteriler güncellerken maruziyeti azaltır, ama yamanın yerine geçmez. Sürüm detayı da öğretici — SQL enjeksiyonu 6.8'den itibaren var, RCE ise yalnızca 6.9'dan itibaren. Bu yüzden 6.8.6 sadece SQLi'yi düzeltiyor, 6.9.5 ve 7.0.2 ikisini birden.

  • Doğru sıra: WAF ile geçici koruma → yamayı uygula → sürümü doğrula. İlk adımda durmak yaygın bir hata.
  • RCE yalnızca kalıcı nesne önbelleği (persistent object cache) kullanılmadığında tetikleniyor — açıkların koşullu olması yaygındır.

Sende karşılığı

Buradan alınacak iki refleks var. Birincisi: bağımlılıklarını güncel tut — Dependabot ya da Renovate'i projelerine bugün kur, GitHub Actions ile zaten çalışıyorsun. İkincisi: SQL enjeksiyonu 2026'da hâlâ kritik açık listesinde. Sen JPA/Hibernate kullanıyorsun ama @Query içinde string birleştirme yaptığın her yer bir risk; her zaman parametreli sorgu kullan. Pandas/psycopg tarafında da aynısı — f-string ile SQL kurmak, kod incelemesinde reddedilmesi gereken bir desendir.

Sözlük

RCE (Remote Code Execution) uzaktan kod çalıştırma
Saldırganın hedef sunucuda kendi kodunu çalıştırabilmesi; en yüksek önem derecesindeki açık türü.
WAF (Web Application Firewall) web uygulama güvenlik duvarı
Uygulamaya gelen istekleri inceleyip zararlı desenleri engelleyen katman.
CVE CVE
Bilinen güvenlik açıklarına verilen standart tanımlayıcı numara.
Orijinali oku
OpenAI Research 17 Temmuz 20267 dk okuma başlangıç

Token başına maliyet yanlış metrik: başarılı sonuç başına maliyet

A scorecard for the AI age

Yazının merkezinde bir metrik eleştirisi var. Yıllarca yazılımın başarısı benimsenme ile ölçüldü: alınan lisans, aktif kullanıcı, yenilenen abonelik. AI'da bu yetmiyor; ölçülmesi gereken tamamlanan iş.

Kilit argüman şu: token başına maliyete bakmak yanıltıcıdır. Daha ucuz bir modelin token'ı ucuz olabilir, ama iyi sonuç için daha çok deneme, daha çok zaman ve daha çok insan incelemesi gerekebilir. Daha yetenekli bir modelin token'ı pahalıdır ama aynı işi tek seferde bitirebilir. Önemli olan başarılı bir sonucu üretmenin tam maliyeti.

Pratik tavsiye de net: tek bir iş akışıyla başla, "bitti" ne demek tanımla ve o sonucu işin gerçekten yapıldığı sistemde ölç. Destek ekibi için "bitti" çözülen bir müşteri sorunudur; mühendislik ekibi için testleri geçen bir kod değişikliği.

  • Dört soru: AI önemli bir iş mi tamamlıyor, her başarılı görev ne kadara mal oluyor, sonuca güvenilebiliyor mu, kullanım arttıkça birim değer artıyor mu?
  • "Bitti" tanımını yapmadan ölçüm yapılamaz — bu, AI'dan bağımsız olarak da doğru.

Sende karşılığı

Bu gazetenin kendi pipeline'ında uygulanabilir bir ölçü: "özet başına maliyet" değil, "yayına giren, elden geçirilmeden kullanılabilir özet başına maliyet". Ucuz bir modelle beş kere deneyip düzeltmek, pahalı bir modelle bir kerede almaktan pahalı olabilir. Aynı hesabı KlioAI'daki değerlendirme özelliğinde de yap: kullanıcının düzeltmeden kabul ettiği çıktı oranı, token fiyatından çok daha anlamlı bir metriktir.

Sözlük

cost per successful outcome başarılı sonuç başına maliyet
Bir işi gerçekten bitirmenin toplam maliyeti — başarısız denemeler ve insan düzeltmesi dahil.
Orijinali oku