Apinizer AI Gateway'in Hikâyesi: Ayrı Bir Kutu Kurmadık, Bir Sınırı Yeniden Çizdik
Farklılaşan data path, bölünmeyen control plane.

Sonuç
Apinizer AI Gateway bugün yayında. 17'den fazla LLM sağlayıcısı tek bir OpenAI-uyumlu endpoint arkasında; token ve maliyet bütçeleri, prompt firewall, PII maskeleme, MCP ve A2A yönetişimi — hepsi REST API'lerinizi zaten koşturan gateway'in üzerinde. Ayrı bir konsol yok, ayrı bir kimlik sistemi yok, ayrı bir nöbet listesi yok.
Ama bu yazı bir özellik listesi değil. Asıl anlatmak istediğim şey başka: bu ürünü neden ikinci bir kutu olarak değil, mevcut gateway'in içinde kurduk? Ve on beş ay önce kendimize yazdığımız bir uyarı bu kararı nasıl şekillendirdi?
Piyasanın önerdiği yol
LLM'ler kurumsal sistemlere girdiğinde piyasanın önerisi netti: API'leriniz için bir gateway'iniz var, AI trafiğiniz için ayrı bir AI Gateway alın. İkinci bir konsol, ikinci bir deploy hattı, ikinci bir vendor, ikinci bir nöbet listesi.
Biz bu ürünü kurarken aynı yoldan gitmedik. Ama bu karara aceleyle varmadık — çünkü on beş ay önce, henüz AI modülünü tasarlamaya başlamamışken, kendimize bunun tam tersi bir uyarı yapmıştık.
Kendi uyarımız: Nisan 2025
Nisan 2025'te Gateway Hayvanat Bahçesi: Conway Yasası Perspektifinden API, Event, Kafka, AI Gateway'ler başlıklı bir yazı yazdık. Conway Yasası'ndan hareket ediyordu: "Sistemleri tasarlayan organizasyonlar, kendi iletişim yapılarını yansıtan tasarımlar üretmeye mahkumdur."
O yazının kaygısı şuydu: API Gateway'lerin kapsamı Event Gateway, Kafka Gateway, AI Gateway, Agent Gateway gibi kavramlarla sürekli genişletiliyordu. Bu genişleme, geçmişin ESB'lerinin (Enterprise Service Bus) düştüğü tuzağı yeniden doğurma riski taşıyordu — "her şeyi çözen tek araç" olma iddiasıyla büyüyüp, iş mantığının sızdığı, zamanla hantallaşan, değişim önünde engele dönüşen bir monolit.
Vardığımız sonuç netti: büyük ölçekli ve uzun ömürlü sistemlerde farklı işlevler, iyi tanımlanmış arayüzlerle birbirine bağlanan ayrı bileşenler olarak tasarlanmalı — her şey tek runtime'a yığılmamalı. O gün Agent Gateway hâlâ teorik bir kategoriydi. Bir ürün kararı verecek olsaydık, bu yazı bizi "ayrı bir AI Gateway kur" tarafına iterdi.
Fiilen AI modülünü tasarlamaya oturduğumuzda, iş tam da bu disiplinle başladı: kendi yazdığımız uyarıyı ciddiye almak. Soru "AI'yı nereye koyalım" değildi; "gateway sprawl'a düşmeden bunu nasıl doğru kurarız" idi.

LLM'ler geldi, soru keskinleşti
Kurumsal yazılımda API'leri tek kapıdan yönetmek uzun süredir API Gateway'in işiydi: kimlik doğrulama, kota, log, routing, güvenlik politikaları. Sonra uygulamalar sadece REST endpoint'ine değil; OpenAI'ye, Anthropic'e, Azure'a, Bedrock'a, kendi barındırılan modellere konuşmaya başladı. Aynı anda birden fazla model, streaming yanıtlar, token bazlı maliyet, prompt injection riski, şirket dokümanına dayalı cevap ihtiyacı.
Üç sahne, klasik API Gateway'in neden tek başına yetmediğini özetliyordu:
Sağlayıcı değişimi operasyonu kırıyor. Ekip GPT ile başlıyor, maliyet artınca kendi barındırdığı bir modele bakıyor, regülasyon gelince başka bir buluta geçmek istiyor. Her seferinde istemci kodu, key yönetimi, hata handling yeniden yazılıyor.
Asıl fatura istek sayısı değil, token. Ay sonunda "API çağrısı az" görünüyor ama fatura şişmiş oluyor — uzun prompt'lar, şişmiş context, sessiz retry'ler token'ı yakmış. Klasik API'de TPS çoğu zaman yeter; LLM'de görünürlük token'a, modele, maliyete kayıyor.
Güvenlik uygulama koduna bırakılamıyor. Bir chatbot'a şirket prosedürü system prompt'una yapıştırılıyor, PII maskesiz modele gidiyor, prompt injection kimsenin aklına gelmiyor. Model bilmediği maddede uyduruyor; "çalışıyor" sanılıyor.
Bu üç sahne aynı sonuca çıkıyordu: LLM trafiği "normal API" değil. Bir kontrol katmanına ihtiyaç vardı. Ama Nisan'daki kendi uyarımız hâlâ masadaydı — peki bu kontrol katmanı ayrı bir ürün mü olmalıydı?