Bagikan melalui


Pendekatan arsitektur untuk lapisan kontrol dalam solusi multi-tenant

Pesawat kendali adalah bagian penting dari solusi perangkat lunak sebagai layanan (SaaS) dan multitenansi. Mereka membantu mengelola solusi dalam skala besar. Biasanya, sarana kontrol terdiri dari dua komponen utama:

  • Katalog penyewa, yang menyimpan informasi penting tentang penyewa, termasuk informasi berikut:

    • Konfigurasi penyewa
    • SKU yang disebarkan untuk sumber daya penyewa
    • Di mana tanda alokasi penyebaran diberikan kepada penyewa
  • Proses yang mengelola perubahan pada lingkungan. Peristiwa siklus hidup penyewa memicu proses ini. Contohnya termasuk penerimaan penyewa baru, penghentian penyewa, dan pemeliharaan yang diperlukan secara rutin.

Sarana kontrol berfungsi sebagai aplikasi. Anda harus merancang bidang kendali Anda dengan ketelitian dan kehati-hatian yang sama yang Anda terapkan ke bagian lain dari solusi Anda. Untuk informasi selengkapnya tentang apa itu sarana kontrol, mengapa penting, dan pertimbangan desain, lihat Pertimbangan untuk sarana kontrol multipenyewa.

Artikel ini menjelaskan pendekatan yang dapat Anda gunakan untuk merancang dan membuat sarana kontrol. Setiap pendekatan valid, tetapi arsitektur yang berbeda di luar panduan ini mungkin lebih sesuai dengan skenario spesifik Anda.

Pendekatan dan pola yang perlu dipertimbangkan

Tabel berikut ini meringkas perbedaan antara pendekatan manual, kode rendah, dan kustom untuk sarana kontrol.

Pertimbangan Buku Petunjuk Kode rendah Kustom
Overhead operasional Tinggi Rendah-sedang Kurang Penting
Frekuensi peristiwa siklus hidup yang didukung pendekatan Langka Kadang-kadang-sering Sering
Waktu dan kompleksitas untuk diimplementasikan Kurang Penting Menengah Tinggi
Tanggung jawab pemeliharaan sarana kontrol Kurang Penting Menengah Tinggi
Kemampuan uji Kurang Penting Menengah Tinggi
Risiko inkonsistensi Tinggi Menengah ke bawah Kurang Penting

Proses manual

Anda tidak selalu perlu membangun sarana kontrol yang sepenuhnya otomatis, terutama ketika Anda memulai hanya dengan beberapa penyewa.

Anda bisa menyimpan katalog penyewa di lokasi pusat, seperti buku kerja Excel atau file JSON yang disimpan di lokasi yang bisa diakses tim Anda. Terlepas dari formatnya, Anda harus menyimpan informasi dengan cara terstruktur sehingga Anda dapat dengan mudah bekerja dengan data secara terprogram.

Nota

Sarana kontrol manual berfungsi dengan baik sebagai titik awal untuk mengelola aplikasi multipenyewa Anda, tetapi hanya cocok untuk kurang dari 10 penyewa. Overhead administratif dan risiko inkonsistensi meningkat dengan setiap penyewa yang di-onboarding secara manual. Gunakan pendekatan ini hanya jika Anda memiliki beberapa penyewa dan tidak memerlukan onboarding otomatis atau layanan mandiri.

Pertimbangkan faktor-faktor berikut untuk proses seperti onboarding penyewa dan aktivitas pemeliharaan:

  • Buat skrip atau alur otomatis jika memungkinkan, bahkan jika Anda menjalankannya secara manual. Skrip atau alur membantu langkah-langkah berjalan secara konsisten untuk setiap penyewa.

  • Untuk tugas yang awalnya tidak dapat Anda skrip, dokumentasikan prosesnya dengan langkah-langkah yang jelas dan terperinci. Jelaskan bagaimana dan mengapa. Informasi ini membantu orang lain mengotomatiskan tugas di masa mendatang.

Diagram berikut menunjukkan pendekatan proses manual untuk sarana kontrol awal.

Diagram yang menunjukkan salah satu cara untuk menggunakan skrip dan proses manual lainnya untuk sarana kontrol.

Unduh file Visio dari arsitektur ini.

Keuntungan dari pendekatan manual

  • Ringan: Dokumentasi, skrip, dan alur mudah dikembangkan dan dimodifikasi. Fleksibilitas ini membuatnya ideal ketika Anda mencari tahu proses Anda karena Anda dapat dengan cepat melakukan iterasi dan mengembangkannya.

  • Biaya rendah: Mempertahankan dan menjalankan pendekatan manual tidak murah.

  • Validasi proses: Pendekatan manual berfungsi sebagai bukti konsep. Ini memungkinkan Anda untuk menguji dan mengonfirmasi strategi pemeliharaan Anda sebelum Anda menerapkan waktu dan sumber daya untuk membangun otomatisasi penuh.

Kerugian dari pendekatan manual

  • Kurangnya kontrol: Pendekatan ini bergantung pada semua orang yang terlibat melakukan hal yang benar. Seseorang mungkin menyimpang dari proses yang ditentukan, baik secara tidak sengaja atau sengaja. Setiap variasi dalam proses meningkatkan risiko inkonsistensi di lingkungan Anda, yang membuat manajemen yang sedang berlangsung sulit.

  • Tantangan kontrol akses: Pendekatan ini sering membutuhkan akses yang terlingkup luas dan sangat permisif ke operator solusi Anda. Akses ini menyulitkan penerapan praktik terbaik segmentasi akses .

  • Skalabilitas: Pekerjaan yang diperlukan untuk menjalankan proses manual bertambah seiring dengan jumlah penyewa yang perlu Anda kelola.

  • Kemampuan uji: Proses manual sulit divalidasi dan diuji.

Kapan harus mempertimbangkan untuk menjauh dari pendekatan manual

  • Ketika tim Anda tidak dapat mengikuti beban kerja yang diperlukan untuk mempertahankan aplikasi. Skenario ini sering terjadi ketika jumlah penyewa melebihi ambang yang dapat dikelola, biasanya antara 5 dan 10 penyewa.

  • Ketika Anda mengantisipasi peningkatan penyewa di luar jumlah penyewa yang kritis, dan Anda perlu mempersiapkan tuntutan dalam mengelola penyewa dalam jumlah besar.

  • Ketika Anda perlu mengurangi risiko inkonsistensi. Misalnya, Anda mungkin mengamati kesalahan yang terjadi karena seseorang tidak mengikuti proses dengan benar atau karena proses yang tidak jelas. Risiko inkonsistensi meningkat karena semakin banyak penyewa diintegrasikan secara manual dan saat tim Anda berkembang.

Sarana kontrol kode rendah

Sarana kontrol kode rendah atau tanpa kode menggunakan platform yang dirancang untuk mengotomatiskan proses bisnis dan melacak informasi. Banyak platform, termasuk Microsoft Power Platform, memungkinkan Anda melakukan tugas-tugas ini tanpa menulis kode kustom.

Jika Menggunakan Microsoft Power Platform, Anda dapat menyimpan katalog penyewa di Dynamics 365, Dataverse, atau Microsoft 365. Anda juga dapat menyimpan katalog penyewa yang sama dengan yang Anda gunakan untuk proses manual jika Anda tidak ingin sepenuhnya berkomitmen untuk mengotomatiskan semuanya pada awalnya.

Untuk onboarding dan pemeliharaan penyewa, Anda dapat menggunakan Power Automate untuk menjalankan alur kerja yang melakukan manajemen penyewa, mengonfigurasi penyewa, dan memicu alur atau panggilan API. Power Automate dapat memantau perubahan pada katalog penyewa Anda jika memiliki akses ke data. Jika Anda menggunakan katalog penyewa manual, Anda dapat memicu alur kerja Power Automate secara manual. Sertakan langkah-langkah persetujuan manual dalam alur kerja Anda saat Anda memerlukan anggota tim untuk memverifikasi atau menyelesaikan tugas yang tidak dapat Anda otomatisasi sepenuhnya.

Pendekatan ini juga mendukung pendaftaran layanan mandiri untuk pelanggan Anda. Aplikasi web Anda dapat membuat entri katalog penyewa secara otomatis tanpa keterlibatan manusia.

Diagram berikut menunjukkan cara menggunakan Microsoft Power Platform untuk membuat sarana kontrol yang memiliki pendaftaran layanan mandiri.

Diagram yang memperlihatkan cara menggunakan Power Automate dan Dataverse sebagai sarana kontrol kode rendah.

Unduh file Visio dari arsitektur ini.

Keuntungan dari pendekatan kode rendah

  • Ringan: Anda dapat dengan cepat dan terjangkau membuat alur kerja dengan sedikit pengkodean dan mengintegrasikannya ke sistem di sekitarnya.

  • Menggunakan alat platform: Anda dapat menggunakan fitur platform asli untuk menyimpan data, membuat portal administratif untuk tim Anda, dan memantau alur kerja. Pendekatan ini mengurangi kebutuhan untuk mengembangkan dan memelihara komponen kustom.

  • Disesuaikan: Anda dapat memperluas alur kerja dengan kode kustom saat diperlukan. Misalnya, Power Automate dapat memicu alur kerja penyebaran di GitHub Actions atau memanggil Azure Functions untuk menjalankan kode Anda. Fleksibilitas ini membantu memfasilitasi implementasi otomatisasi bertahap.

  • Overhead rendah: Layanan kode rendah biasanya dikelola sepenuhnya, sehingga Anda tidak perlu mengelola infrastruktur.

Kerugian dari pendekatan kode rendah

  • Keahlian yang diperlukan: Platform kode rendah sering memerlukan pengetahuan kepemilikan untuk membangun dan mengelola proses secara efektif. Banyak organisasi sudah menggunakan alat-alat ini, sehingga tim Anda mungkin memiliki keahlian yang diperlukan, atau Anda mungkin perlu memberikan pelatihan.

  • Direksi: Mungkin sulit untuk menangani manajemen konfigurasi kode rendah dalam jumlah besar.

  • Kemampuan uji: Dalam platform terkelola, membuat proses DevOps yang khas untuk menguji dan mempromosikan perubahan lebih sulit. Anda biasanya membuat perubahan melalui konfigurasi, bukan kode.

  • Desain: Platform kode rendah sering mengelola persyaratan nonfungsi, tetapi Anda masih perlu memverifikasi bahwa platform tersebut memenuhi standar Anda. Evaluasi dengan cermat cara memenuhi persyaratan ini, seperti keamanan dan keandalan.

Kapan harus mempertimbangkan untuk menjauh dari pendekatan kode rendah

Akhirnya, persyaratan Anda mungkin menjadi sangat kompleks sehingga Anda tidak dapat memasukkannya dengan sensitif dalam solusi kode rendah. Ketika Anda perlu mengatasi batasan alat untuk memenuhi kebutuhan Anda, Anda harus menjauh dari solusi terkelola dan menuju sarana kontrol kustom.

Bidang kontrol kustom

Anda dapat memilih untuk membuat lapisan kontrol yang sepenuhnya terpersonalisasi. Opsi ini memberikan fleksibilitas dan daya terbanyak, tetapi juga membutuhkan pekerjaan paling banyak.

Katalog penyewa biasanya disimpan dalam database. Anda tidak bekerja langsung dengan katalog. Sebagai gantinya, Anda mengelolanya melalui antarmuka administratif, seperti aplikasi kustom atau sistem seperti aplikasi manajemen hubungan pelanggan (CRM) organisasi Anda.

Anda biasanya membuat sekumpulan komponen sarana kontrol untuk mendukung fungsi administratif penyewa Anda. Komponen-komponen ini dapat mencakup portal administratif atau antarmuka pengguna lainnya, API, dan komponen pemrosesan latar belakang. Jika Anda perlu menyebarkan kode atau infrastruktur saat peristiwa siklus hidup penyewa terjadi, Anda juga dapat menambahkan alur penyebaran ke sarana kontrol Anda.

Pastikan pemrosesan jangka panjang menggunakan alat yang sesuai. Misalnya, Anda dapat menggunakan Durable Functions atau Azure Logic Apps untuk komponen yang mengatur onboarding penyewa, mengelola penyebaran, atau memerlukan komunikasi dengan sistem eksternal.

Seperti pendekatan kode rendah, pendekatan ini memungkinkan Anda untuk menyediakan pendaftaran layanan mandiri kepada pelanggan Anda. Aplikasi web Anda dapat langsung menambahkan rekaman ke katalog penyewa Anda tanpa intervensi manusia.

Diagram berikut menunjukkan cara membuat sarana kontrol kustom dasar yang menyediakan pendaftaran layanan mandiri.

Diagram yang mengilustrasikan sarana kontrol yang dibuat dengan Durable Functions, database SQL, dan bus layanan.

Unduh file Visio dari arsitektur ini.

Keuntungan dari pendekatan kustom

  • Fleksibilitas penuh dan penyesuaian: Anda memiliki kontrol penuh atas fungsionalitas sarana kontrol Anda dan dapat memodifikasinya jika kebutuhan Anda berubah.

  • Kemampuan uji: Anda dapat menggunakan siklus hidup pengembangan perangkat lunak standar untuk aplikasi sarana kontrol Anda dan menerapkan pendekatan umum untuk pengujian dan penyebaran, seperti yang Anda lakukan untuk aplikasi utama Anda.

Kerugian dari pendekatan kustom

  • Tanggung jawab pemeliharaan: Pendekatan ini membutuhkan lebih banyak overhead pemeliharaan karena Anda perlu membuat semuanya sendiri. Sarana kontrol sama pentingnya dengan bagian lain dari aplikasi Anda. Anda perlu berhati-hati mengembangkan, menguji, dan mengoperasikan sarana kontrol Anda untuk memastikan keandalan dan keamanannya.

Pendekatan hybrid

Anda juga dapat mempertimbangkan pendekatan hibrid yang menggabungkan sistem manual dan otomatis. Atau Anda mungkin menggunakan platform terkelola seperti Microsoft Power Platform dan menambahnya dengan aplikasi kustom. Pertimbangkan untuk menerapkan pendekatan hibrid jika Anda memerlukan fleksibilitas sarana kontrol kustom tetapi tidak ingin membangun dan memelihara sistem kustom sepenuhnya. Namun, perlu diingat bahwa kustomisasi otomatis ke proses manual atau platform terkelola Anda mungkin menjadi serumit sistem yang sepenuhnya disesuaikan. Jika pendekatan hibrid Anda menjadi sulit dipertahankan, pertimbangkan untuk pindah ke sistem yang sepenuhnya disesuaikan.

Implementasi bertahap

Bahkan jika Anda akhirnya ingin mengotomatiskan sarana kontrol Anda, Anda tidak perlu memulai dengan pendekatan tersebut. Selama tahap awal, pendekatan umum pengembangan aplikasi adalah memulai dengan sarana kontrol manual. Saat aplikasi Anda berkembang dan menambahkan lebih banyak pengguna, identifikasi titik kemacetan dan otomatiskan yang diperlukan. Perubahan ini mengarahkan Anda ke pendekatan hibrid. Saat mengotomatiskan lebih banyak tugas, Anda mungkin beralih ke sarana kontrol yang sepenuhnya otomatis.

Pola Buruk yang Harus Dihindari

  • Mengandalkan proses manual terlalu lama: Proses manual bekerja dengan baik ketika Anda memulai atau memiliki jumlah penyewa yang rendah dan memerlukan manajemen yang ringan. Tetapi Anda perlu merencanakan cara menskalakan ke solusi otomatis saat Anda tumbuh. Jika Anda perlu mempekerjakan lebih banyak anggota tim untuk mengikuti permintaan proses manual Anda, pertimbangkan untuk mengotomatiskan bagian-bagian dari sarana kontrol Anda.

  • Menggunakan alat yang tidak pantas untuk alur kerja yang berjalan lama: Jangan gunakan alat yang memiliki batas runtime, seperti fungsi Azure standar atau panggilan API sinkron, untuk operasi jangka panjang seperti penyebaran Azure Resource Manager atau orkestrasi multistep. Sebagai gantinya, gunakan alat yang mendukung alur kerja yang berjalan lama atau urutan operasi, seperti Logic Apps dan Durable Functions. Untuk informasi selengkapnya, lihat Performa dan keandalan Azure Functions dan pola Request-Reply asinkron.

Kontributor

Microsoft mempertahankan artikel ini. Kontributor berikut menulis artikel ini.

Penulis utama:

Kontributor lain:

Untuk melihat profil LinkedIn nonpublik, masuk ke LinkedIn.

Langkah selanjutnya