Multi-tenancy (multi-tenancy) adalah fitur arsitektur perangkat lunak yang memungkinkan aplikasi melayani beberapa tenant independen. Pengguna tidak saling mengganggu, datanya disimpan secara independen dan aman, dan pengembang dapat dengan cepat meluncurkan versi produk dengan kemampuan teknis yang berbeda.
Pertama-tama, multi-tenancy dibutuhkan oleh produk SaaS, tetapi tidak hanya. Pendekatan ini digunakan di mana pun perusahaan mendukung beberapa versi dari produk yang sama secara paralel.
Contohnya:
Satu divisi perusahaan menjual layanan kepada klien swasta, divisi lainnya bekerja dengan badan hukum. Dalam kedua kasus tersebut, karyawan menggunakan sistem penjualan yang sama, tetapi mereka memerlukan serangkaian fungsi yang berbeda.
Sebuah organisasi membeli perusahaan pihak ketiga, dan harus terhubung ke aplikasi yang digunakan oleh semua karyawan di perusahaan. Dalam hal ini, data dari dua struktur harus diproses secara independen, harus ada namespace independen.
Perusahaan membuat versi berbeda dari produk yang sama, yang dirancang untuk kelompok pengguna yang berbeda. Inti dari solusinya tetap satu, dan kapabilitasnya berubah tergantung pada apa yang dibutuhkan pelanggan.
, , , , . , , .
, . , .
-
- . , :
.
-, , - , .
- -.
, .
1. , , , .
, . , .
. , .
2. , , .
. URL .
, β . , , , .
3. , , .
, . , . , . , .
, . β , , .
,
, .
Feature-driven Development (Trunk-based Development). , .
Dengan transisi ke Pengembangan Berbasis Batang, kami merekomendasikan untuk memulai jalur menuju multi-tenancy. Hal ini memungkinkan pengembang untuk melihat produk sebagai sekumpulan fungsi dari mana versi paralel dapat dikompilasi.