Müşterileri ayrı tutan, plan ve limit uygulayan SaaS back-end'i
Birçok şirkete aynı altyapıdan hizmet veren SaaS ürünlerinin back-end'ini kuruyoruz: müşteriye göre ayrılmış veri, planlar, kullanım limitleri ve her müşterinin tüketiminin ölçümü.

Kimin için
Ürünü büyüdüğü hâlde her yeni müşteri için hâlâ ayrı kurulum yapan yazılım şirketleri için.
Neyi çözer
- Her yeni müşteri, sistemin bir kopyasını ve bir öğleden sonralık ayarı gerektiriyor.
- Bir sorguda unutulan tek filtre, bir müşterinin verisini başkasına gösterebilir.
- Planlar fiyat sayfasında duruyor, ama sistem onları uygulayamıyor.
- Büyük bir müşteri yüzünden sistem herkes için yavaşlıyor.
- Her müşterinin ne kadar kullandığı bulut faturası gelene kadar bilinmiyor.
Ne yapıyoruz
- Kiracı modeli
- Ortak veritabanı, müşteri başına şema ya da müşteri başına veritabanı; seçim risk ve maliyete göre yapılır.
- Veri ayrımı
- Her sorgu veritabanının kendisinde müşteriye göre süzülür; satır düzeyinde güvenlik kullanılır.
- Planlar ve limitler
- Her planın özelliklerini, kullanıcı sayısını ve kotalarını sistemin kendisi denetler.
- Kullanım ölçümü
- Her müşterinin tüketimi sayılır, faturalandırmaya ve kontrole hazır tutulur.
- Ağır müşteriye sınır
- İstek kotaları ve ayrı kuyruklar sayesinde ağır bir müşteri ötekileri bekletmez.
- Yönetim API'si
- Müşteri açmak, askıya almak, planını değiştirmek ya da verisini dışa aktarmak, veritabanına dokunmadan API'yle yapılır.
Neler teslim edilir
- Kararı ve gerekçeleri kayda geçmiş, belgelenmiş kiracı modeli
- Başka bir müşterinin verisini okumaya çalışan ve başarısız olması gereken otomatik testler
- Faturalandırmaya aktarılabilen, müşteri başına kullanım ölçümü
- Müşteriler, planlar ve limitler için yönetim API'si
- Ürünün müşterileri ayrı kurulumlarda çalışıyorsa taşıma planı
Nasıl ilerliyoruz
Durum tespiti
Ürün bugün müşterilere nasıl hizmet veriyor, veri nerede karışıyor ya da tekrarlanıyor.
Model kararı
Ortak mı ayrı mı; risk, maliyet ve müşterilerin sözleşmede istedikleri tartılır.
Geliştirme
Veri ayrımı, planlar, ölçüm ve yönetim; müşteriler arası sızıntı testleriyle.
Aşamalı taşıma
Mevcut müşteriler yeni altyapıya gruplar hâlinde, geri dönüş yolu açık tutularak geçer.
İzleme
Müşteri başına kullanım ve performans izlenir, limitler ayarlanır.
Teknoloji örnekleri
- PostgreSQL
- Row-Level Security
- Redis
- OpenAPI
- Kubernetes
- OpenTelemetry
İlgili hizmetler
Sık sorulan sorular
Her müşteriye ayrı veritabanı mı, herkese tek veritabanı mı?
Riske, maliyete ve müşterilerinizin sözleşmede ne istediğine bağlı. İkisi bir arada da olabilir: çoğu müşteri ortak veritabanında, isteyenler ayrı veritabanında.
Ürünü baştan yazmadan bu yapılabilir mi?
Kodun müşterileri bugün nasıl ayırdığına bağlı. Mümkünse değişiklik parça parça gelir: önce veri ayrımı, sonra planlar ve ölçüm. Neyin korunabileceğini durum tespiti gösterir.
Abonelik tahsilatı da bu hizmete giriyor mu?
Planlar ve ölçüm burada. Dönemleri ve başarısız ödemeleriyle tahsilatın kendisi yinelenen tahsilat hizmetinin işi.
Büyük bir müşteri yalnız kendisine ait bir veritabanı isterse?
O müşteriye ayrılmış, istenen bulut bölgesinde duran bir veritabanı modelin seçeneklerinden biri. Bu karar geliştirmeden önce verilir, sonra değil.
Balkan'a yazın
Projeniz için yazın