Pilar dalam Google Cloud Framework Arsitektur Baik memberikan rekomendasi untuk mengoptimalkan performa workload di Google Cloud.
Dokumen ini ditujukan untuk arsitek, developer, dan administrator yang merencanakan, mendesain, men-deploy, dan mengelola workload di Google Cloud.
Rekomendasi dalam pilar ini dapat membantu organisasi Anda beroperasi secara efisien, meningkatkan kepuasan pelanggan, menambah pendapatan, dan mengurangi biaya. Misalnya, saat waktu pemrosesan backend aplikasi berkurang, pengguna akan mengalami waktu respons yang lebih cepat, yang dapat menghasilkan retensi pengguna yang lebih tinggi dan lebih banyak pendapatan.
Proses pengoptimalan performa dapat melibatkan kompromi antara performa dan biaya. Namun, pengoptimalan performa terkadang dapat membantu Anda mengurangi biaya. Misalnya, saat beban meningkat, penskalaan otomatis dapat membantu memberikan performa yang dapat diprediksi dengan memastikan bahwa resource sistem tidak overload. Penskalaan otomatis juga membantu Anda mengurangi biaya dengan menghilangkan resource yang tidak digunakan selama periode beban rendah.
Pengoptimalan performa adalah proses berkelanjutan, bukan aktivitas satu kali. Diagram berikut ini menampilkan tahapan dalam proses pengoptimalan performa:
Proses pengoptimalan performa adalah siklus berkelanjutan yang mencakup tahapan berikut:
- Menentukan persyaratan: Tentukan persyaratan performa terperinci untuk setiap lapisan stack aplikasi sebelum Anda mendesain dan mengembangkan aplikasi. Untuk merencanakan alokasi resource, pertimbangkan karakteristik workload utama dan ekspektasi performa.
- Mendesain dan men-deploy: Gunakan pola desain yang elastis dan skalabel yang dapat membantu Anda memenuhi persyaratan performa.
- Memantau dan menganalisis: Pantau performa secara terus-menerus dengan menggunakan log, pelacakan, metrik, dan pemberitahuan.
Optimalkan: Pertimbangkan kemungkinan desain ulang seiring perkembangan aplikasi Anda. Menyesuaikan ukuran resource cloud dan menggunakan fitur baru untuk memenuhi persyaratan performa yang berubah-ubah.
Seperti ditunjukkan dalam diagram sebelumnya, lanjutkan siklus pemantauan, penilaian ulang persyaratan, dan sesuaikan resource cloud.
Untuk prinsip dan rekomendasi pengoptimalan performa yang dikhususkan untuk workload AI dan ML, lihat Perspektif AI dan ML: Pengoptimalan performa di Framework yang Arsitekturnya Baik.
Prinsip inti
Rekomendasi dalam pilar pengoptimalan performa dari Framework yang Tersusun dengan Baik dipetakan ke prinsip inti berikut:
- Merencanakan alokasi resource
- Memanfaatkan elastisitas
- Mempromosikan desain modular
- Memantau dan meningkatkan performa secara berkelanjutan
Kontributor
Penulis:
- Daniel Lees | Arsitek Keamanan Cloud
- Gary Harmson | Principal Architect
- Luis Urena | Engineer Hubungan Developer
- Zach Seils | Spesialis Jaringan
Kontributor lainnya:
- Filipe Gracio, PhD | Customer Engineer
- Jose Andrade | Enterprise Infrastructure Customer Engineer
- Kumar Dhanagopal | Developer Solusi Lintas Produk
- Marwan Al Shawi | Partner Customer Engineer
- Nicolas Pintaux | Customer Engineer, Application Modernization Specialist
- Ryan Cox | Principal Architect
- Radhika Kanakam | Senior Program Manager, Cloud GTM
- Samantha He | Technical Writer
- Wade Holmes | Direktur Solusi Global
Merencanakan alokasi sumber daya
Prinsip yang ada dalam pilar pengoptimalan performa di Google Cloud Framework Arsitektur Baik ini memberikan rekomendasi guna membantu Anda merencanakan resource untuk workload Anda di Google Cloud. Bagian ini menekankan pentingnya menentukan persyaratan terperinci sebelum mendesain dan mengembangkan aplikasi untuk deployment atau migrasi cloud.
Ringkasan prinsip
Untuk memenuhi persyaratan bisnis, Anda harus menentukan persyaratan performa untuk aplikasi, sebelum tahap desain dan pengembangan. Tentukan persyaratan ini sedetail mungkin untuk aplikasi secara keseluruhan dan untuk setiap lapisan stack aplikasi. Misalnya, di lapisan penyimpanan, Anda harus mempertimbangkan throughput dan operasi I/O per detik (IOPS) yang diperlukan aplikasi.
Sejak awal, rencanakan desain aplikasi dengan mempertimbangkan performa dan skalabilitas. Pertimbangkan faktor-faktor seperti jumlah pengguna, volume data, dan potensi pertumbuhan dari waktu ke waktu.
Persyaratan performa untuk setiap workload bervariasi dan bergantung pada jenis beban kerja. Setiap workload dapat berisi campuran layanan dan sistem komponen yang memiliki serangkaian karakteristik performa yang unik. Misalnya, sistem yang bertanggung jawab atas batch processing berkala dari set data besar memiliki tuntutan performa yang berbeda dengan solusi desktop virtual interaktif. Strategi pengoptimalan Anda harus memenuhi kebutuhan spesifik setiap workload.
Pilih layanan dan fitur yang sesuai dengan sasaran performa setiap workload. Untuk pengoptimalan performa, tidak ada solusi tunggal yang cocok untuk semua situasi. Jika Anda mengoptimalkan setiap workload, seluruh sistem dapat mencapai performa dan efisiensi yang optimal.
Pertimbangkan karakteristik workload berikut yang dapat memengaruhi persyaratan performa Anda:
- Arketipe deployment: Arketipe deployment yang Anda pilih untuk aplikasi dapat memengaruhi pilihan produk dan fitur, yang kemudian menentukan performa yang dapat Anda harapkan dari aplikasi Anda.
- Penempatan resource: Saat memilih Google Cloud region untuk resource aplikasi Anda, sebaiknya prioritaskan latensi rendah untuk pengguna akhir, patuhi peraturan lokalitas data, dan pastikan ketersediaan produk dan layanan Google Cloud yang diperlukan.
- Konektivitas jaringan: Memilih layanan jaringan yang mengoptimalkan akses data dan pengiriman konten. Manfaatkan jaringan global Google Cloud, backbone berkecepatan tinggi, lokasi interkoneksi, dan layanan caching.
- Opsi hosting aplikasi: Saat memilih platform hosting, Anda harus mengevaluasi kelebihan dan kekurangan performa dari setiap opsi. Misalnya, pertimbangkan bare metal, virtual machine, container, dan platform serverless.
- Strategi penyimpanan: Pilih strategi penyimpanan yang optimal berdasarkan persyaratan performa Anda.
- Konfigurasi resource: Jenis mesin, IOPS, dan throughput dapat memiliki dampak yang signifikan terhadap performa. Selain itu, di awal fase desain, Anda harus mempertimbangkan kemampuan keamanan yang sesuai dan dampaknya terhadap resource. Saat merencanakan fitur keamanan, bersiaplah untuk mengakomodasi kompromi performa yang diperlukan untuk menghindari efek yang tidak terduga.
Rekomendasi
Untuk memastikan alokasi resource yang optimal, pertimbangkan rekomendasi di bagian berikut.
Mengonfigurasi dan mengelola kuota
Pastikan aplikasi Anda hanya menggunakan resource yang diperlukan, seperti memori, penyimpanan, dan daya pemrosesan. Alokasi yang berlebihan dapat menyebabkan biaya yang tidak perlu, sedangkan alokasi yang kurang dapat menyebabkan penurunan performa.
Untuk mengakomodasi penskalaan yang elastis dan memastikan ketersediaan resource yang memadai, pantau kapasitas kuota Anda secara rutin. Selain itu, pantau penggunaan kuota untuk mengidentifikasi potensi batasan penskalaan atau masalah alokasi berlebih, lalu buat keputusan yang tepat tentang alokasi resource.
Mengedukasi dan mendorong awareness
Beri tahu pengguna tentang persyaratan performa dan sediakan referensi edukasi tentang teknik pengelolaan performa yang efektif.
Untuk mengevaluasi progres dan mengidentifikasi area yang perlu ditingkatkan, dokumentasikan performa target dan performa sebenarnya secara rutin. Lakukan pengujian beban pada aplikasi Anda untuk menemukan potensi titik henti sementara dan memahami cara menskalakan aplikasi.
Memantau metrik performa
Gunakan Cloud Monitoring untuk menganalisis tren dalam metrik performa, menganalisis efek eksperimen, menentukan pemberitahuan metrik penting, dan melakukan analisis retrospektif.
Active Assist adalah serangkaian alat yang dapat memberikan insight dan rekomendasi untuk membantu mengoptimalkan penggunaan resource. Rekomendasi ini dapat membantu Anda menyesuaikan alokasi resource dan meningkatkan performa.
Memanfaatkan elastisitas
Prinsip dalam pilar pengoptimalan performa di Google Cloud Framework Arsitektur Baik memberikan rekomendasi untuk membantu Anda menerapkan elastisitas, yaitu kemampuan untuk menyesuaikan resource secara dinamis berdasarkan perubahan persyaratan workload.
Dengan elastisitas, berbagai komponen sistem dapat melakukan penskalaan secara mandiri. Penskalaan yang ditargetkan ini dapat membantu meningkatkan performa dan efisiensi biaya dengan mengalokasikan resource secara tepat sesuai kebutuhan, tanpa penyediaan berlebihan atau penyediaan resource.
Ringkasan prinsip
Persyaratan performa sistem secara langsung memengaruhi kapan dan bagaimana sistem melakukan penskalaan secara vertikal atau horizontal. Anda perlu mengevaluasi kapasitas sistem dan menentukan beban yang diharapkan dapat ditangani sistem pada dasar pengukuran. Kemudian, Anda perlu menentukan cara sistem merespons peningkatan dan penurunan beban.
Saat beban meningkat, sistem harus menyebarkan skala secara horizontal, meningkatkan skala secara vertikal, atau keduanya. Untuk penskalaan horizontal, tambahkan node replika untuk memastikan sistem memiliki kapasitas keseluruhan yang memadai untuk memenuhi peningkatan permintaan. Untuk penskalaan vertikal, ganti komponen yang ada pada aplikasi dengan komponen yang berisi lebih banyak kapasitas, lebih banyak memori, dan lebih banyak penyimpanan.
Saat beban berkurang, sistem harus memperkecil skala (secara horizontal, vertikal, atau keduanya).
Tentukan situasi saat sistem meningkatkan atau menurunkan skala. Rencanakan untuk meningkatkan skala sistem secara manual selama periode traffic tinggi yang diketahui. Gunakan alat seperti penskalaan otomatis, yang merespons peningkatan atau penurunan beban.
Rekomendasi
Untuk memanfaatkan elastisitas, pertimbangkan rekomendasi di bagian berikut.
Rencanakan periode pemuatan puncak
Anda perlu merencanakan jalur penskalaan yang efisien untuk peristiwa yang diketahui, seperti periode yang diharapkan dari peningkatan permintaan pelanggan.
Pertimbangkan untuk meningkatkan skala sistem Anda sebelum periode traffic tinggi yang diketahui. Misalnya, jika Anda adalah organisasi retail, Anda memperkirakan permintaan akan meningkat selama penjualan musiman. Sebaiknya Anda meningkatkan skala atau menskalakan sistem secara manual sebelum penjualan tersebut untuk memastikan sistem dapat segera menangani peningkatan beban atau segera menyesuaikan batas yang ada. Jika tidak, sistem mungkin memerlukan waktu beberapa menit untuk menambahkan resource sebagai respons terhadap perubahan real-time. Kapasitas aplikasi Anda mungkin tidak meningkat cukup cepat dan menyebabkan beberapa pengguna mengalami keterlambatan.
Untuk peristiwa yang tidak diketahui atau tidak terduga, seperti lonjakan permintaan atau traffic yang tiba-tiba, Anda dapat menggunakan fitur penskalaan otomatis untuk memicu penskalaan elastis yang didasarkan pada metrik. Metrik ini dapat mencakup pemakaian CPU, kapasitas layanan load balancer, latensi, dan bahkan metrik kustom yang Anda tentukan di Cloud Monitoring.
Misalnya, pertimbangkan aplikasi yang berjalan pada grup instance terkelola (MIG) Compute Engine. Aplikasi ini memiliki persyaratan bahwa setiap instance berperforma optimal hingga penggunaan CPU rata-rata mencapai 75%. Dalam contoh ini, Anda dapat menentukan kebijakan penskalaan otomatis yang membuat lebih banyak instance saat pemakaian CPU mencapai batas. Instance yang baru dibuat ini membantu menyerap beban, yang membantu memastikan pemakaian CPU rata-rata tetap pada tingkat optimal hingga jumlah instance maksimum yang dikonfigurasi untuk MIG tercapai. Saat permintaan menurun, kebijakan penskalaan otomatis akan menghapus instance yang tidak lagi diperlukan.
Rencanakan reservasi slot resource di BigQuery atau sesuaikan batas konfigurasi penskalaan otomatis di Spanner menggunakan autoscaler terkelola.
Gunakan penskalaan prediktif
Jika komponen sistem menyertakan Compute Engine, Anda harus mengevaluasi apakah penskalaan otomatis prediktif cocok untuk workload Anda. Penskalaan otomatis prediktif memperkirakan beban mendatang berdasarkan tren historis metrik Anda—misalnya, penggunaan CPU. Perkiraan dihitung ulang setiap beberapa menit, sehingga autoscaler dapat dengan cepat menyesuaikan perkiraannya dengan perubahan beban terbaru. Tanpa penskalaan otomatis prediktif, autoscaler hanya dapat menskalakan grup secara reaktif, berdasarkan perubahan beban real-time yang diamati. Penskalaan otomatis prediktif berfungsi dengan data real-time dan data historis untuk merespons beban saat ini dan yang diperkirakan.
Mengimplementasikan arsitektur serverless
Pertimbangkan untuk mengimplementasikan arsitektur serverless dengan layanan serverless yang secara inheren elastis, seperti berikut:
Tidak seperti penskalaan otomatis di layanan lain yang memerlukan aturan penyesuaian (misalnya, Compute Engine), penskalaan otomatis tanpa server bersifat instan dan dapat menurunkan skala hingga nol resource.
Menggunakan mode Autopilot untuk Kubernetes
Untuk aplikasi kompleks yang memerlukan kontrol lebih besar atas Kubernetes, pertimbangkan mode Autopilot di Google Kubernetes Engine (GKE). Mode Autopilot menyediakan otomatisasi dan skalabilitas secara default. GKE otomatis menskalakan node dan resource berdasarkan traffic. GKE mengelola node, membuat node baru untuk aplikasi Anda, serta mengonfigurasi upgrade dan perbaikan otomatis.
Mempromosikan desain modular
Prinsip yang ada dalam pilar pengoptimalan performa di Google Cloud Framework Baik-Architected memberikan rekomendasi untuk membantu Anda mempromosikan desain modular. Komponen modular dan antarmuka yang jelas dapat memungkinkan penskalaan fleksibel, update independen, dan pemisahan komponen di masa mendatang.
Ringkasan prinsip
Pahami dependensi antara komponen aplikasi dan komponen sistem untuk mendesain sistem yang skalabel.
Desain modular memungkinkan fleksibilitas dan ketahanan, terlepas dari apakah arsitektur monolitik atau microservice pada awalnya di-deploy. Dengan menguraikan sistem menjadi modul independen yang terdefinisi dengan baik dengan antarmuka yang jelas, Anda dapat menskalakan setiap komponen untuk memenuhi permintaan tertentu.
Penskalaan yang ditargetkan dapat membantu mengoptimalkan penggunaan resource dan mengurangi biaya dengan cara berikut:
- Hanya menyediakan resource yang diperlukan untuk setiap komponen, dan mengalokasikan lebih sedikit resource untuk komponen yang tidak terlalu menuntut.
- Menambahkan lebih banyak resource selama periode dengan traffic tinggi untuk mempertahankan pengalaman pengguna.
- Menghapus resource yang kurang dimanfaatkan tanpa mengorbankan performa.
Modularitas juga meningkatkan kemudahan pemeliharaan. Unit mandiri yang lebih kecil lebih mudah dipahami, di-debug, dan diupdate, yang dapat menghasilkan siklus pengembangan yang lebih cepat dan pengurangan risiko.
Meskipun modularitas menawarkan keuntungan yang signifikan, Anda harus mengevaluasi potensi kompromi performa. Peningkatan komunikasi antar-modul dapat menghasilkan latensi dan overhead. Upayakan keseimbangan antara modularitas dan performa. Desain yang sangat modular mungkin tidak cocok secara universal. Jika performa dianggap penting, pendekatan yang terkait lebih erat mungkin sesuai. Desain sistem adalah proses berulang, di mana Anda terus meninjau dan meningkatkan kualitas desain modular Anda.
Rekomendasi
Untuk mempromosikan desain modular, pertimbangkan rekomendasi di bagian berikut.
Desain untuk sambungan longgar
Desain arsitektur yang dikaitkan secara longgar. Komponen independen dengan dependensi minimal dapat membantu Anda mem-build aplikasi yang skalabel dan tangguh. Saat merencanakan batas untuk layanan, Anda harus mempertimbangkan persyaratan ketersediaan dan skalabilitas. Misalnya, jika satu komponen memiliki persyaratan yang berbeda dengan komponen lainnya, Anda dapat mendesain komponen tersebut sebagai layanan mandiri. Terapkan rencana untuk kegagalan halus untuk subproses atau layanan yang kurang penting yang tidak memengaruhi waktu respons layanan utama.
Desain untuk konkurensi dan paralelisme
Rancang aplikasi Anda untuk mendukung beberapa tugas secara serentak, seperti memproses beberapa permintaan pengguna atau menjalankan tugas latar belakang saat pengguna berinteraksi dengan sistem Anda. Pecah tugas besar menjadi potongan-potongan kecil yang dapat diproses secara bersamaan oleh beberapa instance layanan. Konkurensi tugas memungkinkan Anda menggunakan fitur seperti penskalaan otomatis untuk meningkatkan alokasi resource dalam produk seperti berikut:
Menyeimbangkan modularitas untuk alokasi resource yang fleksibel
Jika memungkinkan, pastikan setiap komponen hanya menggunakan resource yang diperlukan (seperti memori, penyimpanan, dan daya pemrosesan) untuk operasi tertentu. Alokasi resource yang berlebihan dapat mengakibatkan biaya yang tidak perlu, sedangkan alokasi resource yang kurang dapat mengganggu performa.
Gunakan antarmuka yang jelas
Pastikan komponen modular berkomunikasi secara efektif melalui antarmuka yang jelas dan terstandardisasi (seperti API dan antrean pesan) untuk mengurangi overhead dari lapisan terjemahan atau dari traffic yang tidak relevan.
Menggunakan model stateless
Model stateless dapat membantu memastikan Anda dapat menangani setiap permintaan atau interaksi dengan layanan secara terpisah dari permintaan sebelumnya. Model ini memfasilitasi skalabilitas dan kemudahan pemulihan karena Anda dapat menambah, mengurangi, atau memulai ulang layanan tanpa kehilangan data yang diperlukan untuk permintaan atau proses yang sedang berlangsung.
Pilih teknologi pelengkap
Pilih teknologi yang melengkapi desain modular. Evaluasi bahasa pemrograman, framework, dan database untuk mendapatkan dukungan modularitasnya.
Untuk informasi selengkapnya, lihat referensi berikut:
Terus pantau dan tingkatkan performa
Prinsip yang ada dalam pilar pengoptimalan performa di Google Cloud Framework Desain Baik ini memberikan rekomendasi untuk membantu Anda terus memantau dan meningkatkan performa.
Setelah Anda men-deploy aplikasi, terus pantau performanya dengan menggunakan log, pelacakan, metrik, dan pemberitahuan. Seiring pertumbuhan dan perkembangan aplikasi, Anda dapat menggunakan tren di titik data ini untuk menilai ulang persyaratan performa. Pada akhirnya, Anda mungkin perlu mendesain ulang bagian-bagian aplikasi untuk mempertahankan atau meningkatkan performanya.
Ringkasan prinsip
Proses peningkatan performa yang berkelanjutan memerlukan alat dan strategi pemantauan yang andal. Alat kemampuan observasi cloud dapat membantu Anda mengumpulkan indikator performa utama (KPI) seperti latensi, throughput, tingkat error, dan pemanfaatan resource. Lingkungan cloud menawarkan berbagai metode untuk melakukan penilaian performa terperinci di seluruh aplikasi, jaringan, dan pengalaman pengguna akhir.
Meningkatkan performa adalah upaya berkelanjutan yang memerlukan pendekatan multifaset. Mekanisme dan proses utama berikut dapat membantu Anda meningkatkan performa:
- Untuk memberikan arah yang jelas dan membantu melacak progres, tentukan tujuan performa yang selaras dengan sasaran bisnis Anda. Tetapkan sasaran yang SMART: spesifik, terukur, dapat dicapai, relevan, dan terikat waktu.
- Untuk mengukur performa dan mengidentifikasi area yang perlu ditingkatkan, kumpulkan metrik KPI.
- Untuk terus memantau masalah pada sistem Anda, gunakan alur kerja yang divisualisasikan dalam alat pemantauan. Menggunakan teknik pemetaan proses arsitektur untuk mengidentifikasi redundansi dan inefisiensi.
- Untuk menciptakan budaya peningkatan berkelanjutan, berikan pelatihan dan program yang mendukung pertumbuhan karyawan Anda.
- Untuk mendorong peningkatan yang proaktif dan berkelanjutan, beri insentif kepada karyawan dan pelanggan Anda untuk memberikan masukan yang berkelanjutan tentang performa aplikasi Anda.
Rekomendasi
Untuk mempromosikan desain modular, pertimbangkan rekomendasi di bagian berikut.
Menentukan sasaran dan metrik performa yang jelas
Tentukan tujuan performa yang jelas dan selaras dengan sasaran bisnis Anda. Hal ini memerlukan pemahaman mendalam tentang arsitektur aplikasi Anda dan persyaratan performa setiap komponen aplikasi.
Sebagai prioritas, optimalkan komponen paling penting yang secara langsung memengaruhi fungsi bisnis inti dan pengalaman pengguna Anda. Untuk membantu memastikan bahwa komponen ini terus berjalan secara efisien dan memenuhi kebutuhan bisnis Anda, tetapkan target performa yang spesifik dan terukur. Target ini dapat mencakup waktu respons, tingkat error, dan batas penggunaan resource.
Pendekatan proaktif ini dapat membantu Anda mengidentifikasi dan mengatasi potensi bottleneck, mengoptimalkan alokasi resource, dan pada akhirnya memberikan pengalaman yang lancar dan berperforma tinggi bagi pengguna.
Memantau performa
Pantau sistem cloud Anda secara berkelanjutan untuk menemukan masalah performa dan siapkan pemberitahuan untuk setiap potensi masalah. Pemantauan dan pemberitahuan dapat membantu Anda mendeteksi dan memperbaiki masalah sebelum masalah tersebut berdampak pada pengguna. Pembuatan profil aplikasi dapat membantu mengidentifikasi bottleneck dan dapat membantu mengoptimalkan penggunaan resource.
Anda dapat menggunakan alat yang memfasilitasi pemecahan masalah dan pengoptimalan jaringan yang efektif. Gunakan Google Cloud Observability untuk mengidentifikasi area yang memiliki konsumsi CPU, konsumsi memori, atau konsumsi jaringan yang tinggi. Kemampuan ini dapat membantu developer meningkatkan efisiensi, mengurangi biaya, dan meningkatkan kualitas pengalaman pengguna. Network Intelligence Center menunjukkan visualisasi topologi infrastruktur jaringan dan dapat membantu Anda mengidentifikasi jalur latensi tinggi.
Memberikan insentif peningkatan berkelanjutan
Menciptakan budaya peningkatan berkelanjutan yang dapat menguntungkan aplikasi dan pengalaman pengguna.
Beri karyawan Anda peluang pelatihan dan pengembangan yang meningkatkan keterampilan dan pengetahuan mereka dalam teknik performa di berbagai layanan cloud. Bangun komunitas praktik (CoP) dan tawarkan program bimbingan dan pelatihan untuk mendukung pertumbuhan karyawan.
Untuk mencegah pengelolaan performa reaktif dan mendorong pengelolaan performa yang proaktif, dorong masukan berkelanjutan dari karyawan, pelanggan, dan pemangku kepentingan Anda. Anda dapat mempertimbangkan untuk melakukan gamifikasi prosesnya dengan melacak KPI performa dan menampilkan metrik tersebut kepada tim secara rutin dalam bentuk tabel liga.
Untuk memahami performa dan kepuasan pengguna dari waktu ke waktu, sebaiknya ukur masukan pengguna secara kuantitatif dan kualitatif. Framework HEART dapat membantu Anda mendapatkan masukan pengguna dalam lima kategori:
- Kepuasan
- Engagement
- Adopsi
- Retensi
- Tugas berhasil
Dengan menggunakan framework tersebut, Anda dapat memberikan insentif kepada engineer dengan masukan berbasis data, metrik yang berfokus pada pengguna, hasil analisis yang bisa ditindaklanjuti, dan pemahaman yang jelas tentang tujuan.