Aplikasi multi-tenant: satu sistem untuk banyak klien
Jika Anda membangun perangkat lunak yang akan dipakai banyak perusahaan, ada dua jalan: satu instalasi per klien, atau satu aplikasi yang melayani semua. Pendekatan kedua disebut multi-tenant. Ia efisien, tetapi keputusan rancangannya sulit diubah belakangan.
Apa itu multi-tenant
Dalam model ini, semua klien, disebut tenant, memakai aplikasi dan infrastruktur yang sama, tetapi datanya terpisah. Pengguna dari perusahaan A tidak boleh melihat apa pun milik perusahaan B, walaupun keduanya berada di sistem yang sama.
Keuntungannya jelas: pembaruan dilakukan sekali untuk semua, biaya hosting lebih rendah per klien, dan klien baru bisa aktif dalam hitungan menit.
Pilihan cara memisahkan data
Ada beberapa strategi dengan konsekuensi berbeda.
- Satu database bersama, setiap baris ditandai id tenant.
- Satu skema terpisah per tenant dalam database yang sama.
- Satu database sendiri per tenant untuk isolasi paling kuat.
- Gabungan: tenant kecil berbagi, tenant besar dipisah.
Risiko terbesar: kebocoran antar tenant
Kesalahan paling serius pada sistem ini adalah data satu klien tampil di klien lain. Cegah dengan membuat penyaringan tenant otomatis di lapisan paling bawah, bukan mengandalkan setiap developer mengingat menambahkan kondisi di setiap query.
Tambahkan tes otomatis khusus yang berusaha mengakses data lintas tenant dan memastikan semuanya ditolak.
Kustomisasi dan batas pemakaian
Klien biasanya ingin menyesuaikan logo, warna, atau beberapa pengaturan. Sediakan lewat konfigurasi, bukan percabangan kode. Terapkan juga batas pemakaian per tenant agar satu klien yang sangat aktif tidak memperlambat yang lain.
Penting
Rancang isolasi data sejak hari pertama. Menambahkannya belakangan nyaris sama dengan menulis ulang.
Kapan sebaiknya tidak multi-tenant
Jika klien Anda sedikit, berukuran besar, dan menuntut isolasi penuh karena regulasi, instalasi terpisah bisa lebih tepat. Pertimbangkan kebutuhan kepatuhan klien sebelum memutuskan.
Pertanyaan yang sering muncul
Ya, tanpa komitmen. Kami balas dalam 1×24 jam kerja.
Tentang Tim AnabisolutionsStudio digital dari Pekanbaru yang mengerjakan website, aplikasi, dan sistem untuk klien di Riau dan sekitarnya.
Anabisolutions

