Bagikan melalui


Aplikasi Wingtip Tickets SaaS

Berlaku untuk:Azure SQL Database

Aplikasi Wingtip Tickets SaaS yang sama diimplementasikan di masing-masing dari tiga sampel. Aplikasi ini adalah daftar acara sederhana dan tiket aplikasi SaaS yang menargetkan tempat-tempat kecil: teater, klub, dan sebagainya. Setiap tempat adalah penyewa aplikasi, dan memiliki datanya sendiri, seperti detail tempat, daftar acara, pelanggan, pesanan tiket, dan sebagainya. Aplikasi ini, bersama dengan skrip dan tutorial manajemen, menampilkan skenario SaaS end-to-end. Ini termasuk proses provisi penyewa, pemantauan dan pengelolaan performa, manajemen skema, dan pelaporan lintas penyewa, dan analitik.

Tiga aplikasi SaaS dan pola penyewaan

Tersedia tiga versi aplikasi; masing-masing mengeksplorasi pola penyewaan database yang berbeda pada Azure SQL Database. Aplikasi pertama menggunakan aplikasi mandiri per penyewa dengan databasenya sendiri. Yang kedua menggunakan aplikasi multipenyewa dengan database per penyewa. Contoh ketiga menggunakan aplikasi multipenyewa dengan database multipenyewa yang terpecah.

Diagram dari tiga pola penyewaan.

Setiap sampel mencakup kode aplikasi, serta skrip manajemen dan tutorial yang menjelaskan berbagai desain dan pola manajemen. Setiap sampel disebarkan dalam waktu kurang dari lima menit. Ketiga aplikasi tersebut dapat disebarkan secara berdampingan sehingga Anda bisa membandingkan perbedaan desain dan manajemen.

Pola aplikasi mandiri per penyewa

Pola aplikasi mandiri per penyewa menggunakan aplikasi penyewa tunggal dengan database untuk setiap penyewa. Setiap aplikasi penyewa, termasuk databasenya, disebarkan ke dalam grup sumber daya Azure terpisah. Grup sumber daya dapat disebarkan dalam langganan penyedia layanan atau langganan penyewa, dan dikelola oleh penyedia atas nama penyewa. Pola aplikasi mandiri per penyewa menyediakan isolasi penyewa terbesar, tetapi biasanya yang paling mahal karena tidak ada kesempatan untuk berbagi sumber daya antara beberapa penyewa. Pola ini sangat cocok untuk aplikasi yang mungkin lebih kompleks dan yang disebarkan untuk jumlah penyewa yang lebih kecil. Dengan penyebaran mandiri, aplikasi dapat disesuaikan untuk setiap penyewa dengan lebih mudah daripada dalam pola lain.

Periksa tutorial dan kode di GitHub .../Microsoft/WingtipTicketsSaaS-StandaloneApp.

Pola database per penyewa

Pola database per penyewa efektif untuk penyedia layanan yang memperhatikan isolasi penyewa dan ingin menjalankan layanan terpusat yang memungkinkan penggunaan sumber daya bersama yang hemat biaya. Database dibuat untuk setiap tempat atau penyewa, dan semua database dikelola secara terpusat. Database dapat dihosting di kumpulan elastis untuk menyediakan manajemen performa yang hemat biaya dan mudah, yang mengelola pola beban kerja penyewa yang tidak dapat diprediksi. Database katalog menyimpan pemetaan antara penyewa dan database mereka. Pemetaan ini dikelola menggunakan fitur manajemen peta pecahan dari Pustaka Klien Database Elastis, yang menyediakan manajemen koneksi yang efisien untuk aplikasi.

Periksa tutorial dan kode di GitHub .../Microsoft/WingtipTicketsSaaS-DbPerTenant.

Pola database multipenyewa yang terpartisi

Basis data multitenant efektif untuk penyedia layanan yang mencari biaya lebih rendah per penyewa dan dapat menerima pengurangan tingkat isolasi penyewa. Pola ini memungkinkan pengelompokan sejumlah besar penyewa ke dalam database individual, mengurangi biaya per penyewa. Anda dapat memiliki skala yang hampir tidak terbatas dengan membagi penyewa di beberapa database. Database katalog memetakan penyewa ke database.

Pola ini juga memungkinkan model hibrid, di mana Anda dapat mengoptimalkan biaya dengan banyak penyewa dalam satu basis data, atau mengoptimalkan isolasi dengan satu penyewa dalam basis data mereka sendiri. Pilihan dapat dibuat berdasarkan setiap penyewa, baik ketika penyewa ditentukan atau di kemudian hari, tanpa berpengaruh pada aplikasi. Model ini dapat digunakan secara efektif ketika beberapa kelompok penyewa perlu diperlakukan secara berbeda. Misalnya, penyewa berbiaya rendah dapat ditetapkan ke database bersama, sedangkan penyewa premium dapat ditetapkan ke database mereka sendiri.

Lihat tutorial Wingtips dan kode WingtipTicketsSaaS-MultiTenantDB di GitHub](https://github.com/Microsoft/WingtipTicketsSaaS-MultiTenantDb).