01Sorun ve çözüm
Backend geliştirmede önce işin kurallarını ve verinin yaşam döngüsünü çıkarıyoruz: bir sipariş hangi durumlardan geçer, hangi işlem anında yapılmalı, hangisi arka plana bırakılabilir, hangi kayıt asla silinmemeli. Veri modeli ve servis sınırları bu kurallardan türetilir. Teknoloji tercihi, sizin ya da devralacak ekibin uzun vadede bakımını yapabileceği seçenekler arasından yapılır.
02Kimler için
Backend yazılımı kimler için doğru adım
Arayüzü olan ama güvenilir bir sunucu tarafı eksik olan her ürün bu hizmetin konusudur.
- Mobil uygulama ya da web arayüzü tasarlanmış, sunucu tarafı için deneyimli bir ekip arayan girişimler
- Kendi frontend ekibi olan ama veritabanı, kuyruk ve altyapı konusunda destek isteyen yazılım ajansları
- Hazır bir arka uç servisiyle başlayıp sorgu maliyeti, yetki ya da raporlama sınırlarına takılan ürünler
- Kampanya ve yoğun sezonlarda yavaşlayan ya da çöken eski bir monolit uygulamayı yenilemek isteyen işletmeler
- Birden fazla iç sistemi tek bir iş kuralı katmanında toplamak isteyen şirketler
03İhtiyaçlar
Sunucu tarafında sık karşılaşılan darboğazlar
Sorunların çoğu ilk yüz kullanıcıda değil, ürün büyüdükten sonra görünür hâle gelir.
- 01
Eşzamanlı işlemlerde tutarlılık
Son kalan ürünü iki kullanıcı aynı saniyede sepete eklediğinde ya da iki şube aynı randevu saatini verdiğinde sistemin tek bir sonuç üretmesi gerekir. Veritabanı kilitleri, işlem sınırları ve iyimser eşzamanlılık kontrolü bu noktada tasarlanır.
- 02
Uzun süren işlerin kullanıcıyı bekletmesi
Toplu fatura kesme, büyük rapor üretme ya da yüzlerce e-posta gönderme isteği tarayıcıyı dakikalarca bekletmemelidir. Bu işler kuyruğa alınır, kullanıcı sonucu bildirimle öğrenir.
- 03
Büyüyen veride yavaşlayan sorgular
Birkaç bin kayıtta hızlı çalışan liste ekranı milyonlarca satırda kilitlenebilir. İndeks stratejisi, sayfalama yöntemi ve gerekirse raporlama için ayrı bir okuma veritabanı baştan planlanır.
- 04
Hatanın kaynağını bulamamak
Kullanıcı bir işlemin yarım kaldığını söylediğinde hangi servisin, hangi adımda hata verdiğini görebilmek gerekir. Yapılandırılmış loglar ve istek izleme olmadan her arıza tahminle çözülür.
04Özellikler
Backend yazılımı projelerinde kurduğumuz bileşenler
Her projede hepsi gerekmez; ihtiyaç analizinde hangilerinin kapsama gireceği belirlenir.
- 01
Durum makinesi ile iş kuralları
Sipariş, başvuru ya da talep gibi kayıtların hangi durumdan hangisine geçebileceği kodda açıkça tanımlanır. Geçersiz bir geçiş, arayüz izin verse bile sunucuda reddedilir.
- 02
Kuyruk ve zamanlanmış görevler
Gece hesap kesimi, abonelik yenileme, hatırlatma gönderimi gibi işler zamanlayıcıyla çalışır; başarısız görevler kayda geçer ve belirlenen kurala göre yeniden denenir.
- 03
Önbellek katmanı
Sık okunan ama seyrek değişen veriler, örneğin ürün kataloğu ya da ayarlar, Redis gibi bir bellek içi depoda tutulur; veri değiştiğinde ilgili önbellek temizlenir.
- 04
Dosya ve medya işleme
Yüklenen görseller arka planda yeniden boyutlandırılır, belgeler nesne depolamada süreli ve imzalı bağlantılarla paylaşılır.
05Entegrasyonlar
Backend yazılımı projelerinde kurulan dış bağlantılar
Sunucu tarafı, ürünün dış dünyayla konuştuğu yerdir.
- 01
Bulut altyapısı
AWS, Azure ya da Google Cloud üzerinde yönetilen veritabanı, nesne depolama ve konteyner servisleri; veri yerleşimi gereksinimi varsa Türkiye'deki veri merkezleri değerlendirilir.
- 02
Bildirim servisleri
Android ve iOS için Firebase Cloud Messaging, e-posta için işlem odaklı e-posta servisleri ve SMS sağlayıcınız tek bir bildirim modülünden yönetilir.
- 03
Ödeme ve muhasebe
iyzico ya da PayTR gibi ödeme kuruluşlarıyla tahsilat, iade ve abonelik akışları; Paraşüt ya da Logo gibi programlara fatura ve cari aktarımı kurulur.
- 04
Dil modeli sağlayıcıları
Metin sınıflandırma ya da özetleme gereken akışlarda OpenAI gibi sağlayıcılara ya da kurum içinde çalışan açık modellere istekler kuyruk üzerinden, maliyet ve hız sınırı gözetilerek gönderilir.
06Süreç
Backend yazılımı yaptırmak istiyorum: süreç nasıl işler?
Adım 01
Analiz
İş akışınızı, kullanıcılarınızı ve mevcut sistemlerinizi dinleriz; kapsamı, öncelikleri ve kabul ölçütlerini yazılı hâle getiririz.
Adım 02
Tasarım
Ekran akışlarını ve veri modelini çıkarırız. Arayüzü sizinle gözden geçirip onay almadan geliştirmeye geçmeyiz.
Adım 03
Geliştirme
Kısa döngülerle çalışırız; her döngü sonunda çalışan bir sürümü test ortamında görürsünüz.
Adım 04
Test
İşlevsel testler, entegrasyon testleri ve temel güvenlik kontrolleriyle hataları yayından önce yakalarız.
Adım 05
Yayın
Sunucu, alan adı, yedekleme ve izleme ayarlarını yaparak canlıya alırız; ekibinize kısa bir kullanım eğitimi veririz.
Adım 06
Bakım
İsterseniz bakım ve destek anlaşmasıyla güncellemeleri, izlemeyi ve yeni geliştirmeleri sürdürürüz.
07Teknoloji
Dil, veritabanı ve yayın altyapısı seçimi
Node.js, .NET, Go ya da Python gibi seçenekler arasında karar verirken ekibinizin mevcut bilgisi, işin niteliği ve kütüphane olgunluğu belirleyici olur; yoğun hesaplama gerektiren bir servis ile basit bir yönetim paneli aynı dilde yazılmak zorunda değildir. Veri katmanında ilişkisel bir veritabanı, örneğin PostgreSQL, çoğu iş uygulaması için güvenli varsayılandır; belge ya da zaman serisi deposu yalnızca gerçek bir ihtiyaç varsa eklenir.
Devamını okuDaha az göster
Uygulama konteyner olarak paketlenir, her değişiklik otomatik testlerden geçtikten sonra önce test ortamına, onaydan sonra canlıya çıkar. Veritabanı şema değişiklikleri sürümlü göç dosyalarıyla yapılır ve geri alınabilir. Yayından önce beklenen yoğunluğun üzerinde yük testi yapılır, darboğaz görülen sorgular ölçülerek iyileştirilir.
08Çalışma modelleri
Bu hizmette çalışma modelleri
- 01
Proje bazlı
Sabit kapsam, sabit fiyat ve belirli teslim tarihi
Kapsamı belli, teslim tarihi olan işler için.
- Yazılı kapsam ve kabul ölçütleri
- Sabit fiyat ve belirli teslim tarihi
- Teslim ve kabul adımları sözleşmede
- 02
Bakım ve destek
Aylık sözleşmeli, SLA'lı bakım, destek ve geliştirme saati
Yayındaki bir sistemin sürekliliği için.
- Aylık sözleşme ve SLA
- İzleme, güncelleme ve hata düzeltme
- Aylık geliştirme saati
09Sık sorulan sorular
Backend yazılımı hakkında sık sorulan sorular
Hazır bir arka uç servisinden kendi sunucumuza geçmek ne zaman mantıklı?
Yetki kurallarınız servis kurallarıyla ifade edilemeyecek kadar karmaşıklaştığında, kullanım arttıkça faturanız öngörülemez hâle geldiğinde ya da raporlama için verinize serbestçe sorgu atmanız gerektiğinde geçiş gündeme gelir. Geçiş, kullanıcıları kesintiye uğratmadan modül modül yapılabilir.
Backend yazılımı yaptırma fiyatları neleri hesaba katar?
İş kurallarının karmaşıklığı, veri modelinin büyüklüğü, dış entegrasyon sayısı, arka plan görevleri, beklenen kullanıcı yükü ve barındırma tercihleri maliyeti belirler. Mevcut bir sistemin devralınması durumunda kod incelemesi de kapsama eklenir.
Kendi frontend ekibimizle birlikte çalışabilir misiniz?
Evet. Servis sözleşmesini ekibinizle birlikte belirler, sahte yanıt dönen bir taslak servisi ilk aşamada paylaşırız; böylece arayüz ekibi sunucu tarafının bitmesini beklemez.
Backend yazılımı için firma seçerken nelere dikkat etmeliyiz?
Veri modelinin nasıl belgelendiğini, yük testinin yapılıp yapılmadığını, yedekten geri dönüşün denenip denenmediğini ve kaynak kodla altyapı erişimlerinin size nasıl teslim edileceğini sorun. Bu yanıtlar, ileride başka bir ekibin sistemi devralıp alamayacağını belirler.
Sunucuları ve veritabanını kim yönetir?
Altyapı sizin bulut hesabınızda kurulabilir; erişimler ve faturalar sizde kalır. Yayından sonra izleme, güncelleme ve yedek kontrolünü bakım ve destek modeliyle üstlenebiliriz.
Uygulamamız yoğun günlerde çöküyor, yeniden yazmak şart mı?
Her zaman değil. Önce ölçüm yapılır; sorun çoğu zaman birkaç ağır sorguda, eksik indekste ya da senkron yapılan uzun bir işlemdedir. Bu noktalar iyileştirildikten sonra yeniden yazma ihtiyacı birlikte değerlendirilir.
10İlgili hizmetler