20 puan yazan xguru 2022-03-28 | Henüz yorum yok. | WhatsApp'ta paylaş

"Multitenancy, SaaS'ın ölçeklenebilirliğini harika kılan gizli temelidir"

  • SaaS modelinin yüksek marjları ve sonsuzmuş gibi görünen ölçeklenebilirliği, borsa/piyasa yatırımcıları/girişimcilerin bu alana yönelmesinin nedeni
  • Bunu mümkün kılan şey ise altyapı; özellikle de "multi-tenancy" kavramı
  • Günümüzde neredeyse tüm şirketler bulut ve SaaS kullanıyor; bulut çözümü uygulamanın kilit noktası da multi-tenancy
  • Salesforce'un kurucusu Marc Benioff, "Multi-tenancy, SaaS sağlayıcılarının başarılı olması için zorunludur" demişti
  • Peki multi-tenancy tam olarak nedir ve neden önemlidir?

Multi-tenancy: metro sistemi kurmak

  • Önce single-tenancy'yi anlayalım
    • Her müşteri kendine ait benzersiz bir uygulama ve veritabanı kullanır
    • Yani 100 müşteriniz varsa 100 sunucu, 100 uygulama ve 100 veritabanınız var demektir
    • Single-tenancy'yi büyük ölçekte sürdürmek çok zaman, para ve emek ister
  • Ulaşım açısından düşünürsek işe gitmek için araba sürebilir ya da metroya binebilirsiniz
    • Araba sürmek rahattır ama araç maliyeti, yakıt, otopark, ayrıca trafik sıkışıklığı ve kirlilik gibi bedelleri vardır
    • Metroya binmek görece ucuzdur, yolları daha temiz tutar ve ozon tabakasına daha az zarar verir
  • World Trade Center'daki (WTC) 50 bin çalışanın tamamı işe arabayla gitse ortaya son derece karmaşık bir sistem çıkardı
  • Bu yüzden, maliyet ve genel giderleri azaltmak ve ortamdaki 'kaosu' büyük ölçüde düşürmek için metro gibi multi-tenancy ortaya çıktı

Neden şimdi?

  • İnsanlar neden metroya geçiyor? Bu gerçekten bu kadar iyiyse neden bugüne kadar tercih edilmedi?
  • Cevap "bulut"ta yatıyor. Bulut bilişim ve SaaS işlerinin popülerliği patlayıcı biçimde artıyor
  • Halka açık piyasaya bakıldığında, eskiden self-hosted ürünler sunan şirketlerin hızla buluta yöneldiği görülüyor
  • Atlassian, Autodesk, Elastic ve Microsoft gibi şirketler bulut barındırma çözümleri sunarak patlayıcı gelir büyümesi yaşıyor
  • Atlassian yalnızca geçen çeyrekte 10 binden fazla müşteri ekledi. Bu 10 bin müşteriyi single-tenancy ile sürdürmeye çalışsaydı, ayrı ayrı mühendislik işleri, kaynak yönetimi, artan karmaşıklık ve temel iş sorunlarını çözecek yetenek kıtlığı nedeniyle şirket zor duruma düşerdi
  • Bu nedenle erken aşama girişimler hızlı ve kaba bir single-tenancy ortamıyla başlamayı seçebilir; ancak ölçek büyüyüp şirket gelişmeye başladığında, kaçınılmaz olarak yalnızca multi-tenant bir ortamda çözülebilecek teknik borçla karşılaşırlar
  • Bulut bilişim ve SaaS işi büyüdükçe, single-tenant çözümlerin overhead'i de artıyor ve multi-tenancy ihtiyacı güçleniyor

Multi-tenancy'nin avantajları

  • Multi-tenancy, SaaS sağlayıcılarına pek çok sihirli avantaj kazandırır
  • Müşteri tabanının geneline yayılan ortak altyapıyı kullanabilme yeteneği oyunun kurallarını değiştirir
  • Multi-tenancy'nin sunduğu avantajlar arasında ölçeğin dışında da bazı gizli faydalar vardır

Satış kârlılığı (Margins)

  • Paylaşılan altyapıdan yararlanmak, altyapı daha fazla kullanıldıkça sağlayıcının kârlılığını doğrudan etkiler
  • Multi-tenant yapı; insan gücü ve yazılım/donanım maliyetleri açısından hem doğrudan (satılan ürünün maliyeti bakımından) hem dolaylı olarak (kritik personelin enerjisini başka yerlere odaklayabilmesi bakımından) daha az kaynak gerektirir
  • Bunun sonucunda toplam marj artar ve nihayetinde piyasada daha yüksek değerleme almayı mümkün kılan serbest nakit akışı (Free Cash Flow) oluşur

Görünürlük (Visibility)

  • Multi-tenancy kullanımı, altyapının performansını anlamak veya maliyetlerin belirli müşteri gruplarına nasıl yansıdığını görmek açısından çok avantajlıdır
    • Veriler, toplu ya da müşteri bazında sorgulanabilir olmalıdır
  • Single-tenant altyapıda müşteri verileri dağınık olduğundan, müşteriler arası metrikleri analiz etmek çok zordur
  • Ancak multi-tenant altyapıda, tüm müşteri tabanına bakarak makro eğilimleri görmek mümkündür
    • Bu, loglama, veritabanı düzeyi ya da uygulama performans izleme düzeyinde görülebilir ve cross-functional ekipler için büyük avantaj sağlar

Multi-tenancy'nin karmaşıklığı

  • Her 'sihir'in bir bedeli vardır ve multi-tenancy de istisna değildir

Sorun 1: erişilebilirlik ve gürültülü komşu

  • Diyelim ki bir e-ticaret şirketi tüm müşteri verilerini tek bir veritabanında tutuyor; çoğu kullanıcı ayda bir iki ürün alırken bir kullanıcının her gün 5 bin ürün satın aldığını varsayalım
    • Eğer veritabanı bu müşterinin aniden yükselen yükünü karşılayacak kadar güçlü değilse, tüm veritabanı çökebilir ve diğer müşteriler alışveriş yapamayabilir
  • Bu büyük bir zorluktur ve veri bölümlendirme kararına götürür
    • Silo partitioning (tenant başına ayrı DB) vs. pooled partitioning (tenant'lar arasında paylaşılan DB)
    • Silo partitioning bazı müşterilerin sorunlarını çözebilir; ancak bu kez başlangıçtaki probleme geri dönülür ve sayısız instance yönetmek gerekir
    • Pooled partitioning iyi çalışır; ancak tek bir müşteri yük oluşturup sorun çıkardığında yavaşlamaya ya da sistem çökmesine yol açabilir

Sorun 2: paylaşılan kaynaklar ve veri güvenliği

  • Tüm müşteriler aynı kaynakları kullandığından ve multi-tenant için tek bir standart uygulama bulunmadığından, farklı tenant'lar arasında verilerin karışmasına yol açan teknik hatalar oluşabilir
  • Birbiriyle rekabet eden müşterilere aynı anda hizmet veriliyorsa bu son derece tehlikeli olabilir
  • Teknik ekipler, Data Sovereignty Laws ve tenant izolasyonunu etkileyen düzenlemeleri değerlendirmelidir

Karmaşıklığı çözmek

  • Multi-tenant yapı SaaS uygulamalarının ana sütunlarından biri haline geldi, ancak uygulama aşamasında hâlâ dikkate alınması gereken çok sayıda karmaşıklık var
  • Cloudinary CEO'su, "Multi-tenancy operasyonel mükemmelliğe ulaşmanın anahtarıdır; ancak bunu doğru yapmak çok fazla bilgi ve yatırım gerektirir" diye vurguluyor
  • Bu yazıyı kaleme alan Boldstart ve F2, multi-tenancy'nin bu sorunlarını çözen bir girişime (şu anda stealth modda) yatırım yaptı
  • Multi-tenant sistemlerde pek çok karmaşık unsur vardır; ancak single-tenant sistemlerin ölçeklenirken yarattığı teknik borç düşünüldüğünde artık fazla düşünmeye gerek yoktur
    • Çünkü bu teknik borcu çözmek için en iyi mühendis ekiplerini devreye almak ve kaynakları ana iş olmayan alanlara harcamak gerekir
    • Akıllı girişimler ise en baştan multi-tenant bir ortamı planlayıp inşa etmeyi ve sürdürmeyi seçiyor

Henüz yorum yok.

Henüz yorum yok.