Android uygulaması için sunucu seçenekleri ve seçim rehberi

Kerem Aydın·7 Temmuz 2026·⏱3 dk

Kısa cevap: Hızlı bir MVP için BaaS (Firebase, Supabase), özel mantık gerektiren projeler için PaaS (Heroku, Vercel) veya konteynerler, büyük ölçekli uygulamalar için ise AWS/GCP üzerinde orkestrasyon (Kubernetes) ile kendi altyapınız. Aşağıda seçim yapmaya yönelik somut bir plan ve pratik başlatma adımları yer almaktadır.

Temel seçenekler ve kimler için uygun oldukları

  • BaaS (Hizmet Olarak Backend)
    • Ne sunar: Kimlik doğrulama, veritabanları, anlık bildirimler, fonksiyonlar — hızlı dağıtım.
    • Ne zaman seçilmeli: MVP, bağımsız geliştirici ürünü, DevOps ekibi olmayan ekipler.
    • Dezavantajları: Sınırlı kontrol, sağlayıcıya bağımlılık riski.

Android için REST veya GraphQL destekleyen bir backend'i tercih edin; Retrofit, Ktor ve Apollo istemci tarafında mükemmel çalışır.

  • PaaS (Hizmet Olarak Platform)

    • Ne sunar: Kodu siz yazarsınız (Node/Python/Go), platform altyapıyı yönetir.
    • Ne zaman: Uygulama büyüyor, özel mantığa ihtiyaç var ama daha az yönetim yükü isteniyor.
    • Dezavantajları: Yüksek yüklerde maliyet, yapılandırma kısıtlamaları.
  • Kendi VPS/Bulutunuz (EC2, DigitalOcean vb.)

    • Ne sunar: Tam kontrol, esnek optimizasyon, veritabanı yönetim sistemi ve ağ yapılandırması seçimi.
    • Ne zaman: Yüksek yük, güvenlik gereksinimleri, özel entegrasyonlar.
    • Dezavantajları: DevOps gerektirir, başlatma süresi ve bakım yükü.

Adım adım seçim ve başlatma planı

  1. Hedefleri ve yükü değerlendirin: 6–12 ay sonraki DAU (Günlük Aktif Kullanıcı) tahmini.
  2. Yüke göre seçiminizi yapın:
    • <10k DAU — BaaS (Firebase/Supabase);
    • 10k–100k — PostgreSQL ile PaaS;
    • 100k — Bulut + konteynerleştirme (K8s) ve CDN.

  3. Prototip: Test amaçlı bir endpoint oluşturun (GET /health, POST /login), Postman ile yanıt süresini kontrol edin.
  4. Sunucu konumu: Hedef kitlenize yakın bir bölge seçin (gecikme süresi UX'i etkiler).
  5. Android istemci yapılandırması: HTTPS, Retrofit/Ktor, Room + WorkManager ile çevrimdışı işleme.
  6. Güvenlik ve düzeltmeler: JWT/OAuth2, hız sınırlama (rate limiting), CORS, düzenli yedeklemeler.
  7. İzleme: Günlük kayıtları ve metrikleri bağlayın (Sentry, Grafana/Prometheus, New Relic) ve uyarıları ayarlayın.
  8. Yayına almadan önce yük testleri yapın — JMeter veya k6 ile basit senaryolar.

Yaygın bir hata, DevOps olmadan "tam kontrol" (VPS) ile başlamaktır: veri taşıma işlemleri ve kesintiler zamanınızı yer. Başlangıç için genellikle BaaS veya PaaS daha avantajlıdır.

Güvenlik yapılandırması ve pratik ayarlar

  • HTTPS zorunludur (VPS için Let's Encrypt).
  • Kimlik doğrulama: Kısa ömürlü TTL ve yenileme token'ları ile OAuth2 veya JWT.
  • Hız sınırlama ve kaba kuvvet saldırılarına karşı koruma (nginx/nginx-lua veya API gateway).
  • Hassas bilgiler için beklemedeki verilerin şifrelenmesi.
  • Yedekleme ve kurtarma planı (yedekleme + test replikası).
  • Gerçek zamanlı iletişim için: WebSocket/Realtime DB veya Cloud Functions hizmetleri; anlık bildirimler için FCM.
  • CI/CD: Otomatik dağıtım (GitHub Actions / GitLab CI) ve veritabanı migrasyonları.

Yaygın hatalar

  • Trafik ve istek maliyetlerinin yanlış hesaplanması.
  • İstemcide çevrimdışı modun göz ardı edilmesi (kötü UX'e yol açar).
  • Yayına almadan önce izleme ve uyarı sistemlerinin kurulmaması.
  • Uygulamada bölgelerin/anahtarların sabit kodlanması (hardcode).
  • Yük artışı durumunda migrasyon planlarının bulunmaması.

SSS

  • Hızlı bir MVP için ne seçmeli?
    Firebase veya Supabase — minimal yapılandırma ve Android için hazır SDK'lar.

  • Kubernetes hemen gerekli mi?
    Hayır. K8s, karmaşık mikroservis mimarisi ve yüksek yük durumunda haklı çıkar; öncelikle PaaS veya yönetilen hizmetler tercih edilmelidir.

  • Gerçek zamanlı sohbet nasıl sağlanır?
    Realtime DB / WebSocket / Pub/Sub veya özel hizmetleri kullanın; çevrimdışı senkronizasyon ile kombinleyin.

  • Farklı bir ülkedeki kullanıcılar için gecikme nasıl azaltılır?
    Statik içerikler için CDN, bölgesel veritabanı replikaları ve edge fonksiyonları.

Bu yaklaşım sayesinde, backend'i hızlıca ve gereksiz masraflar olmadan başlatabilir, ardından ürününüz büyüdükçe mimariyi evriltebilirsiniz.