Skip to content
Neon Apps
Aydınlık bir açık ofiste ekranda kod yazan bir geliştirici

Yazılım geliştirme

Backend Nedir? Backend Developer Ne İş Yapar?

Backend nedir, backend developer ne yapar? Sunucu, veritabanı ve API’nin rolünü, kullanılan dilleri ve frontend farkını örneklerle anlatıyoruz.

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.

Karanlık bir odada, kulaklıkla arkadan görünen bir geliştirici ve etrafını saran kod ekranları

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.

İki ekrandan birindeki bir kod satırını işaret eden geliştirici

Backend Developer Nasıl Olunur?

Yol haritası genel olarak şöyledir:

  1. Bir backend dili seçin (Python ya da JavaScript başlangıç için yaygındır) ve temellerini öğrenin.

  2. Veritabanlarını öğrenin: SQL yazmayı, tablo tasarlamayı ve ilişkileri.

  3. REST API nedir, nasıl tasarlanır ve nasıl test edilir, bunu uygulayın.

  4. Kimlik doğrulama ve temel güvenlik kavramlarını öğrenin.

  5. Git, Docker ve bir bulut servisinin temellerini ekleyin.

  6. 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.

Kodla dolu iki kavisli ekranın başında yazan, gözlüklü bir geliştirici

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.

Kabin ışıklarıyla aydınlanan bir sunucu odasında elinde tablet tutan bir mühendis

Sıkça Sorulan Sorular

İlham Almaya Devam Et

Neon Apps ekibinden hikayeler, içgörüler ve güncellemeler doğrudan gelen kutunuza gelsin.

09Bir projeniz mi var?

Bize Ulaşın

Bir projeniz mi var? Girişimler ve global markalar için dünya standartlarında mobil ve web uygulamaları geliştiriyoruz.

İletişime Geçin