Meningkatkan efisiensi melalui pengoptimalan

Selesai
Tingkatkan efisiensi sistem dalam target performa yang ditentukan untuk meningkatkan nilai beban kerja.

Target yang ditetapkan selama fase awal didasarkan pada tingkat pengalaman pengguna yang wajar, mempertimbangkan berbagai batasan. Anda harus menilai kembali dan menyesuaikan target untuk lebih meningkatkan pengalaman. Untuk lebih meningkatkan pengalaman, diperlukan pemahaman yang jelas tentang bagaimana sistem digunakan, bagaimana sistem telah berkembang, dan bagaimana platform atau teknologi telah berubah dari waktu ke waktu. Siklus pemantauan, pengoptimalan, pengujian, dan penyebaran adalah proses berkelanjutan.

Upaya pengoptimalan efisiensi memungkinkan beban kerja bekerja dengan konsumsi sumber daya yang lebih rendah. Mereka dapat menyebabkan beban kerja berada dalam keadaan terlalu tersedia dengan kapasitas cadangan. Gunakan kapasitas tersebut untuk meningkatkan keandalan sistem. Hilangkan kapasitas untuk meningkatkan biaya sistem. Atau gunakan kembali kapasitas untuk mendukung fitur produk baru pada sumber daya yang ada.

Ketika sistem mendapatkan efisiensi, ambil kesempatan untuk menetapkan dan mempertahankan target performa baru.

Contoh skenario

Tim teknik SDM Contoso mendukung integrasi kustom ke dalam sistem informasi sumber daya manusia (HRIS) organisasi. Integrasi ini termasuk integrasi keuangan untuk penggajian, statistik perekrutan untuk pelaporan hukum tenaga kerja pemerintah, dan lainnya. Sebagian besar integrasi adalah Azure Functions yang ditulis dalam C# yang dihosting di kluster Kubernetes dengan dukungan Azure Arc di pusat data organisasi. Sebagian besar pekerjaan telah berjalan dengan baik, tetapi karena keterlambatan pemrosesan, beberapa membuat tim cemas karena terkadang data penting tidak tersedia ketika direktur SDM membutuhkannya.

Memprioritaskan pengoptimalan performa

Alokasikan siklus khusus untuk pengoptimalan performa untuk mengatasi persyaratan dan pengoptimalan nonfungsi di area fungsional. Target untuk pengoptimalan ini adalah sumber daya, kode, retensi data, kueri database, dan lainnya.

Dengan mengadopsi pendekatan ini, Anda dapat membangun budaya pengoptimalan berbasis performa. Anda menjaga tim tetap bertanggung jawab untuk memantau pola performa secara proaktif dan juga menyempurnakan aplikasi.

Tantangan Contoso

  • Tim agak scrappy, dan backlog mereka panjang. Sebagian besar waktu mereka bekerja dalam pola pikir "api dan lupakan" saat menulis dan menyebarkan integrasi; integrasi ditulis, disebarkan, lalu tim melanjutkan ke tugas berikutnya.
  • Tim telah sering dipanggil untuk masalah dukungan insiden kritis karena kepemimpinan senior tidak memiliki akses ke data secara tepat waktu.
  • Tim sangat menyadari bahwa perbaikan perlu dilakukan, tetapi belum memprioritaskan membuat perubahan yang diperlukan.

Menerapkan pendekatan dan hasil

  • Tim sekarang mengalokasikan 20% dari setiap sprint untuk utang teknis dan kegiatan pengoptimalan lainnya. Ini adalah membeli waktu tim teknik untuk memprioritaskan dan mengatasi area penting dan area lain di mana dampaknya bisa paling bermakna.
  • Dengan mengambil pendekatan ini, tim dapat mendedikasikan waktu yang diperlukan untuk mengatasi masalah performa yang menyebabkan keterlambatan pemrosesan data.

Cari penyempurnaan desain

Tingkatkan arsitektur dengan pola dan komponen desain baru, yang dapat meningkatkan performa, dengan cara yang sebelumnya tidak Anda pertimbangkan karena waktu atau anggaran yang terbatas.

Desain dan komponen baru dapat mengoptimalkan sistem, yang mengarah ke pengalaman pengguna yang lebih baik dan efisiensi biaya jangka panjang. Misalnya, Anda dapat menggunakan penembolokan atau menambahkan komponen jaringan pengiriman konten.

Tantangan Contoso

  • Tim telah menggunakan Azure Functions dan alur berbasis pemicu selama beberapa tahun dan belum mendedikasikan waktu untuk mengevaluasi alternatif untuk pendekatan ini.

Menerapkan pendekatan dan hasil

  • Tim mencari cara lain untuk menggunakan Azure Functions, dan menemukan bahwa fungsi tahan lama mendukung model fan-out yang dapat membantu mereka menyejajarkan tugas penggajian tertentu.
  • Tim menggabungkan pola ini ke dalam katalog desain mereka untuk desain di masa depan. Ini juga merupakan pengingat yang baik untuk melihat cara lain mengatasi inefisiensi performa daripada hanya pengoptimalan kode dan pembersihan data.

Gunakan alat pemantauan untuk menganalisis tren historis dan untuk mengidentifikasi alur dan jalur implementasi kode yang akan mendapat manfaat paling besar dari upaya pengoptimalan performa. Kami merekomendasikan alat dan profiler pemantauan performa aplikasi (APM) untuk tujuan ini. Selain itu, identifikasi jalur panas operasi dan potensi hambatan lainnya dalam sistem.

Ketika Anda mengidentifikasi area bermasalah berulang, tim dapat fokus di mana keuntungan adalah yang tertinggi.

Tantangan Contoso

  • Tim telah melengkapi semua fungsi dengan Azure Application Insights.
  • Mereka sebagian besar menggunakan Application Insights untuk masalah perbaikan jeda dan untuk sink pengelogan.
  • Secara historis, pendekatan mereka untuk menargetkan area untuk perbaikan telah didasarkan pada umpan balik yang berasal dari tim kepemimpinan senior.

Menerapkan pendekatan dan hasil

  • Meskipun umpan balik penting, tim menyadari bahwa Application Insights melakukan pekerjaan yang cukup baik untuk mendeteksi hotspot dalam aplikasi yang dipantaunya.
  • Tim mulai memanfaatkan fungsionalitas ini dan dikombinasikan dengan mengetahui alur mana yang penting, itu berubah menjadi alat yang berharga untuk upaya 20% tim pada peningkatan teknis dan efisiensi.
  • Dengan menggunakan Application Insights, tim dapat secara proaktif mengidentifikasi integrasi berisiko dan menanganinya sebelum anggota tim kepemimpinan mengalami masalah.

Uji pengetahuan Anda

1.

Bagaimana tim Contoso mengubah proses pengembangan mereka untuk mengatasi masalah performa yang sedang berlangsung?

2.

Manakah dari berikut ini yang merupakan strategi yang baik untuk meningkatkan efisiensi beban kerja Anda?

3.

Jenis alat apa yang dapat membantu Anda menganalisis tren performa dan mengidentifikasi hambatan eksekusi?