Multi Tenant Architecture
Kiracı bazlı veri izolasyonu, tenant yönlendirme ve alan adı yapısı.
SaaS Geliştirme
Abonelik tabanlı, çok kiracılı ve ölçeklenebilir yazılım platformlarının teknik altyapısı.
01 Tanım
Kapsamın ne olduğunu ve ne olmadığını baştan netleştirmek, sonradan yaşanan sürprizlerin çoğunu ortadan kaldırıyor.
SaaS (Software as a Service), kullanıcıların yazılımı satın almak yerine abonelikle kullandığı modeldir. Teknik tarafta bu, birden fazla müşterinin (tenant) aynı uygulama üzerinde birbirinden yalıtılmış şekilde çalışması anlamına gelir.
Multi-tenant mimaride veri izolasyonu üç yaklaşımdan biriyle kurulur: ortak veritabanında tenant kolonu, tenant başına ayrı şema veya tenant başına ayrı veritabanı. Her birinin maliyet, yedekleme, göç ve performans açısından farklı sonuçları vardır. Doğru seçim, hedeflenen müşteri sayısına ve veri hassasiyetine bağlıdır.
Bunun üzerine kullanıcı yönetimi, rol ve izin sistemi, abonelik planları ve plan limitlerinin uygulanması, faturalama entegrasyonu, dashboard'lar, bildirim altyapısı ve dış entegrasyonlar için API katmanı geliyor. Ölçeklenebilirlik için kuyruk sistemi, önbellekleme ve arka plan işleri en baştan planlanıyor.
02 Kapsam
Bu hizmet kapsamında en sık talep edilen ve düzenli olarak geliştirdiğim çalışma başlıkları.
Kiracı bazlı veri izolasyonu, tenant yönlendirme ve alan adı yapısı.
Kayıt, davet, oturum yönetimi, iki adımlı doğrulama ve profil sistemi.
Rol ve izin matrisi, kaynak bazlı yetkilendirme politikaları.
Plan tanımları, limitler, deneme süresi, yükseltme/düşürme akışları. (Buraya "ödeme entegrasyonu — Stripe/iyzico" eklemek satış açısından güçlü olur.)
Kullanım metrikleri, grafikler ve rol bazlı özet ekranları.
Dış entegrasyonlar için versiyonlanmış, token tabanlı REST API katmanı.
E-posta, uygulama içi ve webhook tabanlı bildirim altyapısı.
İlişkisel model, indeksleme, göç stratejisi ve yedekleme planı.
03 Tech Stack
Bu hizmet kapsamındaki projelerde ağırlıklı olarak kullandığım araçlar.
04 Süreç
Dört aşama, her aşamada net bir çıktı. Hangi haftada neyi göreceğinizi baştan biliyorsunuz.
Tenant modeli, yetkilendirme yaklaşımı ve plan yapısı kararlaştırılır.
İlk sürümde yer alacak çekirdek akışlar tasarlanır.
Çekirdek modüller, abonelik mantığı ve dashboard geliştirilir.
İlk sürüm yayınlanır, geri bildirimle sürüm sürüm ilerlenir.
06 SSS
SaaS Geliştirme hizmetiyle ilgili en çok merak edilenler.
Çoğu proje için ortak veritabanı + tenant kolonu yaklaşımı en makul başlangıç. Bakımı ve göçü kolay, maliyeti düşük. Veri hassasiyeti yüksek veya kurumsal müşteri hedefleyen ürünlerde tenant başına şema tercih edilebilir. Kararı hedef müşteri profiline bakarak birlikte veriyoruz.
Ödeme sağlayıcı entegrasyonunu (checkout, abonelik yenileme, webhook doğrulama, iptal ve iade akışları) uygulama tarafında geliştiriyorum. Sağlayıcı seçimi ve sözleşme tarafı size ait oluyor.
Hayır. Mevcut bir uygulamayı SaaS modeline taşımak da mümkün. Bu durumda önce mevcut kodun tenant farkındalığı, yetkilendirme ve veri modeli açısından incelenmesi gerekiyor.
Kapsama bağlı. Çekirdek akışlarla sınırlı bir MVP genellikle birkaç haftada çalışır hâle gelebiliyor. Kapsamı baştan dar tutmak, ürünü erken test etmenin en pratik yolu.
Devamı
Bu hizmetle birlikte en sık talep edilen diğer başlıklar.