20 poin oleh xguru 2022-03-28 | Belum ada komentar. | Bagikan ke WhatsApp

"Multitenancy adalah fondasi tersembunyi yang membuat skalabilitas SaaS menjadi luar biasa"

  • Margin tinggi dan skalabilitas yang tampak nyaris tak terbatas dari model SaaS adalah alasan pasar saham/investor/pendiri startup berbondong-bondong masuk ke bidang ini
  • Yang memungkinkan hal itu adalah infrastruktur, khususnya konsep "multitenancy"
  • Saat ini hampir semua perusahaan menggunakan cloud dan SaaS, dan inti dari implementasi solusi cloud adalah multitenancy
  • Pendiri Salesforce, Marc Benioff, mengatakan bahwa "multitenancy adalah syarat penting agar vendor SaaS bisa berhasil"
  • Jadi, apa sebenarnya multitenancy dan mengapa hal itu penting?

Multitenancy: membangun sistem kereta bawah tanah

  • Mari pahami single tenancy terlebih dahulu
    • Setiap pelanggan menggunakan satu aplikasi dan database yang unik
    • Artinya, jika ada 100 pelanggan, maka ada 100 server, 100 aplikasi, dan 100 DB
    • Single tenancy membutuhkan banyak waktu, uang, dan upaya untuk dipelihara dalam skala besar
  • Jika dipikirkan dari sudut pandang transportasi, untuk berangkat kerja kita bisa mengemudi atau naik kereta bawah tanah
    • Mengemudi memang nyaman, tetapi harus membayar biaya mobil, bahan bakar, parkir, serta biaya tambahan akibat kemacetan dan polusi
    • Naik kereta bawah tanah relatif murah, membantu menjaga jalan tetap bersih, dan lebih sedikit merusak lapisan ozon
  • Jika semua 50 ribu pekerja di World Trade Center (WTC) pergi dengan mobil, akan tercipta satu sistem yang sangat rumit
  • Karena itu, muncullah multitenancy seperti sistem kereta bawah tanah untuk menurunkan biaya dan overhead, sekaligus sangat mengurangi "kekacauan" lingkungan

Mengapa sekarang?

  • Mengapa beralih ke kereta bawah tanah? Jika memang sebaik itu, kenapa hal ini tidak dipilih sejak dulu?
  • Jawabannya ada pada "cloud". Popularitas cloud computing dan bisnis SaaS sedang meledak
  • Jika melihat pasar publik, perusahaan-perusahaan yang dulu memasok produk self-hosting kini dengan cepat mengalihkan fokus ke cloud
  • Perusahaan seperti Atlassian, Autodesk, Elastic, dan Microsoft menyediakan solusi cloud-hosted dan mencatat pertumbuhan pendapatan yang eksplosif
  • Atlassian menambah lebih dari 10 ribu pelanggan hanya pada kuartal lalu. Jika 10 ribu pelanggan itu dipertahankan dengan single tenancy, perusahaan akan kesulitan karena pekerjaan engineering per pelanggan, pengelolaan sumber daya, kompleksitas, dan terkurasnya talenta yang seharusnya menyelesaikan masalah bisnis inti
  • Karena itu, startup tahap awal mungkin memilih memulai dari lingkungan single tenancy yang 'quick-and-dirty' (dibuat cepat dan sederhana), tetapi ketika mulai membesar dan bertumbuh, mereka pada akhirnya akan menghadapi technical debt yang hanya bisa diselesaikan dalam lingkungan multitenant
  • Seiring pertumbuhan cloud computing dan bisnis SaaS, overhead solusi single-tenant juga membesar, dan kebutuhan terhadap multitenancy pun meningkat

Keunggulan multitenancy

  • Multitenancy memberi banyak keajaiban bagi vendor SaaS
  • Kemampuan berbagi infrastruktur di seluruh basis pelanggan adalah game changer
  • Selain skala, ada beberapa rahasia lain dari manfaat yang diberikan multitenancy

Margin penjualan (Margins)

  • Memanfaatkan infrastruktur bersama berdampak langsung pada keuntungan vendor, semakin tinggi tingkat pemakaian infrastrukturnya
  • Multitenant membutuhkan lebih sedikit sumber daya baik secara langsung (dari sisi cost of goods sold) maupun tidak langsung (karena personel inti bisa memfokuskan energi ke tempat lain), dalam hal tenaga kerja dan biaya software/hardware
  • Hasilnya, margin kotor meningkat dan pada akhirnya tercipta free cash flow yang bisa membuat perusahaan memperoleh valuasi lebih tinggi di pasar

Visibilitas (Visibility)

  • Penggunaan multitenancy sangat menguntungkan untuk memahami performa infrastruktur atau mengetahui apakah biaya tercermin pada kelompok pelanggan tertentu
    • Data harus bisa di-query baik secara gabungan maupun per pelanggan
  • Dalam infrastruktur single-tenant, data pelanggan tersebar sehingga sangat sulit menganalisis metrik lintas pelanggan
  • Namun, dalam infrastruktur multitenant, kita dapat melihat seluruh basis pelanggan dan mengidentifikasi tren makro
    • Hal ini bisa diamati pada level logging, unit DB, atau pemantauan performa aplikasi, sehingga menjadi keuntungan besar bagi tim lintas fungsi

Kompleksitas multitenancy

  • Setiap "keajaiban" punya masalah, dan multitenancy pun tidak terkecuali

Masalah 1: ketersediaan dan noisy neighbor

  • Misalkan sebuah e-commerce menyimpan seluruh data pelanggan dalam satu DB, sebagian besar pengguna hanya membeli satu atau dua barang per bulan, tetapi ada satu pengguna yang membeli 5 ribu barang setiap hari
    • Jika DB tidak cukup kuat untuk menangani lonjakan beban dari pelanggan seperti itu, seluruh DB bisa down dan pelanggan lain tidak bisa berbelanja
  • Ini adalah tantangan besar, dan berujung pada keputusan data partitioning
    • Partisi silo (DB terpisah per tenant) vs. partisi pooled (DB dibagi antar tenant)
    • Partisi silo dapat menyelesaikan masalah beberapa pelanggan, tetapi itu berarti kembali ke masalah semula: harus mengelola begitu banyak instance
    • Partisi pooled bekerja dengan baik, tetapi jika satu pelanggan menimbulkan beban dan memicu masalah, sistem bisa melambat atau bahkan down

Masalah 2: sumber daya bersama dan keamanan data

  • Karena semua pelanggan menggunakan sumber daya yang sama, dan tidak ada implementasi standar baku untuk multitenant, bisa muncul bug teknis yang menyebabkan data saling tercampur antar tenant.
  • Jika pada saat yang sama melayani pelanggan yang saling bersaing, ini bisa menjadi masalah yang sangat berbahaya
  • Tim teknis perlu mengevaluasi Data Sovereignty Laws dan regulasi lain yang memengaruhi isolasi tenant

Mengatasi kompleksitas

  • Multitenant telah menjadi salah satu pilar utama aplikasi SaaS, tetapi masih ada banyak kompleksitas yang harus dipertimbangkan pada tahap implementasi.
  • CEO Cloudinary menekankan bahwa "multitenancy adalah kunci untuk mencapai operational excellence, tetapi untuk melakukannya dengan benar dibutuhkan banyak pengetahuan dan investasi".
  • Boldstart dan F2 (yang menulis artikel ini) telah berinvestasi pada startup yang memecahkan masalah multitenancy ini (saat ini masih stealth mode)
  • Ada banyak hal yang rumit dalam sistem multitenant, tetapi jika memikirkan technical debt yang muncul saat melakukan scale-up pada sistem single-tenant, sebenarnya tidak perlu ragu lagi
    • Karena untuk menyelesaikan technical debt itu, perusahaan harus mengerahkan tim engineer terbaik dan menghabiskan sumber daya pada hal-hal yang bukan bisnis inti
    • Startup yang cerdas memilih merencanakan, membangun, dan memelihara lingkungan multitenant sejak awal

Belum ada komentar.

Belum ada komentar.