Backend (arka yüz), bir web sitesinin ya da uygulamanın kullanıcının göremediği ama her şeyin çalışmasını sağlayan kısmıdır. Veriyi saklayan, iş kurallarını işleten, güvenliği sağlayan ve ön yüze doğru bilgiyi gönderen sunucu tarafıdır. Backend developer ise bu katmanı geliştiren yazılımcıdır.
Bu yazıda backend’in ne olduğunu, hangi parçalardan oluştuğunu, backend developer’ın ne yaptığını, hangi dillerin kullanıldığını ve frontend’den farkını anlatıyoruz. Mobil uygulama projelerinde backend’in neden ayrı bir önem taşıdığına da değiniyoruz.
Backend Nedir?
Backend, bir dijital ürünün sunucu tarafıdır. Kullanıcı bir düğmeye bastığında, o isteği karşılayan, gerekli veriyi bulan, kuralları uygulayan ve cevabı geri gönderen katmandır. “Back-end”, “arka uç” ve “arka yüz” aynı kavramın farklı söylenişleridir.
Bir örnek verelim. Bir yemek siparişi uygulamasında siparişi vermeniz için şunlar gerekir: hesabınızın doğrulanması, restoranın menüsünün veritabanından çekilmesi, ödemenin işlenmesi ve siparişin restorana iletilmesi. Bunların hiçbirini ekranda görmezsiniz, ama hepsi backend’dedir.
Kullanıcı ekranda gördüğü kısmı frontend olarak bilir. Frontend nedir yazımızda ön yüzün ayrıntılarını anlattık.

Backend’in Temel Parçaları
Bir backend genellikle üç ana parçadan oluşur.
Sunucu: Gelen istekleri karşılayan ve uygulama kodunu çalıştıran bilgisayar ya da bulut kaynağıdır.
Uygulama mantığı: İş kurallarını uygulayan koddur. Örneğin “indirim kodu yalnızca ilk siparişte geçerlidir” kuralı burada yazılır.
Veritabanı: Kullanıcı, sipariş ve ürün gibi verilerin kalıcı olarak saklandığı yerdir. İlişkisel (PostgreSQL, MySQL) ve ilişkisel olmayan (MongoDB gibi) türleri vardır.
Bu parçalara iki katman daha eşlik eder: kimlik doğrulama ve yetkilendirme (kim giriş yapabilir, neyi görebilir) ile API katmanı. API, frontend ile backend’in konuştuğu arayüzdür. Detay için API nedir yazımıza bakabilirsiniz.
Backend Developer Ne Yapar?
Backend developer, ürünün göremediğimiz motorunu kurar ve çalışır halde tutar. Başlıca işleri şunlardır:
Sunucu tarafı kodu yazmak ve iş mantığını uygulamak
Veritabanı tasarlamak, sorguları hızlı hale getirmek
Frontend ve mobil uygulamaların kullanacağı API’leri geliştirmek
Kullanıcı verisini korumak: kimlik doğrulama, şifreleme ve yetki kontrolü
Ödeme, e-posta ve harita gibi üçüncü taraf servisleri entegre etmek
Sistemin çok kullanıcıyla da çalışmasını sağlamak (ölçeklenebilirlik)
Hataları izlemek, kayıtları (log) incelemek, yedekleri ve güncellemeleri yönetmek
Başarılı bir backend fark edilmez. Sayfa hızlı açılır, sipariş kaybolmaz, veri güvende kalır. Sorun çıktığında ise kullanıcı bunu hemen fark eder.
Backend’de Kullanılan Diller ve Teknolojiler
Backend için tek bir dil yoktur. Seçim projenin ihtiyacına bağlıdır.
Teknoloji | Öne çıkan kullanım | Not |
Node.js (JavaScript) | Gerçek zamanlı uygulamalar, API’ler | Frontend ile aynı dili kullanmak ekibi hızlandırır |
Python | Veri işleme, yapay zeka entegrasyonu, hızlı geliştirme | Geniş kütüphane ekosistemi |
Java / Kotlin | Kurumsal sistemler, bankacılık | Olgun ve kararlı ekosistem |
C# (.NET) | Kurumsal ve Windows ağırlıklı ortamlar | Güçlü araç desteği |
Go | Yüksek performanslı servisler | Basit ve hızlı |
PHP | Web siteleri, içerik yönetim sistemleri | WordPress gibi platformların dili |
Dil kadar önemli olan başka kararlar da vardır: veritabanı seçimi, bulut altyapısı (AWS gibi), servislerin nasıl bölüneceği ve nasıl izleneceği. Node.js ile sağlam bir backend kurmak için Node.js backend rehberimize bakabilirsiniz. Neon Apps olarak Node.js geliştirme ve Python backend geliştirme hizmetleri sunuyoruz.
Backend ve Frontend Farkı
Özellik | Backend | Frontend |
Çalıştığı yer | Sunucu | Kullanıcının tarayıcısı ya da telefonu |
Odak | Veri, mantık, güvenlik | Arayüz ve etkileşim |
Kullanıcı görür mü? | Hayır | Evet |
Örnek iş | Ödemeyi doğrulamak | Ödeme formunu göstermek |
İki taraf API’ler üzerinden haberleşir. Frontend veri ister, backend o veriyi hazırlayıp gönderir. İkisini de yazabilen yazılımcıya full stack developer denir.

Backend Developer Nasıl Olunur?
Yol haritası genel olarak şöyledir:
Bir backend dili seçin (Python ya da JavaScript başlangıç için yaygındır) ve temellerini öğrenin.
Veritabanlarını öğrenin: SQL yazmayı, tablo tasarlamayı ve ilişkileri.
REST API nedir, nasıl tasarlanır ve nasıl test edilir, bunu uygulayın.
Kimlik doğrulama ve temel güvenlik kavramlarını öğrenin.
Git, Docker ve bir bulut servisinin temellerini ekleyin.
Küçük ama uçtan uca projeler yapın: kullanıcı kaydı olan ve veriyi kaydeden bir uygulama gibi.
Mobil Uygulamada Backend Neden Kritik?
Çoğu mobil uygulama, backend olmadan yarım kalır. Kullanıcı hesabı, siparişler, bildirimler, ödeme ve raporlama hep sunucu tarafında yürür. Uygulamanın arayüzü ne kadar iyi olursa olsun, yavaş ya da güvensiz bir backend kullanıcı deneyimini bozar.
Mobil tarafta ayrıca şu noktalar dikkat ister:
Sürüm uyumu: Kullanıcılar uygulamayı hemen güncellemez. Backend, eski sürümleri de çalıştırabilmelidir.
Bildirimler: Push bildirimleri sunucu tarafından yönetilir.
Çevrimdışı ve zayıf bağlantı: API, kesintili bağlantıda bile tutarlı davranmalıdır.
Mağaza kuralları: Veri gizliliği ve hesap silme gibi gereklilikler backend’de karşılanır.
SaaS ürünlerinde fatura, abonelik ve mimari kararları da backend’in işidir. Bu konuyu SaaS platform geliştirme mimarisi yazımızda ele aldık. Altyapı tarafında AWS bulut çözümleri sayfamıza da göz atabilirsiniz.
Backend Seçerken Sık Yapılan Hatalar
Ölçeklenmeyi geç düşünmek: Kullanıcı sayısı artınca yeniden yazmak, baştan doğru kurmaktan pahalıdır.
Güvenliği sona bırakmak: Yetkilendirme ve veri koruma, geliştirme boyunca ele alınmalıdır.
Trend olan teknolojiyi ihtiyaçtan önce koymak: Ekibin bakım yapabileceği, olgun bir teknoloji çoğu zaman daha doğru seçimdir.
Dokümantasyonsuz API yazmak: Frontend ve mobil ekipler API’yi anlayamazsa işler yavaşlar.
İzlemeyi atlamak: Hata kayıtları ve performans takibi olmadan sorunlar kullanıcıdan önce fark edilmez.
Backend Mimarisi
Bir backend tasarlanırken üç yaklaşım sık karşımıza çıkar:
Monolit: Tüm mantık tek bir uygulamada durur. Başlamak ve yayınlamak kolaydır, birçok erken aşama ürüne uygundur.
Mikroservisler: Sistem, birbiriyle konuşan küçük servislere bölünür. Büyük ekiplerin ölçeklenmesine yardım eder, ancak işletme karmaşıklığını artırır.
Serverless: Kod, otomatik ölçeklenen yönetilen fonksiyonlarda çalışır. Sunucu yönetimini azaltır, ama maliyet ve ilk çalıştırma gecikmesi dikkatle tasarlanmalıdır.
Makul bir yol çoğu zaman iyi yapılandırılmış bir monolitle başlamak ve servisleri yalnızca gerçek ölçek ya da ekip büyüklüğü gerektirdiğinde ayırmaktır.
Backend Güvenliğinin Temelleri
Güvenlik, backend’in çekirdek sorumluluğudur. Temel adımlar şunlardır:
Şifreleri hash’leyin ve asla düz metin olarak saklamayın.
Oturumlar için kısa ömürlü token kullanın ve her istekte yetkiyi doğrulayın.
Tüm girdileri doğrulayın, böylece enjeksiyon saldırıları engellenir.
Veriyi aktarım sırasında, gerekiyorsa saklanırken de şifreleyin.
Bağımlılıkları güncel tutun ve bilinen zafiyetler için tarayın.
Erişimleri ve hataları kaydedin, böylece olaylar incelenebilir.

Backend Performansı ve Ölçeklenebilirlik
Hız, yalnızca frontend’in değil backend’in de bir özelliğidir. Üç uygulama en büyük farkı yaratır. Birincisi, uygulamanın en sık çalıştırdığı sorgular için veritabanı indeksleri eklemek ve bir ekranın ihtiyacından fazla veri çekmemektir. İkincisi, nadiren değişen sonuçlar için önbellek kullanmak, böylece sunucu her istekte aynı işi tekrarlamaz. Üçüncüsü, e-posta göndermek ya da görsel işlemek gibi yavaş işleri arka plan görevlerine taşımak, böylece kullanıcı beklemez.
Ölçeklenebilirlik, kullanıcı sayısı arttıkça sistemin çalışmaya devam etmesidir. Ekipler bunu servisleri mümkün olduğunca durumsuz tutarak, trafiği dağıtan bir yük dengeleyici kullanarak ve yanıt sürelerini izleyerek planlar. İlk günden milyonlarca kullanıcıya göre kurmanız gerekmez, ancak tasarımınızın hangi parçasının önce zorlanacağını bilmelisiniz.
Backend ve API Tasarımının Temelleri
Frontend ve mobil ekipler backend ile API üzerinden konuşur, bu yüzden API’nin kalitesi herkesin hızını belirler. İyi bir API şu özelliklere sahiptir:
Tutarlı adlandırma: Kaynaklar ve alanlar her yerde aynı mantıkla adlandırılır.
Net hata mesajları: Bir istek başarısız olduğunda, neden başarısız olduğu ve ne yapılacağı anlaşılır.
Sürümleme: Eski mobil uygulama sürümleri çalışmaya devam edebilsin diye değişiklikler yeni bir sürümde yapılır.
Sayfalama ve filtreleme: Büyük listeler tek seferde değil, parçalar halinde döner.
Belgelendirme: Her uç noktanın ne yaptığı, hangi veriyi beklediği ve ne döndürdüğü yazılıdır.
Bu temelleri baştan doğru kurmak, ürün büyüdüğünde en çok zaman kazandıran yatırımlardan biridir.
Veritabanı Seçimi: İlişkisel mi, İlişkisel Olmayan mı?
Veritabanı seçimi, backend’in en kalıcı kararlarından biridir. İlişkisel veritabanları (PostgreSQL, MySQL) veriyi tablolar ve ilişkiler halinde saklar. Sipariş, kullanıcı ve ödeme gibi tutarlılığın kritik olduğu veriler için çoğu zaman en güvenli seçimdir. İlişkisel olmayan veritabanları (MongoDB gibi) esnek yapılı, hızlı değişen ya da çok büyük hacimli veriler için tercih edilir. Her ikisini bir arada kullanan ürünler de yaygındır. Emin olmadığınızda, ilişkisel bir veritabanıyla başlamak çoğu ürün için makul bir varsayılandır, çünkü veri modelini sonradan genişletmek mümkündür.
Backend Ekibinde Kimler Çalışır?
Küçük bir üründe tek bir backend geliştirici işin büyük kısmını yapabilir. Büyüdükçe roller ayrışır: altyapı ve bulut yönetimiyle ilgilenen DevOps mühendisleri, veri ve analitik işleri yapan veri mühendisleri, güvenliğe odaklanan uzmanlar ve ürün özelliklerini geliştiren backend geliştiricileri. Bu uzmanlıkların hepsine ilk günden ihtiyacınız yoktur, ancak hangi aşamada hangisini ekleyeceğinizi önceden düşünmeniz gerekir.
Backend Testi ve İzleme
Backend’in gözle görülmeyen doğası, hataların geç fark edilmesine yol açar. Bu yüzden iki alışkanlık şarttır. Birincisi otomatik testtir. Birim testleri iş kurallarını, entegrasyon testleri veritabanı ve dış servislerle çalışmayı, uçtan uca testler ise gerçek bir kullanıcı akışını doğrular. Ödeme ve giriş gibi kritik akışlar her değişiklikte otomatik test edilmelidir. İkincisi izlemedir. Hata kayıtları, yanıt süreleri ve sunucu kaynak kullanımı sürekli izlenir, eşik aşıldığında ekibe uyarı gider. Kullanıcı şikayet etmeden önce sorunu siz görmelisiniz.
Backend Dağıtımı ve Ortamlar
Profesyonel bir backend tek bir ortamda çalışmaz. Geliştirme, test (staging) ve canlı (production) ortamları ayrı tutulur. Yeni bir sürüm önce test ortamında denenir, ardından canlıya alınır. CI/CD hattı bu geçişi otomatikleştirir: kod birleştirildiğinde testler çalışır, geçerse sürüm yayınlanır. Bir sorun çıkarsa önceki sürüme hızlıca dönebilmek (rollback) en önemli güvenlik ağıdır. Veritabanı değişiklikleri de dikkatle yönetilmelidir, çünkü kod geri alınabilir ama silinmiş veri geri gelmez. Bu yüzden şema değişiklikleri küçük adımlarla ve yedek alınarak yapılır.
Backend Maliyeti Neye Bağlıdır?
Backend maliyeti çoğu zaman gözden kaçar, çünkü ekranda görünmez. Kullanıcı sayısı, depolanan veri miktarı, bulut kaynakları, üçüncü taraf servis ücretleri ve yedekleme gibi kalemler her ay tekrar eder. Başlangıçta küçük bir yapıyla başlayıp kullanım arttıkça kaynak eklemek, baştan büyük kurmaktan genellikle daha ekonomiktir.
Mobil ya da web ürününüz için backend mimarisini birlikte planlamak isterseniz web uygulama geliştirme ve mobil uygulama geliştirme hizmetlerimizi inceleyebilirsiniz.




