Pola desain cloud yang mendukung pengoptimalan biaya
Saat merancang arsitektur beban kerja, Anda harus menggunakan pola industri yang mengatasi tantangan umum. Pola dapat membantu Anda membuat tradeoff yang disengaja dalam beban kerja dan mengoptimalkan hasil yang Anda inginkan. Mereka juga dapat membantu mengurangi risiko yang berasal dari masalah tertentu, yang dapat memengaruhi keandalan, keamanan, performa, dan operasi. Jika tidak dimitigasi, risiko pada akhirnya akan meningkatkan biaya. Pola-pola ini didukung oleh pengalaman dunia nyata, dirancang untuk skala cloud dan model operasi, dan secara inheren vendor agnostik. Menggunakan pola terkenal sebagai cara untuk menstandarkan desain beban kerja Anda adalah komponen keunggulan operasional.
Banyak pola desain secara langsung mendukung satu atau beberapa pilar arsitektur. Pola desain yang mendukung pilar Pengoptimalan Biaya selaras dengan menerapkan model penagihan yang menguntungkan, mengurangi provisi berlebih, mengubah dimensi penskalaan, dan memaksimalkan nilai selama migrasi.
Pola desain untuk pengoptimalan biaya
Tabel berikut ini meringkas pola desain cloud yang mendukung tujuan pengoptimalan biaya.
Pola | Ringkasan |
---|---|
Pemeriksaan Klaim | Memisahkan data dari alur olahpesan, menyediakan cara untuk mengambil data yang terkait dengan pesan secara terpisah. Sistem olahpesan sering memberlakukan batasan pada ukuran pesan, dan peningkatan batas ukuran sering kali merupakan fitur premium. Mengurangi ukuran badan pesan mungkin memungkinkan Anda menggunakan solusi olahpesan yang lebih murah. |
Konsumen yang Bersaing | Menerapkan pemrosesan terdistribusi dan bersamaan untuk menangani item secara efisien dalam antrean. Pola ini dapat membantu Anda mengoptimalkan biaya dengan mengaktifkan penskalaan yang didasarkan pada kedalaman antrean, turun ke nol saat antrean kosong. Ini juga dapat mengoptimalkan biaya dengan memungkinkan Anda membatasi jumlah maksimum instans konsumen bersamaan. |
Konsolidasi Sumber Daya Komputasi | Mengoptimalkan dan mengonsolidasikan sumber daya komputasi dengan meningkatkan kepadatan. Pola ini menggabungkan beberapa aplikasi atau komponen beban kerja pada infrastruktur bersama. Melakukannya memaksimalkan pemanfaatan sumber daya komputasi dengan menghindari kapasitas yang disediakan yang tidak digunakan melalui agregasi komponen atau bahkan seluruh beban kerja pada infrastruktur yang dikumpulkan. Orkestrator kontainer adalah contoh umum. |
Pembongkaran Gateway | Membongkar pemrosesan permintaan ke perangkat gateway sebelum dan sesudah meneruskan permintaan ke simpul backend. Menambahkan gateway offloading ke dalam proses permintaan memungkinkan Anda mengalihkan biaya dari sumber daya yang akan dihabiskan per simpul ke dalam implementasi gateway. Biaya dalam model pemrosesan terpusat sering lebih rendah daripada biaya model terdistribusi. |
Jembatan Olahpesan | Menyediakan perantara untuk mengaktifkan komunikasi antara sistem olahpesan yang tidak kompatibel karena protokol atau format. Perantara ini dapat meningkatkan umur panjang sistem Anda yang ada sambil tetap memungkinkan interoperabilitas dengan sistem yang menggunakan teknologi olahpesan atau peristiwa yang berbeda. |
Penerbit/Pelanggan | Memisahkan komponen arsitektur dengan mengganti komunikasi klien-ke-layanan langsung atau klien-ke-layanan dengan komunikasi dengan menggunakan broker pesan menengah atau bus peristiwa. Desain ini dapat memungkinkan pendekatan berbasis peristiwa dalam arsitektur Anda, yang cocok dengan penagihan berbasis konsumsi untuk menghindari provisi berlebih. |
Perataan Beban Berbasis Antrean | Mengontrol tingkat permintaan atau tugas masuk dengan menyangganya dalam antrean dan membiarkan prosesor antrean menanganinya dengan kecepatan terkontrol. Karena pemrosesan beban dipisahkan dari permintaan atau asupan tugas, Anda dapat menggunakan pendekatan ini untuk mengurangi kebutuhan akan sumber daya provisi berlebih untuk menangani beban puncak. |
Sharding | Mengarahkan beban ke tujuan logis tertentu untuk menangani permintaan tertentu, memungkinkan kolokasi untuk pengoptimalan. Sistem yang mengimplementasikan pecahan sering mendapat manfaat dari penggunaan beberapa instans sumber daya komputasi atau penyimpanan yang lebih murah daripada satu sumber daya yang lebih mahal. Dalam banyak kasus, konfigurasi ini dapat menghemat uang Anda. |
Hosting konten Statik | Mengoptimalkan pengiriman konten statis ke klien beban kerja dengan menggunakan platform hosting yang dirancang untuk tujuan tersebut. Host aplikasi dinamis biasanya lebih mahal daripada host statis karena host dinamis dapat menjalankan logika bisnis berkode Anda. Menggunakan platform aplikasi untuk mengirimkan konten statis tidak hemat biaya. |
Strangler Fig | Menyediakan pendekatan untuk mengganti komponen sistem yang berjalan secara sistematis dengan komponen baru, sering kali selama migrasi atau modernisasi sistem. Tujuan dari pendekatan ini adalah untuk memaksimalkan penggunaan investasi yang ada dalam sistem yang sedang berjalan sambil memodernisasi secara bertahap. Ini memungkinkan Anda untuk melakukan penggantian ROI tinggi sebelum penggantian ROI rendah. |
Pembatasan | Memberlakukan batasan tarif atau throughput permintaan masuk ke sumber daya atau komponen. Batasan dapat menginformasikan pemodelan biaya dan bahkan dapat langsung terikat dengan model bisnis aplikasi Anda. Mereka juga menempatkan batas atas yang jelas pada pemanfaatan, yang dapat diperhitungkan ke dalam ukuran sumber daya. |
Kunci Valet | Memberikan akses terbatas keamanan ke sumber daya tanpa menggunakan sumber daya perantara untuk mem-proksi akses. Desain ini membongkar pemrosesan sebagai hubungan eksklusif antara klien dan sumber daya tanpa menambahkan komponen untuk langsung menangani semua permintaan klien. Manfaatnya paling dramatis ketika permintaan klien sering atau cukup besar untuk memerlukan sumber daya proksi yang signifikan atau proksi tidak menambahkan nilai sebagai bagian dari permintaan. |
Langkah berikutnya
Tinjau pola desain cloud yang mendukung pilar Azure Well-Architected Framework lainnya: