İçeriğe geç
Balkan Tecnologia

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

Telefon boyutundaki boş beyaz bir levhanın altından geçen nane yeşili iplik.

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

  1. Durum tespiti

    Ürün bugün müşterilere nasıl hizmet veriyor, veri nerede karışıyor ya da tekrarlanıyor.

  2. Model kararı

    Ortak mı ayrı mı; risk, maliyet ve müşterilerin sözleşmede istedikleri tartılır.

  3. Geliştirme

    Veri ayrımı, planlar, ölçüm ve yönetim; müşteriler arası sızıntı testleriyle.

  4. Aşamalı taşıma

    Mevcut müşteriler yeni altyapıya gruplar hâlinde, geri dönüş yolu açık tutularak geçer.

  5. İ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