SaaS şirketlerinin sırrı: Multi-tenancy neden önemli?
(shomik.substack.com)"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.