Rekomendasi untuk perencanaan kapasitas

Berlaku untuk rekomendasi daftar periksa Efisiensi Performa Azure Well-Architected Framework ini:

PE:02 Melakukan perencanaan kapasitas. Perencanaan kapasitas harus dilakukan sebelum ada perubahan pola penggunaan yang diprediksi. Perubahan yang diprediksi termasuk sebagai variasi musiman, pembaruan produk, kampanye pemasaran, acara khusus, atau perubahan peraturan.

Panduan ini menjelaskan rekomendasi untuk perencanaan kapasitas. Perencanaan kapasitas mengacu pada proses penentuan sumber daya yang diperlukan untuk memenuhi target performa beban kerja. Ini melibatkan perkiraan jumlah sumber daya komputasi seperti CPU, memori, penyimpanan, dan bandwidth jaringan yang diperlukan untuk mendukung persyaratan performa beban kerja. Perencanaan kapasitas membantu menghindari kurangnya penyediaan dan memastikan beban kerja memiliki sumber daya yang memadai untuk menangani tuntutan beban kerja yang diharapkan tanpa mengalami penurunan performa atau hambatan. Ini juga membantu mencegah provisi berlebih dan biaya yang tidak perlu. Kurangnya perencanaan kapasitas dapat menyebabkan masalah performa, penyempitan sumber daya, peningkatan biaya, alokasi yang tidak efisien, tantangan skalabilitas, dan performa beban kerja yang tidak dapat diprediksi.

Definisi

Istilah Definisi
Perencanaan Kapasitas Proses memprediksi sumber daya yang dibutuhkan beban kerja untuk memenuhi target performanya.
Persyaratan fungsional Fitur dan kemampuan beban kerja harus memenuhi tujuan yang dimaksudkan.
Persyaratan Teknis Kode dan infrastruktur yang diperlukan untuk memenuhi persyaratan fungsi.
Analisis tren Analisis data historis untuk memperkirakan permintaan di masa mendatang.

Strategi desain utama

Perencanaan kapasitas adalah proses yang berjalan ke depan yang melibatkan pengambilan keputusan berdasarkan tuntutan dan pola beban kerja yang diantisipasi. Tujuannya adalah untuk mengoptimalkan performa beban kerja di seluruh skenario beban berkelanjutan dan puncak. Dengan memahami perubahan penggunaan, seperti pergeseran musiman atau rilis produk, Anda dapat mengalokasikan sumber daya secara strategis, mencegah ketegangan sistem selama periode permintaan tinggi. Strategi proaktif ini mengurangi gangguan dan meningkatkan efisiensi performa. Dengan menganalisis tren penggunaan dan data pertumbuhan sebelumnya, Anda dapat memperkirakan kebutuhan jangka pendek dan jangka panjang. Anda dapat menentukan potensi penyempitan dan masalah penskalaan, memastikan performa beban kerja yang konsisten dan efisien.

Mengumpulkan data kapasitas

Mengumpulkan data pemanfaatan beban kerja memerlukan pengumpulan dan analisis informasi tentang cara beban kerja menggunakan sumber daya. Anda harus mengumpulkan data tentang pola historis untuk beban kerja yang ada dan langkah-langkah prediktif untuk beban kerja baru. Proses ini membantu menerjemahkan tujuan bisnis ke dalam persyaratan teknis dan sangat penting untuk kapasitas prakiraan. Pertimbangkan rekomendasi berikut:

Memahami beban kerja yang sudah ada

Memahami beban kerja yang ada untuk perencanaan kapasitas melibatkan analisis data historis yang terkait dengan bagaimana beban kerja menggunakan sumber daya. Ini mencakup metrik seperti pemanfaatan sumber daya, data performa, dan pola beban kerja. Pemahaman ini memastikan alokasi sumber daya yang efisien, menerjemahkan tujuan bisnis ke dalam persyaratan teknis, dan membantu mengidentifikasi potensi penyempitan.

  • Pahami data: Tinjau data historis yang tersedia dan pahami struktur, format, dan relevansinya dengan perencanaan kapasitas. Tinjauan mungkin mencakup metrik pemanfaatan sumber daya, pola beban kerja, metrik performa, dan titik data lain yang relevan. Pahami proses bisnis dan kekritisan aplikasi. Identifikasi waktu penggunaan puncak, beban pengguna, tingkat transaksi, dan metrik relevan lainnya.

  • Bersihkan dan praproses data: Siapkan data untuk analisis dengan menghapus inkonsistensi, kesalahan, atau outlier apa pun. Menyiapkan data mungkin melibatkan teknik pembersihan data seperti imputasi data, penanganan nilai yang hilang, atau normalisasi.

  • Mengidentifikasi metrik utama: Identifikasi metrik yang relevan untuk perencanaan kapasitas. Metrik dapat mencakup pemanfaatan CPU, penggunaan memori, throughput jaringan, dan waktu respons.

  • Mengidentifikasi hambatan: Mengukur throughput dan waktu respons untuk mengidentifikasi komponen tertentu dari sistem Anda yang mungkin menjadi hambatan saat beban kerja tumbuh. Permintaan per detik dan penggunaan CPU database dapat menjadi indikator kapasitas yang baik.

  • Memvisualisasikan data: Membuat visualisasi, seperti bagan atau plot, untuk mendapatkan wawasan yang lebih baik tentang data historis. Visualisasi dapat membantu Anda mengidentifikasi pola, tren, dan anomali dalam data untuk memberi Anda pemahaman yang lebih jelas tentang perilaku beban kerja.

Memahami beban kerja baru

Memahami beban kerja baru untuk perencanaan kapasitas mengacu pada memprediksi persyaratan sumber daya tugas di masa mendatang tanpa data historis. Memprediksi kebutuhan masa depan beban kerja baru tanpa data historis bisa lebih menantang. Proses ini memastikan Anda mengalokasikan sumber daya secara efisien dan menyelaraskan alokasi dengan tujuan beban kerja saat beban kerja diperkenalkan. Pertimbangkan rekomendasi berikut:

  • Riset pasar: Melakukan riset pasar untuk memahami permintaan produk atau layanan serupa dapat memberikan wawasan yang berharga tentang potensi permintaan beban kerja baru. Penelitian ini dapat melibatkan analisis tren pasar, melakukan survei, atau mempelajari penawaran pesaing.

  • Penilaian ahli: Input dari pakar subjek atau profesional yang memiliki pengalaman di industri dapat membantu Anda memperkirakan permintaan beban kerja baru. Keahlian dan wawasan mereka dapat memberikan masukan berharga untuk prakiraan.

  • Proyek atau prototipe pilot: Proyek atau prototipe pilot skala kecil dapat membantu Anda mengumpulkan data dan umpan balik real-time. Anda kemudian dapat menggunakan data ini untuk menginformasikan proses perencanaan kapasitas dan menyesuaikan prakiraan permintaan.

  • Sumber data eksternal: Sumber data eksternal seperti laporan industri, studi pasar, atau survei pelanggan dapat memberikan informasi tambahan untuk memperkirakan permintaan untuk beban kerja baru. Sumber-sumber ini dapat menawarkan wawasan berharga tentang preferensi pelanggan, tren pasar, dan potensi pendorong permintaan.

Permintaan prakiraan

Prakiraan permintaan melibatkan penggunaan data beban kerja untuk memprediksi kebutuhan di masa depan untuk layanan atau produk. Sangat penting untuk perencanaan kapasitas untuk memastikan alokasi sumber daya yang efisien, mengantisipasi pola pertumbuhan, dan mempersiapkan potensi lonjakan permintaan. Ketika Anda memperkirakan permintaan di masa mendatang, Anda menggunakan data untuk merasakan kebutuhan di masa depan. Anda menerapkan analisis statistik, analisis tren, atau teknik pemodelan prediktif ke data yang Anda miliki untuk memperkirakan permintaan di masa mendatang. Metode ini memperhitungkan pola historis atau yang diantisipasi dan memproyeksikannya ke masa depan untuk memberikan perkiraan permintaan beban kerja yang diharapkan. Untuk memperkirakan permintaan, pertimbangkan strategi berikut:

Akun untuk berbagai skenario

Saat Anda melakukan perencanaan kapasitas, Anda perlu merencanakan skenario berbeda yang mungkin terjadi. Perencanaan ini harus mencakup pola pertumbuhan yang dapat diprediksi dan lonjakan permintaan yang tidak terduga. Pola penggunaan dapat tumbuh atau menyusut. Mereka bisa organik (lebih atau kurang pengguna) atau anorganik (peristiwa atau insiden keamanan). Anda perlu melakukan perencanaan kapasitas sebelum perubahan penggunaan, pada waktu-waktu utama:

  • Desain (prediksi)
  • Lonjakan reguler (08:00 terburu-buru masuk)
  • Peluncuran (validasi prediksi)
  • Perubahan model bisnis
  • Akuisisi atau penggabungan
  • Pendorongan pemasaran
  • Perubahan musiman
  • Peluncuran fitur
  • Secara berkala

Menggunakan teknik prediksi

Memperkirakan permintaan di masa depan untuk layanan atau produk melibatkan penggunaan teknik seperti analisis statistik, analisis tren, dan pemodelan prediktif. Berikut adalah gambaran umum tentang bagaimana Anda dapat menggunakan teknik ini:

  • Analisis statistik: Metode statistik dapat membantu mengungkap pola dan hubungan dalam data historis. Anda dapat menggunakan pola ini untuk memperkirakan permintaan di masa mendatang. Anda dapat menggunakan teknik seperti analisis rangkaian waktu, analisis regresi, dan rata-rata bergerak untuk mengidentifikasi tren, musiman, dan pola lainnya dalam data.

  • Analisis tren: Analisis tren melibatkan pemeriksaan data historis untuk mengidentifikasi pola yang konsisten dan mengekstrapolasi pola tersebut ke masa depan. Misalnya, jika permintaan beban kerja meningkat sebesar 10 persen selama setahun terakhir, Anda mungkin memperkirakan kelanjutan tren ini. Saat menganalisis data permintaan historis selama periode waktu tertentu, Anda dapat mengidentifikasi tren pertumbuhan atau pengurangan. Gunakan tren ini sebagai dasar untuk memperkirakan permintaan di masa mendatang. Analisis tren juga dapat mengidentifikasi efek peristiwa satu kali yang menyebabkan pergeseran lalu lintas yang cepat (anorganik). Misalnya, rilis fitur mungkin secara konsisten meningkatkan permintaan sebesar 5 persen. Jika Anda memiliki empat rilis utama setahun, Anda harus merencanakan pertumbuhan 5 persen setiap kali.

  • Pemodelan prediktif: Pemodelan prediktif adalah proses membangun model matematika yang menggunakan data historis dan variabel relevan lainnya untuk membuat prediksi tentang permintaan di masa mendatang. Anda dapat menggunakan teknik seperti algoritma pembelajaran mesin, jaringan neural, atau pohon keputusan. Model-model ini dapat memperhitungkan beberapa faktor dan variabel untuk memberikan perkiraan yang lebih akurat.

Menyelaraskan prakiraan dengan tujuan beban kerja

Menyelaraskan prakiraan dengan tujuan beban kerja melibatkan penyesuaian model kapasitas prediktif untuk memastikan mereka memenuhi tujuan dan tuntutan tertentu dari beban kerja tertentu. Penyelarasan ini memastikan sumber daya disediakan secara memadai, mencegah kurangnya penggunaan dan potensi kelebihan beban kerja. Misalnya, jika Anda bertujuan untuk mendukung API bagi 1 juta pengguna untuk mengunggah file 1-MB dalam detik, tetapi data saat ini menunjukkan kecepatan tulis yang lambat, Anda perlu menyesuaikan sistem Anda. Sangat penting untuk berbicara dengan pemangku kepentingan untuk memahami persyaratan beban kerja. Pastikan paket Anda selaras dengan janji (SLA) penyedia layanan Anda. Penyelarasan ini memastikan kapasitas Anda memenuhi permintaan yang diharapkan dan membantu menentukan area sistem yang mungkin memerlukan perubahan.

Menentukan persyaratan sumber daya

Menentukan persyaratan sumber daya untuk perencanaan kapasitas melibatkan penilaian sumber daya yang Anda butuhkan untuk memenuhi prakiraan permintaan. Misalnya, jika aplikasi mengantisipasi peningkatan 50% pengguna selama kampanye promosi, aplikasi mungkin perlu mengalokasikan lebih banyak instans cloud atau menyesuaikan parameter penskalaan otomatisnya untuk menangani peningkatan beban.

Beban kerja dapat memiliki banyak sumber daya, jadi tidak ada satu metrik untuk diamati untuk menentukan persyaratan sumber daya. Anda perlu mengukur kapasitas di tingkat sumber daya untuk mendapatkan hasil yang bermakna. Perkirakan permintaan yang diharapkan untuk sumber daya Anda berdasarkan data historis, tren pasar, dan proyeksi bisnis. Pertimbangkan jumlah transaksi, pengguna bersamaan, atau metrik relevan lainnya.

Berdasarkan perkiraan permintaan, hitung sumber daya yang diperlukan untuk memenuhi permintaan tersebut. Pertimbangkan faktor-faktor seperti kapasitas server, bandwidth jaringan, kapasitas penyimpanan, dan personel:

  • Kapasitas server: Tentukan kapasitas server yang diperlukan berdasarkan perkiraan jumlah pengguna atau transaksi bersamaan. Pertimbangkan faktor-faktor seperti persyaratan CPU, memori, dan ruang disk untuk memastikan bahwa server Anda dapat menangani beban kerja yang diharapkan.

  • Bandwidth jaringan: Evaluasi bandwidth jaringan yang Anda butuhkan untuk mendukung tingkat lalu lintas yang diantisipasi. Anda harus menyertakan tarif transfer data masuk dan keluar untuk memastikan komunikasi yang lancar dan efisien antara server dan klien.

  • Kapasitas penyimpanan: Perkirakan jumlah data yang dihasilkan atau diproses beban kerja selama prakiraan permintaan. Pertimbangkan faktor-faktor seperti ukuran database, persyaratan penyimpanan file, dan kebutuhan penyimpanan data lainnya yang khusus untuk aplikasi Anda.

  • Personil: Menilai sumber daya manusia yang diperlukan untuk mengelola dan memelihara infrastruktur, menangani dukungan pelanggan, melakukan pemeliharaan sistem, dan memastikan kelancaran operasi. Mempertimbangkan faktor-faktor seperti distribusi beban kerja, set keterampilan, dan keahlian yang diperlukan.

Memahami batasan sumber daya

Sumber daya dalam beban kerja Anda memiliki keterbatasan performa. Batasan performa berlaku untuk layanan dan SKU dalam setiap layanan. Anda perlu memahami batasan sumber daya dalam beban kerja Anda dan memperhitungkan keterbatasan tersebut ke dalam keputusan desain Anda. Misalnya, Anda harus mengetahui apakah keterbatasan sumber daya mengharuskan Anda mengubah SKU atau mengubah sumber daya sama sekali.

Anda juga perlu mengidentifikasi batas yang dapat dijangkau. Ini mengacu pada menentukan ambang batas maksimum atau batas beban kerja. Batas ini biasanya berlaku untuk infrastruktur (komputasi, memori, penyimpanan, jaringan), aplikasi (Penghubungan Database bersamaan, waktu respons, ketersediaan), layanan (permintaan per detik), dan penskalaan. Ketika perencanaan kapasitas mengidentifikasi batas yang dapat dijangkau, Anda perlu memodifikasi beban kerja sebelum batas membuat masalah performa. Garis besar performa, pemantauan berkelanjutan, dan pengujian sangat penting untuk memvalidasi batas dan solusinya.

Tradeoff: Perencanaan kapasitas yang salah dinilai dapat menyebabkan penyediaan sumber daya yang berlebihan atau kurang. Provisi berlebih menyebabkan biaya yang lebih tinggi. Kurang provisi dapat mengakibatkan performa yang buruk. Cobalah untuk menemukan keseimbangan yang tepat.

Fasilitasi Azure

Mengumpulkan data kapasitas dan permintaan prakiraan: Azure Monitor memungkinkan Anda mengumpulkan dan menganalisis data telemetri dari aplikasi dan infrastruktur Anda. Ini mendukung pemantauan berbagai sumber daya Azure, termasuk komputer virtual, kontainer, dan akun penyimpanan. Alat utama termasuk Application Insights dan Analitik Log. Dengan mengonfigurasi pengumpulan data dan menentukan metrik dan log yang ingin Anda pantau, Anda dapat mengumpulkan data beban kerja yang berharga untuk analisis. Untuk pemantauan jaringan, gabungkan Azure Monitor dengan Azure Network Watcher, wawasan jaringan Azure Monitor, dan pemantauan Azure ExpressRoute.

Azure Monitor memungkinkan Anda menganalisis data historis dan menerapkan teknik prakiraan untuk memprediksi tren beban kerja dan persyaratan kapasitas di masa mendatang. Anda dapat menghasilkan prakiraan yang dapat membantu Anda dengan perencanaan kapasitas. Prakiraan ini membantu memperkirakan kapasitas server, bandwidth jaringan, kapasitas penyimpanan, dan kebutuhan sumber daya lainnya dengan menggunakan pola permintaan yang diprediksi.

Menentukan persyaratan sumber daya: Karena menyediakan berbagai konfigurasi, alat dan layanan Azure dapat membantu Anda menentukan persyaratan teknis. Anda dapat menyelaraskan persyaratan beban kerja dengan sumber daya Azure yang tersedia, memastikan bahwa Anda memilih komponen dan pengaturan yang sesuai untuk memenuhi kebutuhan fungsional Anda.

Memahami batasan sumber daya: Azure menyediakan dokumentasi dan sumber daya untuk membantu Anda memahami keterbatasan performa berbagai layanan dan SKU Azure. Dengan mempertimbangkan batasan ini dapat membantu Anda membuat keputusan desain berdasarkan informasi dan mengoptimalkan arsitektur beban kerja Anda untuk performa dan efektivitas biaya.

Azure menyediakan opsi skalabilitas seperti penskalaan otomatis, yang dapat secara otomatis menyesuaikan sumber daya berdasarkan permintaan beban kerja. Anda dapat menskalakan secara vertikal dengan meningkatkan kapasitas sumber daya dengan menggunakan ukuran komputer virtual yang lebih besar, atau Anda dapat menskalakan secara horizontal dengan menambahkan instans baru sumber daya. Layanan Azure yang memiliki kemampuan autoscaling dapat secara otomatis menskalakan untuk memastikan kapasitas selama puncak beban kerja dan kembali normal saat beban menurun. Ada batas penskalaan dalam konfigurasi dan layanan yang harus Anda waspadai. Anda dapat membaca dokumentasi atau menjalankan pengujian. Azure menyediakan alat seperti Azure Load Testing, yang dapat mensimulasikan beban dan pola penggunaan yang berbeda untuk membantu Anda mengumpulkan data yang relevan tentang beban kerja Anda.

Daftar periksa Efisiensi Performa

Lihat kumpulan rekomendasi lengkap.