Pendekatan arsitektur untuk solusi multi-penyewa

Azure

Ada berbagai cara untuk merancang dan membuat solusi multipenyewa di Azure. Pada satu ekstrem, Anda dapat berbagi setiap sumber daya dalam solusi Anda di antara semua penyewa Anda. Pada ekstrem lainnya, Anda dapat menyebarkan sumber daya terisolasi untuk setiap penyewa. Mungkin tampak mudah untuk menyebarkan sumber daya terpisah untuk setiap penyewa, dan dapat bekerja untuk sejumlah kecil penyewa. Namun, biasanya tidak memberikan efektivitas biaya, dan bisa menjadi sulit mengelola sumber daya Anda. Ada juga berbagai pendekatan yang sesuai antara ekstrem ini, dan semuanya memiliki tradeoff seperti skala, isolasi, efisiensi biaya, performa, kompleksitas implementasi, dan pengelolaan.

Di seluruh bagian ini, kami membahas kategori utama layanan Azure yang terdiri dari solusi, termasuk komputasi, penyimpanan dan data, jaringan, penyebaran, identitas, olahpesan, kecerdasan buatan dan pembelajaran mesin, dan IoT. Untuk setiap kategori, kami menguraikan pola dan pendekatan utama yang dapat Anda pertimbangkan saat merancang solusi multipenyewa, dan beberapa antipattern yang harus dihindari.

Pola Stempel Penyebaran

Pola Stempel Penyebaran sering digunakan dalam solusi multipenyewa. Ini melibatkan penyebaran infrastruktur khusus untuk penyewa atau untuk sekelompok penyewa. Satu stempel mungkin berisi beberapa penyewa atau mungkin khusus untuk satu penyewa.

Diagram memperlihatkan pola Stempel Penyebaran. Setiap penyewa memiliki stempel sendiri yang berisi database.

Saat menggunakan stempel penyewa tunggal, pola Stempel Penyebaran cenderung mudah diterapkan, karena setiap stempel kemungkinan tidak mengetahui yang lain, jadi tidak ada logika atau kemampuan multipenyewaan yang perlu dibuat ke dalam lapisan aplikasi. Saat setiap penyewa memiliki stempel khususnya sendiri, pola ini memberikan tingkat isolasi tertinggi, dan mengurangi masalah Tetangga yang Berisik. Ini juga memberikan opsi bagi penyewa untuk dikonfigurasi atau disesuaikan sesuai dengan kebutuhan mereka sendiri, seperti berlokasi di wilayah geopolitik tertentu atau memiliki persyaratan ketersediaan tinggi yang spesifik.

Saat menggunakan stempel multipenyewa, pola lain perlu dipertimbangkan untuk mengelola multipenyewaan di dalam stempel, dan masalah Tetangga yang Berisik mungkin masih berlaku. Namun, dengan menggunakan pola Stempel Penyebaran, Anda dapat terus menskalakan seiring dengan berkembangnya solusi Anda.

Masalah terbesar dengan pola Stempel Penyebaran, ketika digunakan untuk melayani satu penyewa, cenderung menjadi biaya infrastruktur. Saat menggunakan stempel penyewa tunggal, setiap stempel harus memiliki seperangkat infrastruktur terpisah, yang tidak dibagikan dengan penyewa lain. Anda juga perlu memastikan bahwa sumber daya yang disebarkan untuk stempel cukup untuk memenuhi beban puncak beban kerja penyewa tersebut. Pastikan model penetapan harga Anda mengimbangi biaya penyebaran untuk infrastruktur penyewa.

Stempel penyewa tunggal sering kali berfungsi dengan baik jika Anda memiliki sedikit penyewa. Seiring bertambahnya jumlah penyewa, mengelola armada stempel dapat dilakukan tetapi semakin sulit (lihat studi kasus ini sebagai contoh). Anda juga dapat menerapkan pola Stempel Penyebaran untuk membuat armada stempel multipenyewa, yang dapat memberikan keuntungan untuk berbagi sumber daya dan biaya.

Untuk menerapkan pola Stempel Penyebaran, penting untuk menggunakan pendekatan penyebaran otomatis. Bergantung pada strategi penyebaran, Anda dapat mempertimbangkan untuk mengelola stempel Anda dalam alur penyebaran, dengan menggunakan infrastruktur deklaratif sebagai kode, seperti template Bicep, ARM, atau template Terraform. Atau, Anda dapat mempertimbangkan untuk membuat kode kustom untuk menyebarkan dan mengelola setiap stempel, seperti dengan menggunakan Azure SDK.

Audiens yang dituju

Artikel di bagian ini dimaksudkan untuk berguna bagi arsitek solusi dan pengembang utama aplikasi multipenyewa, termasuk vendor perangkat lunak independen (ISV) dan startup yang mengembangkan solusi SaaS. Sebagian besar panduan di bagian ini bersifat umum dan berlaku untuk beberapa layanan Azure dalam suatu kategori.

Langkah berikutnya

Sebaiknya tinjau pendekatan untuk organisasi sumber daya dalam solusi multipenyewa sebelum meninjau panduan tentang kategori layanan Azure tertentu.