Backend (Arka Uç) Nedir?
Kısa tanım
Backend (arka uç), bir web sitesinin veya uygulamanın kullanıcının doğrudan görmediği, sunucu tarafında çalışan katmanıdır. İş kurallarını uygular, veriyi veritabanında saklar ve okur, kullanıcıların kimliğini doğrular, ödeme veya e-posta gibi dış servislerle konuşur ve sonuçları genellikle bir API aracılığıyla ön yüze (frontend) ya da mobil uygulamalara iletir.
Diğer adları: Arka Uç, Back-end, Back End, Sunucu Tarafı, Server-side

Görünmeyen tarafta neler olur?
Bir e-ticaret sitesinde “Sepete ekle” düğmesine bastığınızda ekranda değişen tek şey sepet simgesindeki sayıdır. Arka planda ise stok kontrol edilir, fiyat ve kampanya kuralları uygulanır, sepet kaydedilir ve gerekiyorsa başka sistemlere haber verilir. Bu işlerin tamamı backend'in sorumluluğundadır. Kabaca dört ana görevi vardır:
- İş kuralları: İndirimin kime uygulanacağı, bir siparişin ne zaman iptal edilebileceği, bir randevunun çakışıp çakışmadığı.
- Veri: Kayıtların bir veritabanında tutarlı biçimde saklanması ve okunması.
- Erişim denetimi: Kullanıcının kim olduğunun (kimlik doğrulama) ve neye yetkisi olduğunun kontrolü.
- Entegrasyonlar: Ödeme altyapısı, kargo, muhasebe ya da CRM gibi dış sistemlerle konuşmak.
Bir siparişin sunucu tarafındaki yolculuğu
Kullanıcı “Siparişi tamamla” dediğinde tipik bir backend'de şu adımlar yaşanır:
- Tarayıcıdan gelen HTTP isteği, bir reverse proxy veya yük dengeleyiciden geçerek uygulama sunucusuna ulaşır.
- Yönlendirme katmanı isteği ilgili işleyiciye (handler) verir.
- Oturum veya token kontrol edilir; kullanıcı tanınmıyorsa istek burada reddedilir.
- Gelen veri doğrulanır: adres alanları dolu mu, ürün miktarı makul mü?
- Fiyat sunucuda yeniden hesaplanır, stok düşülür ve sipariş tek bir transaction içinde kaydedilir.
- Onay e-postası gibi yavaş işler bir iş kuyruğuna bırakılır; kullanıcı bunları beklemez.
- Sipariş numarasını içeren bir JSON yanıtı ön yüze döner.
Ön yüzün bu süreçten gördüğü tek şey son adımdaki yanıttır. İki taraf arasındaki bu sözleşmeye API denir.
Tipik bileşenler
| Bileşen | Ne işe yarar? | Örnekler |
|---|---|---|
| Dil ve çalışma ortamı | Kodun yazıldığı ve çalıştığı ortam | Node.js, Python, Go, Java, PHP, C#/.NET |
| Framework | Yönlendirme, doğrulama, oturum gibi tekrar eden işleri hazır sunar | Express, Django, Laravel, Spring, ASP.NET Core |
| Veritabanı | Kalıcı veriyi saklar | PostgreSQL, MySQL, MongoDB |
| Önbellek | Sık okunan veriyi hızlı sunar | Redis, Memcached |
| Kuyruk | Uzun süren işleri istek döngüsünden ayırır | RabbitMQ, SQS, Redis tabanlı kuyruklar |
| Web sunucusu / proxy | TLS, sıkıştırma, statik dosyalar ve yönlendirme | Nginx, Caddy |
Hangi dilin seçildiği, çoğu projede ekibin deneyiminden ve kullanılacak kütüphanelerden daha az belirleyicidir.
Güvenlik sınırı backend'dedir
Tarayıcıda çalışan her şey kullanıcının kontrolündedir: JavaScript değiştirilebilir, form alanları atlanabilir, istekler elle yeniden gönderilebilir. Bu yüzden ön yüzdeki doğrulamalar yalnızca kullanıcı deneyimi içindir; asıl kontrol sunucuda yapılmalıdır. Ürün fiyatını istekten okuyan, “bu kullanıcı bu siparişi görebilir mi?” sorusunu sormadan kayıt döndüren bir backend, ön yüz ne kadar özenli olursa olsun güvenli değildir.
Sık karışan kullanımlar
Backend bir makine değildir. Aynı sunucu hem ön yüz dosyalarını hem backend kodunu çalıştırabilir; backend bir donanımı değil, bir sorumluluk katmanını anlatır.
BFF ve BaaS farklı şeylerdir. “Backend for frontend” (BFF), belirli bir ön yüzün ihtiyaçlarına göre şekillenmiş ince bir sunucu katmanıdır. “Backend as a service” (BaaS) ise kimlik doğrulama, veritabanı ve dosya depolama gibi hazır backend işlevlerini kiralık bir hizmet olarak sunan platformlar için kullanılır.
Her sitenin ayrı bir backend'e ihtiyacı yoktur. İçeriği nadiren değişen bir tanıtım sitesi önceden üretilmiş statik dosyalarla yayınlanabilir; backend ihtiyacı form gönderimi gibi birkaç işle sınırlı kalır.

