Rekomendasi untuk mengoptimalkan biaya penskalaan

Berlaku untuk rekomendasi daftar periksa Pengoptimalan Biaya Azure Well-Architected Framework ini:

CO:12 Optimalkan biaya penskalakan. Evaluasi penskalakan alternatif dalam unit skala Anda. Pertimbangkan konfigurasi penskalaan alternatif, dan selaras dengan model biaya. Pertimbangan harus mencakup pemanfaatan terhadap batas warisan setiap instans, sumber daya, dan batas unit skala. Gunakan strategi untuk mengontrol permintaan dan pasokan.

Panduan ini memberikan rekomendasi untuk mengoptimalkan biaya penskalaan. Penskalaan pengoptimalan biaya adalah proses penghapusan inefisiensi dalam penskalaan beban kerja. Tujuannya adalah untuk mengurangi biaya penskalaan sambil tetap memenuhi semua persyaratan nonfungsi. Pengeluaran lebih sedikit untuk mendapatkan hasil yang sama. Mengoptimalkan penskalaan memungkinkan Anda menghindari pengeluaran, provisi berlebih, dan pemborosan yang tidak perlu. Ini juga membantu mencegah lonjakan biaya yang tidak terduga dengan mengontrol permintaan dan membatasi pasokan. Praktik penskalaan yang tidak efisien dapat menyebabkan peningkatan beban kerja dan biaya operasional dan berdampak negatif pada kesehatan keuangan beban kerja secara keseluruhan.

Definisi

Istilah Definisi
Penskalaan otomatis Pendekatan penskalaan yang secara otomatis menambahkan atau menghapus sumber daya saat serangkaian kondisi terpenuhi.
Metrik biaya Data numerik yang terkait dengan biaya beban kerja.
Turunkan skala Strategi penskalakan vertikal yang bergeser ke SKU yang lebih rendah untuk menyediakan lebih sedikit sumber daya ke beban kerja.
Skala masuk Strategi penskalakan horizontal yang menghapus instans untuk menyediakan lebih sedikit sumber daya ke beban kerja.
Peluasan skala Strategi penskalakan horizontal yang menambahkan instans untuk menyediakan lebih banyak sumber daya ke beban kerja.
Unit skala Sekelompok sumber daya yang menskalakan secara proporsional bersama-sama.
Memperbesar Strategi penskalakan vertikal yang bergeser ke SKU yang lebih tinggi untuk menyediakan lebih banyak sumber daya ke beban kerja.
Unit penyimpanan stok (SKU) Tingkat layanan untuk layanan Azure.
Data penggunaan Data penggunaan adalah informasi langsung (nyata) atau informasi tidak langsung/perwakilan (proksi) tentang berapa banyak tugas, layanan, atau aplikasi yang digunakan.

Strategi desain utama

Tujuan dari pengoptimalan biaya penskalaan adalah untuk meningkatkan dan meluaskan skala pada saat yang bertanggung jawab terakhir dan untuk menurunkan dan masuk segera setelah praktis. Untuk mengoptimalkan penskalaan beban kerja, Anda dapat mengevaluasi opsi penskalaan alternatif dalam unit skala dan menyelaraskannya dengan model biaya. Unit skala mewakili pengelompokan sumber daya tertentu yang dapat diskalakan secara independen atau bersama-sama. Anda harus merancang unit skala untuk menangani sejumlah beban tertentu, dan unit tersebut dapat terdiri dari beberapa instans, server, atau sumber daya lainnya. Anda perlu mengevaluasi efektivitas biaya unit skala beban kerja dan alternatif model Anda.

Jika Anda tidak menggunakan penskalaan, lihat panduan tentang penskalaan beban kerja. Anda perlu mencari tahu apakah aplikasi Anda dapat menskalakan. Aplikasi stateless lebih mudah diskalakan karena dapat menangani beberapa permintaan secara bersamaan. Selain itu, evaluasi apakah aplikasi dibangun menggunakan prinsip sistem terdistribusi. Sistem terdistribusi dapat menangani peningkatan beban dengan mendistribusikan beban kerja di beberapa simpul. Namun, aplikasi singleton dirancang untuk hanya memiliki satu instans yang berjalan pada waktu tertentu. Jadi penskalaan mungkin tidak sesuai untuk semua beban kerja.

Mengevaluasi peluasan skala versus peningkatan skala

Mengevaluasi peluasan skala versus peningkatan skala melibatkan penentuan pendekatan paling hemat biaya antara meningkatkan sumber daya dalam sistem yang ada (meningkatkan skala) atau menambahkan lebih banyak instans sistem tersebut (peluasan skala) berdasarkan berbagai faktor seperti harga, persyaratan beban kerja, dan waktu henti yang dapat diterima. Memilih pendekatan penskalaan yang tepat dapat menyebabkan penghematan yang signifikan, memastikan Anda hanya membayar apa yang Anda butuhkan sambil tetap memenuhi standar performa dan keandalan.

Tujuannya adalah untuk menentukan pilihan yang paling hemat biaya berdasarkan harga tingkat layanan, sifat beban kerja, waktu henti yang dapat diterima, dan model biaya. Bagi sebagian orang, mungkin lebih ekonomis untuk memilih instans yang lebih mahal dalam jumlah yang lebih sedikit. Sebaliknya, bagi orang lain, tingkat yang lebih murah dengan lebih banyak instans mungkin lebih baik. Untuk membuat keputusan berdasarkan informasi, Anda perlu menganalisis data nyata atau representatif dari pengaturan Anda dan mengevaluasi manfaat biaya relatif dari setiap strategi. Untuk mengevaluasi pendekatan yang paling hemat biaya, pertimbangkan rekomendasi berikut:

  • Kumpulkan data penggunaan: Kumpulkan data produksi aktual atau data proksi yang mewakili pola penggunaan beban kerja dan pemanfaatan sumber daya. Data ini harus mencakup metrik seperti penggunaan CPU, penggunaan memori, lalu lintas jaringan, dan metrik relevan lainnya yang memengaruhi biaya penskalaan.

  • Menentukan metrik biaya: Identifikasi metrik biaya yang relevan dengan beban kerja Anda, seperti biaya per jam, biaya per transaksi, atau biaya per unit penggunaan sumber daya. Metrik ini membantu Anda membandingkan efektivitas biaya dari berbagai opsi penskalaan.

  • Kumpulkan data penggunaan: Kumpulkan data produksi aktual atau data proksi yang mewakili pola penggunaan beban kerja dan pemanfaatan sumber daya. Data ini harus mencakup metrik seperti penggunaan CPU, penggunaan memori, lalu lintas jaringan, dan metrik relevan lainnya yang memengaruhi biaya penskalaan

  • Menentukan metrik biaya: Identifikasi metrik biaya yang relevan dengan beban kerja Anda, seperti biaya per jam, biaya per transaksi, atau biaya per unit penggunaan sumber daya. Metrik ini membantu Anda membandingkan efektivitas biaya dari berbagai opsi penskalaan.

  • Lihat persyaratan: Saat memutuskan antara strategi peluasan skala dan peningkatan skala, pertimbangkan persyaratan keandalan, performa, dan penskalaan beban kerja Anda. Perluasan skala dapat meningkatkan keandalan melalui redundansi. Peningkatan skala meningkatkan kapasitas sumber daya, tetapi mungkin ada batasan berapa banyak yang dapat Anda tingkatkan.

  • Pertimbangkan batas sumber daya: Saat mengevaluasi opsi penskalaan, penting untuk mempertimbangkan batas yang melekat dari setiap instans, sumber daya, dan batas unit skala. Waspadai batas penskalaan atas untuk setiap sumber daya dan rencanakan dengan sesuai. Selain itu, perlu diingat batas langganan Anda dan sumber daya lainnya.

  • Penskalaan pengujian: Membuat pengujian untuk skenario penskalaan yang berbeda, termasuk opsi peluasan skala dan peningkatan skala. Menerapkan data penggunaan, simulasikan perilaku beban kerja di bawah konfigurasi penskalaan yang berbeda. Lakukan pengujian dunia nyata menggunakan skenario penskalakan yang dimodelkan.

  • Menghitung biaya: Gunakan metrik data dan biaya yang dikumpulkan untuk menghitung biaya yang terkait dengan setiap konfigurasi penskalakan. Pertimbangkan faktor-faktor seperti harga instans, pemanfaatan sumber daya, dan biaya tambahan apa pun yang terkait dengan penskalaan.

Optimalkan penskalaan otomatis

Mengoptimalkan kebijakan penskalaan otomatis melibatkan penyempurnaan penskalaan otomatis untuk bereaksi terhadap perubahan beban berdasarkan persyaratan nonfungsi beban kerja. Anda dapat membatasi aktivitas penskalakan yang berlebihan dengan menyesuaikan ambang batas dan menggunakan periode pendinginan yang tepat. Untuk mengoptimalkan penskalaan otomatis, pertimbangkan rekomendasi berikut:

  • Menganalisis kebijakan autoscaling saat ini: Pahami kebijakan yang ada dan perilakunya sebagai respons terhadap berbagai tingkat beban.

  • Lihat persyaratan nonfungsi: Identifikasi persyaratan nonfungsi tertentu yang perlu Anda pertimbangkan, seperti waktu respons, pemanfaatan sumber daya, atau biaya.

  • Menyesuaikan ambang penskalaan: Sesuaikan ambang penskalaan berdasarkan karakteristik beban kerja dan persyaratan nonfungsi. Atur ambang batas untuk meningkatkan atau menurunkan skala berdasarkan faktor-faktor seperti pemanfaatan CPU dari waktu ke waktu, lalu lintas jaringan, atau panjang antrean.

  • Menyesuaikan periode cooldown: Sesuaikan periode cooldown untuk mencegah aktivitas penskalakan yang berlebihan yang dipicu oleh lonjakan beban sementara. Periode cooldown memperkenalkan penundaan antara peristiwa penskalaan, memungkinkan sistem untuk menstabilkan sebelum tindakan penskalaan lebih lanjut.

  • Memantau dan menyempurnakan: Terus pantau perilaku dan performa sistem. Analisis aktivitas penskalaan dan sesuaikan kebijakan sesuai kebutuhan untuk mengoptimalkan biaya dan memenuhi persyaratan nonfungsi yang diinginkan.

Tradeoff: Mengurangi jumlah peristiwa penskalaan menimbulkan kemungkinan mengalami masalah yang terkait dengan penskalaan. Ini berarti Anda menghilangkan banci atau buffer ekstra yang dapat membantu mengelola potensi masalah atau keterlambatan dari penskalaan.

Pertimbangkan penskalakan berbasis peristiwa

Penskalaan otomatis berbasis peristiwa memungkinkan aplikasi untuk menyesuaikan sumber daya secara dinamis berdasarkan peristiwa atau pemicu tertentu daripada metrik tradisional seperti CPU atau pemanfaatan memori. Misalnya, penskalaan otomatis berbasis peristiwa (KEDA) Kube dapat menskalakan aplikasi berdasarkan scaler seperti panjang topik Kafka. Presisi membantu mencegah fluktuasi penskalaan dan limbah sumber daya yang tidak perlu. Tingkat presisi yang tinggi pada akhirnya mengoptimalkan biaya. Untuk menggunakan penskalakan berbasis peristiwa, ikuti langkah-langkah berikut:

  • Pilih sumber peristiwa: Tentukan sumber peristiwa yang memicu penskalaan unit skala Anda. Sumber dapat berupa antrean pesan, platform streaming, atau sistem berbasis peristiwa lainnya.

  • Menyiapkan penyerapan peristiwa: Mengonfigurasi aplikasi Anda untuk mengonsumsi peristiwa dari sumber peristiwa yang dipilih. Ini biasanya melibatkan pembuatan koneksi, berlangganan topik atau antrean yang relevan, dan memproses peristiwa masuk.

  • Menerapkan logika penskalan: Tulis logika yang menentukan kapan dan bagaimana unit skala Anda harus menskalakan berdasarkan peristiwa masuk. Logika ini harus mempertimbangkan faktor-faktor seperti jumlah peristiwa, tingkat peristiwa masuk, atau metrik lain yang relevan.

  • Integrasikan dengan mekanisme penskalaan: Tergantung pada lingkungan runtime aplikasi Anda, Anda dapat menggunakan mekanisme penskalaan yang berbeda untuk menyesuaikan sumber daya yang dialokasikan ke aplikasi.

  • Mengonfigurasi aturan penskalakan: Tentukan aturan penskalakan yang menentukan bagaimana unit skala Anda harus menskalakan sebagai respons terhadap peristiwa. Aturan ini dapat didasarkan pada ambang batas, pola, atau kriteria lain yang selaras dengan persyaratan aplikasi Anda. Ambang penskalaan harus terkait dengan metrik bisnis. Misalnya, jika Anda menambahkan dua instans lagi, Anda dapat mendukung 50 pengguna lagi dalam pemrosesan ke cart belanja.

  • Uji dan pantau: Validasi perilaku implementasi penskalaan berbasis peristiwa Anda dengan mengujinya dengan skenario peristiwa yang berbeda. Pantau tindakan penskalaan dan pastikan bahwa tindakan selaras dengan harapan Anda.

Tradeoff Mengonfigurasi dan menyempurnakan penskalaan otomatis berbasis peristiwa bisa rumit, dan konfigurasi yang tidak tepat dapat menyebabkan penyediaan sumber daya yang berlebihan atau kurang.

Mengoptimalkan permintaan dan pasokan

Kontrol permintaan terhadap pasokan Anda. Pada beban kerja di mana penggunaan menentukan penskalaan, biaya berkorelasi dengan penskalaan. Untuk mengoptimalkan biaya penskalaan, Anda dapat meminimalkan pengeluaran penskalaan. Anda dapat membongkar permintaan dengan mendistribusikan permintaan ke sumber daya lain, atau Anda dapat mengurangi permintaan dengan menerapkan antrean prioritas, offloading gateway, buffering, dan pembatasan tarif. Kedua strategi dapat mencegah biaya yang tidak diinginkan karena penskalakan dan konsumsi sumber daya. Anda juga dapat mengontrol pasokan dengan membatasi batas penskalaan. Untuk mengoptimalkan permintaan dan pasokan beban kerja, pertimbangkan rekomendasi berikut.

Permintaan offload

Permintaan offloading mengacu pada praktik mendistribusikan atau mentransfer permintaan sumber daya ke sumber daya atau layanan lain. Anda dapat menggunakan berbagai teknologi atau strategi:

  • Penembolokan: Gunakan penembolokan untuk menyimpan data atau konten yang sering diakses, mengurangi beban pada infrastruktur backend Anda. Misalnya, gunakan jaringan pengiriman konten (CDN) untuk menyimpan dan menyajikan konten statis, mengurangi kebutuhan untuk menskalakan backend. Namun, tidak setiap beban kerja dapat menyimpan data cache. Beban kerja yang memerlukan data terbaru dan real-time, seperti beban kerja trading atau game, tidak boleh menggunakan cache. Data yang di-cache akan menjadi lama dan tidak relevan dengan pengguna.

    Pertukaran. Penembolokan mungkin menimbulkan tantangan dalam hal pembatalan cache, konsistensi, dan pengelolaan kedaluwarsa cache. Penting untuk merancang dan menerapkan strategi penembolokan dengan hati-hati untuk menghindari potensi tradeoff.

  • Offloading konten: Membongkar konten ke layanan atau platform eksternal untuk mengurangi beban kerja pada infrastruktur Anda. Misalnya, daripada menyimpan file video di server utama, Anda dapat menghosting file-file ini di layanan penyimpanan terpisah yang independen dari server utama Anda. Anda dapat memuat file besar ini langsung dari layanan penyimpanan. Pendekatan ini membebaskan sumber daya di server Anda, memungkinkan Anda menggunakan server yang lebih kecil. Lebih murah untuk menyimpan file besar di penyimpanan data terpisah. Anda dapat menggunakan CDN untuk meningkatkan performa.

  • Penyeimbangan beban: Mendistribusikan permintaan masuk di beberapa server menggunakan penyeimbangan beban. Penyeimbangan beban mendistribusikan beban kerja secara merata dan mencegah server tunggal menjadi kewalahan. Load balancer mengoptimalkan pemanfaatan sumber daya dan meningkatkan efisiensi infrastruktur Anda.

  • Offloading database: Kurangi beban di server aplikasi utama Anda dengan membongkar operasi database ke server database terpisah atau layanan khusus. Misalnya, gunakan CDN untuk penembolokan konten statis dan cache Redis untuk penembolokan konten dinamis (data dari database). Teknik seperti sharding database, replika baca, atau menggunakan layanan database terkelola juga dapat mengurangi beban.

    Tradeoff: Membongkar tugas tertentu ke sumber daya alternatif membantu mengurangi atau menghindari penskalaan dan biaya tambahan yang terkait dengan penskalaan. Namun, penting untuk mempertimbangkan tantangan operasional dan pemeliharaan yang mungkin timbul dari offloading. Melakukan analisis manfaat biaya yang komprehensif sangat penting saat memilih teknik offloading yang paling tepat untuk beban kerja Anda. Analisis ini memastikan bahwa metode yang dipilih efisien dan layak dalam kaitannya dengan penghematan yang diantisipasi dan kompleksitas operasional.

Mengurangi permintaan

Mengurangi permintaan sumber daya berarti menerapkan strategi yang membantu meminimalkan pemanfaatan sumber daya dalam beban kerja. Permintaan offloading mengalihkan permintaan ke sumber daya lain. Mengurangi permintaan mengurangi permintaan pada beban kerja. Mengurangi permintaan memungkinkan Anda menghindari penyediaan sumber daya yang berlebihan dan membayar kapasitas yang tidak digunakan atau kurang digunakan. Anda harus menggunakan pola desain tingkat kode untuk mengurangi permintaan pada sumber daya beban kerja. Untuk mengurangi permintaan melalui pola desain, ikuti langkah-langkah berikut:

  • Memahami pola desain: Biasakan diri Anda dengan berbagai pola desain yang mempromosikan pengoptimalan sumber daya.

  • Menganalisis persyaratan beban kerja: Menilai persyaratan spesifik beban kerja Anda, termasuk pola permintaan yang diharapkan, beban puncak, dan kebutuhan sumber daya.

  • Pilih pola desain yang sesuai: Pilih pola desain yang selaras dengan persyaratan dan tujuan beban kerja Anda. Misalnya, jika beban kerja Anda mengalami permintaan yang berfluktuasi, pola penskalaan dan pembatasan berbasis peristiwa dapat membantu mengelola beban kerja dengan mengalokasikan sumber daya secara dinamis. Terapkan pola desain yang dipilih ke arsitektur beban kerja Anda. Anda mungkin perlu memisahkan komponen beban kerja, membuat kontainer aplikasi, mengoptimalkan pemanfaatan penyimpanan, dan banyak lagi.

  • Terus pantau dan optimalkan: Evaluasi efektivitas pola desain yang diterapkan secara teratur dan sesuaikan sesuai kebutuhan. Pantau penggunaan sumber daya, metrik performa, dan peluang pengoptimalan biaya.

Dengan mengikuti langkah-langkah ini dan menggunakan pola desain yang sesuai, Anda dapat mengurangi permintaan sumber daya, mengoptimalkan biaya, dan memastikan pengoperasian beban kerja mereka yang efisien.

Gunakan pola desain ini untuk mengurangi permintaan:

  • Cache di samping: Pola memeriksa cache untuk melihat apakah data sudah disimpan dalam memori. Jika data ditemukan di cache, aplikasi dapat dengan cepat mengambil dan mengembalikan data, mengurangi kebutuhan untuk mengkueri penyimpanan data persisten.

  • Pemeriksaan klaim: Dengan memisahkan data dari alur olahpesan, pola ini mengurangi ukuran pesan dan mendukung solusi olahpesan yang lebih hemat biaya.

  • Konsumen yang bersaing: Pola ini secara efisien menangani item dalam antrean dengan menerapkan pemrosesan terdistribusi dan bersamaan. Pola desain ini mengoptimalkan biaya dengan menskalakan yang didasarkan pada kedalaman antrean dan batas pengaturan pada instans konsumen bersamaan maksimum.

  • Konsolidasi sumber daya komputasi: Pola ini meningkatkan kepadatan dan mengonsolidasikan sumber daya komputasi dengan menggabungkan beberapa aplikasi atau komponen pada infrastruktur bersama. Ini memaksimalkan pemanfaatan sumber daya, menghindari kapasitas yang disediakan yang tidak digunakan dan mengurangi biaya.

  • Stempel penyebaran: Penggunaan stempel penyebaran memberikan beberapa keuntungan, seperti grup perangkat yang didistribusikan secara geografis, menyebarkan fitur baru ke stempel tertentu, dan mengamati biaya per perangkat. Stempel penyebaran memungkinkan skalabilitas yang lebih baik, toleransi kesalahan, dan pemanfaatan sumber daya yang efisien.

  • Offloading gateway: Pola ini membongkar pemrosesan permintaan di perangkat gateway, mengalihkan biaya dari sumber daya per simpul ke implementasi gateway. Menggunakan pola desain ini dapat mengakibatkan biaya kepemilikan yang lebih rendah dalam model pemrosesan terpusat.

  • Penerbit/pelanggan: Pola ini memisahkan komponen dalam arsitektur, mengganti komunikasi langsung dengan broker pesan menengah atau bus peristiwa. Ini memungkinkan pendekatan berbasis peristiwa dan penagihan berbasis konsumsi, menghindari provisi berlebih.

  • Tingkatan beban berbasis antrean: Buffer pola permintaan atau tugas masuk dalam antrean. Buffering menghaluskan beban kerja dan mengurangi kebutuhan akan provisi sumber daya yang berlebihan untuk menangani beban puncak. Permintaan masuk diproses secara asinkron untuk mengurangi biaya.

  • Sharding: Pola ini mengarahkan permintaan tertentu ke tujuan logis, memungkinkan pengoptimalan dengan kolokasi data. Sharding dapat menyebabkan penghematan biaya dengan menggunakan beberapa instans sumber daya komputasi atau penyimpanan dengan spesifikasi lebih rendah.

  • Hosting konten statis: Pola ini memberikan konten statis secara efisien dengan menggunakan platform hosting yang dirancang untuk tujuan ini. Ini menghindari penggunaan host aplikasi dinamis yang lebih mahal, mengoptimalkan pemanfaatan sumber daya.

  • Pembatasan: Pola ini membatasi laju (pembatasan laju) atau throughput permintaan masuk ke sumber daya atau komponen. Ini membantu menginformasikan pemodelan biaya dan dapat diikat langsung ke model bisnis aplikasi.

  • Kunci valet: Pola ini memberikan akses yang aman dan eksklusif ke sumber daya tanpa melibatkan lebih banyak komponen, mengurangi kebutuhan akan sumber daya perantara dan meningkatkan efisiensi.

Pasokan kontrol

Menentukan batas atas jumlah yang bersedia Anda belanjakan untuk sumber daya atau layanan tertentu adalah salah satu cara untuk mengontrol pasokan. Ini adalah strategi penting untuk mengontrol biaya dan memastikan bahwa pengeluaran tidak melebihi tingkat tertentu. Tetapkan anggaran dan pantau pengeluaran untuk memastikannya tetap dalam jumlah yang ditentukan. Anda dapat menggunakan platform manajemen biaya, pemberitahuan anggaran, atau melacak pola penggunaan dan pengeluaran. Beberapa layanan memungkinkan Anda untuk membatasi pasokan dan membatasi tarif, dan Anda harus menggunakan fitur-fitur tersebut jika membantu.

Mengontrol pasokan mengacu pada menentukan batas atas jumlah yang bersedia Anda belanjakan untuk sumber daya atau layanan tertentu. Ini adalah strategi penting karena membantu mengontrol biaya dan memastikan bahwa pengeluaran tidak melebihi tingkat tertentu. Tetapkan anggaran dan pantau pengeluaran untuk memastikannya tetap berada dalam ambang yang ditentukan. Anda dapat menggunakan platform manajemen biaya, pemberitahuan anggaran, atau melacak pola penggunaan dan pengeluaran. Beberapa layanan memungkinkan Anda untuk membatasi pasokan dan membatasi tarif, dan Anda harus menggunakan fitur-fitur tersebut jika membantu.

Tradeoff: Batas yang lebih ketat dapat mengakibatkan peluang yang terlewat untuk menskalakan ketika permintaan meningkat, berpotensi memengaruhi pengalaman pengguna. Ini dapat menyebabkan pematian atau tidak dapat merespons pemuatan. Penting untuk mencapai keseimbangan antara pengoptimalan biaya dan memastikan bahwa Anda memiliki sumber daya yang memadai untuk memenuhi kebutuhan bisnis Anda.

Fasilitasi Azure

Mengevaluasi peluasan skala versus peningkatan skala: Azure menyediakan lingkungan pengujian tempat Anda dapat menyebarkan dan menguji konfigurasi penskalakan yang berbeda. Dengan menggunakan data beban kerja aktual atau data proksi, Anda dapat mensimulasikan skenario dunia nyata dan mengukur efek pada biaya. Azure menawarkan alat dan layanan untuk pengujian performa, pengujian beban, dan pemantauan, yang dapat membantu Anda mengevaluasi efektivitas biaya peluasan skala versus opsi peningkatan.

Azure memberikan rekomendasi manajemen biaya melalui berbagai alat dan layanan, seperti Azure Advisor. Rekomendasi ini menganalisis pola penggunaan, pemanfaatan sumber daya, dan konfigurasi penskalaan Anda untuk memberikan wawasan dan saran untuk mengoptimalkan biaya.

Azure Load Testing adalah layanan pengujian beban terkelola penuh yang menghasilkan beban skala tinggi. Layanan ini mensimulasikan lalu lintas untuk aplikasi Anda, terlepas dari di mana mereka dihosting. Pengembang, penguji, dan teknisi jaminan kualitas (QA) dapat menggunakan pengujian beban untuk mengoptimalkan performa, skalabilitas, atau kapasitas aplikasi.

Mengoptimalkan penskalaan otomatis: Banyak layanan komputasi Azure mendukung penyebaran beberapa instans yang identik, dan dengan cepat menyetel ambang batas dan kebijakan penskalaan. Azure menyediakan kemampuan penskalaan otomatis yang memungkinkan Anda menyesuaikan jumlah instans atau sumber daya secara otomatis berdasarkan permintaan beban kerja. Anda dapat menentukan aturan dan ambang batas penskalakan untuk memicu tindakan peluasan skala atau penyempitan skala. Dengan menggunakan penskalaan otomatis, Anda dapat mengoptimalkan alokasi sumber daya dan efisiensi biaya dengan menskalakan sumber daya secara dinamis berdasarkan permintaan aktual.

Azure mempertahankan daftar batas langganan dan layanan. Ada batasan umum untuk jumlah instans sumber daya yang dapat Anda sebarkan di setiap grup sumber daya dengan beberapa pengecualian. Untuk informasi selengkapnya, lihat Batas instans sumber daya per grup sumber daya.

Mengoptimalkan permintaan dan pasokan: Azure Monitor memberikan wawasan tentang performa dan kesehatan aplikasi dan infrastruktur Anda. Anda dapat menggunakan Azure Monitor untuk memantau beban pada sumber daya Anda dan menganalisis tren dari waktu ke waktu. Dengan menggunakan metrik dan log yang dikumpulkan oleh Azure Monitor, Anda dapat mengidentifikasi area di mana penyesuaian penskalaan mungkin diperlukan. Informasi ini dapat memandu penyempurnaan kebijakan penskalaan otomatis Anda untuk memastikannya selaras dengan persyaratan nonfungsi dan tujuan pengoptimalan biaya.

  • Pasokan offloading: Azure memiliki Content Delivery Network (CDN) cloud modern yang disebut Azure Front Door dan layanan penembolokan (Azure Cache for Redis dan Azure HPC Cache). CDN menyimpan konten lebih dekat dengan pengguna akhir, mengurangi latensi jaringan, dan meningkatkan waktu respons. Penembolokan menyimpan salinan data di depan penyimpanan data utama, mengurangi kebutuhan akan permintaan berulang ke backend. Dengan menggunakan CDN dan layanan penembolokan, Anda dapat mengoptimalkan performa dan mengurangi beban pada server untuk potensi penghematan biaya.

  • Mengontrol pasokan: Azure juga memungkinkan Anda menetapkan batas sumber daya untuk beban kerja cloud Anda. Dengan menentukan batas sumber daya, Anda dapat memastikan bahwa beban kerja Anda tetap berada dalam sumber daya yang dialokasikan dan menghindari biaya yang tidak perlu. Azure menyediakan berbagai mekanisme untuk menetapkan batas sumber daya seperti kuota, kebijakan, dan pemberitahuan anggaran. Mekanisme ini membantu Anda memantau dan mengontrol penggunaan sumber daya.

    API Management dapat menilai batas dan membatasi permintaan. Mampu membatasi permintaan masuk adalah peran kunci dari Azure API Management. Baik dengan mengontrol laju permintaan atau total permintaan/data yang ditransfer, API Management memungkinkan penyedia API untuk melindungi API mereka dari penyalahgunaan dan membuat nilai untuk tingkat produk API yang berbeda.

Daftar periksa Pengoptimalan Biaya

Lihat kumpulan rekomendasi lengkap.