Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Efisiensi performa adalah tentang penggunaan sumber daya beban kerja yang efektif. Tanpa strategi yang baik, Anda mungkin tidak dapat mengantisipasi dan memenuhi tuntutan pengguna. Anda mungkin harus menggunakan pendekatan kapasitas pra-provisi berdasarkan prakiraan jangka panjang Anda, yang tidak memungkinkan Anda memanfaatkan sepenuhnya platform cloud Anda.
Efisiensi performa adalah kemampuan beban kerja untuk beradaptasi dengan mengubah permintaan dengan meningkatkan skala untuk memenuhi peningkatan beban tanpa memengaruhi pengalaman pengguna, dan menurunkan skala untuk menghemat sumber daya selama permintaan rendah. Kapasitas memainkan peran pusat, tetapi hanya mengandalkan sumber daya yang telah disediakan sebelumnya dapat menyebabkan masalah performa di bawah beban tinggi dan biaya yang tidak perlu selama penggunaan rendah.
Alih-alih memperlakukan performa sebagai hal selanjutnya, jadikan ini pertimbangan inti sejak awal. Mulailah lebih awal, bahkan jika Anda tidak memiliki target performa yang ketat, maka uji dan perbaiki sepanjang pengembangan. Pengoptimalan yang sedang berlangsung ini, yang diinformasikan oleh penggunaan dunia nyata, membantu mencegah masalah di masa depan dan memastikan performa yang konsisten.
Strategi yang direncanakan dengan baik membantu menyelaraskan kapasitas sumber daya dengan kebutuhan bisnis sambil meminimalkan limbah. Setelah pendekatan Anda ditentukan, gunakan daftar periksa Efisiensi Performa untuk memvalidasi desain Anda. Tanpa strategi proaktif, Anda berisiko mengandalkan prakiraan statis dan kehilangan manfaat penuh dari infrastruktur cloud yang dapat diskalakan.
Menegosiasikan target performa yang realistis
|
|
|---|
Dari perspektif performa, sangat ideal untuk memiliki target performa yang terdefinisi dengan baik untuk memulai proses desain Anda. Untuk menetapkan target tersebut, Anda harus memiliki pemahaman yang baik tentang persyaratan bisnis dan kualitas layanan yang diantisipasi yang diharapkan oleh beban kerja. Tentukan harapan bekerja sama dengan pemangku kepentingan bisnis. Alih-alih hanya berfokus pada metrik teknis, tentukan efek yang dapat diterima pada pengalaman pengguna untuk alur kunci.
Ada dependensi melingkar. Anda tidak dapat mengukur apa yang belum ditentukan, dan Anda tidak dapat menentukan tanpa pengukuran. Jadi, penting juga untuk mengukur performa beban kerja sampai Anda mencapai definisi ambang batas yang dapat diterima dengan perjanjian kolektif yang memuaskan .
Ada korelasi yang kuat antara target performa dan keandalan, yang membantu menentukan kualitas layanan dalam hal performa, ketersediaan, dan ketahanan. Tanpa definisi yang jelas, sulit untuk mengukur, memperingatkan, dan menguji performa. Setelah Anda menetapkan target dan mengidentifikasi angka aktual melalui pengujian dari waktu ke waktu, Anda dapat menerapkan otomatisasi untuk pengujian berkelanjutan terhadap target ini.
Patuhi praktik terbaik dalam menentukan target di tingkat makro, bahkan jika itu perkiraan atau dalam rentang.
| Pendekatan | Keuntungan |
|---|---|
| Bersiaplah untuk negosiasi yang efektif dengan memahami opsi teknis, mengeksplorasi kemungkinan desain, dan menerapkan hasil eksperimental. Gunakan data historis untuk mengidentifikasi pola penggunaan dan hambatan. Menggabungkan wawasan dari analisis pasar, standar industri, dan input ahli untuk memandu keputusan. |
Anda dapat membuat keputusan berdasarkan informasi berdasarkan wawasan praktis. Target performa akan didasarkan pada pengalaman pengguna yang didasarkan pada apa yang layak, praktik terbaik industri, dan tren pasar saat ini. |
| Selaras dengan pemilik bisnis pada ekspektasi pengguna dan standar performa, mempertimbangkan tingkat investasi. Hindari menyelam ke detail terperinci pada tahap awal desain, sambil mengingat konteks bisnis dan rencana pertumbuhan yang lebih luas. |
Anda akan menghindari asumsi yang tidak sejalan, mempromosikan kejelasan dan motivasi dalam tim, dan membuat keputusan desain berdasarkan informasi tentang trade-off. Ini juga memastikan target kinerja memperhitungkan kebutuhan di masa depan, menyelaraskan pekerjaan saat ini dengan tujuan bisnis jangka panjang. |
| Prioritaskan alur kritis dalam arsitektur berdasarkan dampak performa. Tentukan rentang toleransi performa untuk setiap alur, dari ideal hingga tidak dapat diterima. Menilai titik masuk dan keluar dengan mempertimbangkan frekuensi penggunaan, kepentingan, dan kompleksitas. |
Dengan memprioritaskan alur, Anda dapat memfokuskan sumber daya Anda pada area penting yang paling berpengaruh pada hasil pengguna dan bisnis. Dengan memecah sistem menjadi bagian dan dependensinya, Anda memahami fungsi setiap komponen dan memengaruhi performa. Anda juga menyadari potensi masalah. Ini membantu membangun garis besar performa dan mendorong pengoptimalan. |
| Mulai kembangkan model performa yang mempertimbangkan pola penggunaan, dampak bisnis, dan biaya operasional untuk menghitung target performa awal. Gunakan standar industri untuk menentukan dan mengukur metrik utama, dan menilai permintaan dan pasokan dalam kendala bisnis sambil memperhitungkan pertumbuhan di masa mendatang. Perlakukan ini sebagai proses berulang dan perbaiki target yang diinformasikan oleh pengamatan dan metrik dunia nyata yang dikumpulkan dari solusi yang berjalan, selama pengujian dan produksi. Prioritaskan kasus pengujian yang menghasilkan wawasan pemanfaatan yang bermakna di seluruh siklus hidup aplikasi penuh. |
Model performa membantu dalam perencanaan dan pengoptimalan sumber daya strategis, mendukung tolok ukur melalui standar industri, dan memastikan tujuan performa tetap dapat beradaptasi dan relevan dari waktu ke waktu. Berdasarkan target yang terus berkembang ini, Anda akan dapat melakukan perencanaan kapasitas yang akurat dan menetapkan garis besar performa yang tetap relevan sepanjang siklus hidup solusi. |
Desain untuk memenuhi persyaratan kapasitas
|
|
|---|
Penting untuk mengukur kinerja secara proaktif. Mengukur performa melibatkan pengukuran garis besar dan memiliki pemahaman awal tentang komponen sistem mana yang cenderung menimbulkan tantangan. Anda dapat mencapainya tanpa melakukan pengujian performa penuh atau melalui pengoptimalan terperinci. Dengan mengambil langkah-langkah awal ini, Anda membangun fondasi untuk manajemen kinerja yang efektif di awal siklus hidup pengembangan.
Periksa sistem secara keseluruhan, daripada berfokus pada komponen individual. Hindari penyempurnaan pada tahap ini. Membuat peningkatan performa terperinci menghasilkan tradeoff di bidang lain. Saat Anda maju melalui siklus hidup dan memulai pengujian penerimaan pengguna atau beralih ke produksi, Anda dapat dengan cepat mengidentifikasi area mana yang memerlukan pengoptimalan lebih lanjut.
| Pendekatan | Keuntungan |
|---|---|
| Mengevaluasi kebutuhan penskalaan dinamis untuk alur yang diprioritaskan berdasarkan persyaratan penggunaan. Pahami pola permintaan yang diharapkan dan menentukan seberapa elastis setiap alur harus memenuhi persyaratan tersebut. | Anda dapat menentukan persyaratan skalabilitas pada komponen yang ada yang membutuhkan lebih banyak kapasitas dan area di mana Anda memerlukan komponen tambahan untuk mendistribusikan beban. |
| Pilih sumber daya yang tepat dan hakkan di seluruh tumpukan teknologi, yang memungkinkan Anda memenuhi tujuan performa. Pertimbangkan fitur yang dapat memenuhi persyaratan skalabilitas. |
Sistem keseluruhan akan dan melakukan sesuai target yang ditentukan. Anda dapat menggunakan fitur bawaan yang secara otomatis menskalakan saat diperlukan. Ini juga membantu Anda menghindari provisi berlebih, menghemat biaya sambil tetap menangani perubahan permintaan. |
| Lakukan perencanaan kapasitas berdasarkan model performa dan kemampuan sumber daya yang dipilih. Gunakan teknik pemodelan prediktif untuk memperkirakan perubahan kapasitas yang diantisipasi. |
Sistem ini akan dapat memenuhi tujuan performa sambil tetap siap untuk permintaan di masa mendatang. Pemodelan prediktif membantu Anda merencanakan ke depan, menghindari kekurangan sumber daya atau provisi berlebih, yang meningkatkan keandalan dan efisiensi biaya. |
| Terapkan bukti konsep dan validasi usulan pilihan desain untuk memenuhi persyaratan teknis. | Bukti konsep membantu memvalidasi apakah desain dapat memenuhi target performa dan beban yang diantisipasi. |
Mencapai dan mempertahankan performa
|
|
|---|
Pengembangan bukanlah upaya satu kali. Ini adalah proses yang sedang berlangsung. Mengharapkan perubahan performa saat fitur berubah. Ada varians dalam pola dan profil pengguna, bahkan perubahan dari pengoptimalan di pilar Azure Well-Architected lainnya. Setiap perubahan dapat membatasi sumber daya beban kerja.
Lindungi sistem dari geser kembali pada target performa. Uji performa sistem dalam produksi dengan beban nyata dan simulasikan beban tersebut dengan pengujian otomatis sebelum produksi. Dalam kedua kasus, Anda harus memiliki praktik pemantauan untuk tujuan verifikasi.
Perlu diingat bahwa target performa bervariasi dari waktu ke waktu, sebagai respons terhadap perubahan. Perbarui model performa berdasarkan metrik yang diuji dan dipantau. Jelas menunjukkan peningkatan, berkurang, atau tidak berpengaruh pada performa alur.
Selalu siap untuk menegosiasikan ulang dan mengatur ulang ekspektasi dengan pemangku kepentingan bisnis.
| Pendekatan | Keuntungan |
|---|---|
| Tentukan strategi pengujian performa Anda. Lakukan berbagai jenis pengujian termasuk tes manual dan upaya rendah untuk mengunjungi kembali tolok ukur. Tambahkan pengujian performa reguler ke alur Anda menggunakan alat yang berfungsi dengan baik dengannya. |
Anda dapat memastikan bahwa sumber daya dialokasikan secara efektif dan memvalidasi metrik sesuai dengan perencanaan kapasitas. Pengujian performa rutin otomatis membantu mengevaluasi faktor kunci secara konsisten seperti latensi, stres, dan kapasitas beban, sehingga lebih mudah untuk mendeteksi masalah dini dan menjaga performa tetap stabil dari waktu ke waktu. |
| Formalisasi pengujian performa sebagai gerbang kualitas. | Titik pemeriksaan ini memastikan setiap tahap penyebaran memenuhi standar performa sebelum bergerak maju. Mereka membantu menangkap masalah lebih awal dan memungkinkan Anda membuat keputusan yang berkualitas. Misalnya, memblokir rilis jika performa berada di bawah ekspektasi. |
| Siapkan proses pemantauan performa yang melacak transaksi bisnis end-to-end dan metrik teknis seperti CPU, latensi, dan permintaan per detik. Pastikan Anda menggunakan transaksi nyata dan sintetis dalam produksi. Siapkan pemberitahuan pemantauan pada regresi performa. |
Dengan memantau semua bagian sistem, Anda mendapatkan visibilitas yang jelas dan dapat dengan cepat mendeteksi masalah dalam infrastruktur dan aplikasi. Ini membantu Anda menyempurnakan sumber daya untuk mempertahankan standar performa dan juga melacak kemajuan atau menemukan masalah lebih awal. |
| Tinjau hasil pengujian performa dan pantau data secara cermat saat penggunaan meningkat, dan data terakumulasi dengan sistem dalam produksi. Prioritaskan tindakan yang mengatasi penurunan performa dan tambahkan ke backlog untuk eksekusi yang direncanakan. |
Menggunakan data untuk melacak dan membandingkan tren performa membantu Anda membuat keputusan pengoptimalan berdasarkan informasi dan menangkap masalah lebih awal, sebelum memengaruhi pengalaman pengguna. Ini juga memastikan Anda tidak mengoptimalkan sistem yang sudah memiliki kapasitas berlebihan. |
| Jelajahi pola desain yang dapat menyempurnakan performa di seluruh tumpukan teknologi, mengingat aplikasi dan lapisan komputasi dan data yang mendasar. | Anda dapat mengatasi hambatan dan menerapkan kontrol kompensasi untuk mengurangi latensi dan beban sistem. |
| Bangun keterampilan pengodean dengan fokus pada performa dan ikuti standar yang mempromosikan pola pengkodean yang efisien. | Kode berkinerja tinggi yang ditulis dengan baik membuat pengujian lebih cepat dengan mengurangi masalah dan membantu menghindari pengerjaan ulang sambil menjaga kode tetap konsisten. |
Optimalkan untuk peningkatan jangka panjang
|
|
|---|
Target performa awal bertujuan untuk memberikan pengalaman pengguna yang wajar dalam batasan yang diketahui. Seiring berkembangnya sistem, menilai kembali target tersebut menggunakan data produksi nyata untuk lebih memahami pola penggunaan, perubahan platform, dan potensi keuntungan, memastikan bahwa upaya pengoptimalan berwaktu baik dan efektif. Seringkali yang terbaik adalah menunda pengoptimalan utama sampai data ini tersedia untuk menghindari keputusan prematur.
Penyetelan performa adalah siklus pemantauan, pengoptimalan, pengujian, dan penyebaran berkelanjutan. Peningkatan efisiensi dapat mengurangi penggunaan sumber daya, terkadang menyebabkan provisi berlebih. Kapasitas tambahan ini kemudian dapat digunakan untuk meningkatkan keandalan, mengurangi biaya, atau mendukung fitur baru tanpa menambahkan infrastruktur.
| Pendekatan | Keuntungan |
|---|---|
| Sisihkan waktu khusus untuk pengoptimalan performa sebagai praktik reguler sepanjang siklus hidup pengembangan. | Dalam budaya berbasis performa, pendekatan ini memperkuat akuntabilitas, di mana tim secara aktif memantau dan terus meningkatkan performa sistem. |
| Kunjungi kembali persyaratan nonfungsi dan tetapkan target baru dengan menganalisis tren historis dalam produksi untuk meningkatkan arsitektur dengan pola dan komponen desain yang ditingkatkan. | Desain dan komponen baru, seperti penembolokan atau CDN, dapat mengoptimalkan sistem dan meningkatkan pengalaman pengguna. |
| Dapatkan arus dan tetap terkini dengan inovasi teknologi yang dapat meningkatkan performa. Manfaatkan versi baru yang dirilis untuk kerangka kerja dan pustaka dependen. Demikian pula, gunakan fitur baru untuk sumber daya platform saat diperbarui dan di-patch. |
Target performa memberikan pembenaran untuk mengadopsi teknologi baru. Kode yang mungkin telah lambat di masa lalu dapat menjadi lebih cepat dengan pembaruan ini. Anda juga ingin mengetahui bagaimana pembaruan tertentu berdampak negatif pada performa. |