Pilar ini dalam Google Cloud Framework dengan Arsitektur yang 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, meningkatkan pendapatan, dan mengurangi biaya. Misalnya, saat waktu pemrosesan backend aplikasi menurun, pengguna akan mengalami respons yang lebih cepat, yang dapat menyebabkan retensi pengguna yang lebih tinggi dan peningkatan pendapatan.
Proses pengoptimalan performa dapat melibatkan kompromi antara performa dan biaya. Namun, mengoptimalkan 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 kelebihan beban. Penskalaan otomatis juga membantu Anda mengurangi biaya dengan menghapus 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 tahap berikut:
- Menentukan persyaratan: Tentukan persyaratan performa terperinci untuk setiap lapisan stack aplikasi sebelum Anda mendesain dan mengembangkan aplikasi. Untuk merencanakan alokasi resource, pertimbangkan karakteristik beban kerja 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 menggunakan log, pelacakan, metrik, dan pemberitahuan.
Optimalkan: Pertimbangkan potensi desain ulang seiring aplikasi Anda berkembang. Sesuaikan ukuran resource cloud dan gunakan fitur baru untuk memenuhi persyaratan performa yang berubah.
Seperti yang ditunjukkan pada diagram sebelumnya, lanjutkan siklus pemantauan, menilai ulang persyaratan, dan menyesuaikan resource cloud.
Untuk prinsip dan rekomendasi pengoptimalan performa yang khusus untuk beban kerja AI dan ML, lihat Perspektif AI dan ML: Pengoptimalan performa di Framework dengan Arsitektur yang Baik.
Prinsip inti
Rekomendasi dalam pilar pengoptimalan performa Framework Arsitektur yang Baik dikaitkan dengan prinsip inti berikut:
- Merencanakan alokasi resource
- Manfaatkan elastisitas
- Mempromosikan desain modular
- Memantau dan meningkatkan performa secara terus-menerus
Kontributor
Penulis:
- Daniel Lees | Cloud Security Architect
- Gary Harmson | Customer Engineer
- Luis Urena | Developer Relations Engineer
- Zach Seils | Networking Specialist
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
- Wade Holmes | Direktur Solusi Global
Merencanakan alokasi resource
Prinsip ini dalam pilar pengoptimalan performa dari Google Cloud Framework dengan Arsitektur yang Baik memberikan rekomendasi untuk membantu Anda merencanakan resource untuk workload di Google Cloud. Bagian ini menekankan pentingnya menentukan persyaratan yang terperinci sebelum Anda mendesain dan mengembangkan aplikasi untuk deployment atau migrasi cloud.
Ringkasan prinsip
Untuk memenuhi persyaratan bisnis, Anda harus menentukan persyaratan performa untuk aplikasi, sebelum 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 workload. Setiap beban kerja dapat berisi campuran sistem dan layanan komponen yang memiliki kumpulan karakteristik performa yang unik. Misalnya, sistem yang bertanggung jawab untuk pemrosesan batch berkala dari set data besar memiliki permintaan performa yang berbeda dari 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 yang cocok untuk semua. Saat Anda mengoptimalkan setiap beban kerja, seluruh sistem dapat mencapai performa dan efisiensi yang optimal.
Pertimbangkan karakteristik beban kerja berikut yang dapat memengaruhi persyaratan performa Anda:
- Arsitektur deployment: Arsitektur deployment yang Anda pilih untuk aplikasi dapat memengaruhi pilihan produk dan fitur, yang kemudian menentukan performa yang dapat Anda harapkan dari aplikasi.
- Penempatan resource: Saat memilih Google Cloud region untuk resource aplikasi, sebaiknya Anda memprioritaskan latensi rendah untuk pengguna akhir, mematuhi peraturan lokalitas data, dan memastikan ketersediaan produk dan layanan Google Cloud yang diperlukan.
- Konektivitas jaringan: Pilih layanan jaringan yang mengoptimalkan akses data dan pengiriman konten. Manfaatkan jaringan global, backbone berkecepatan tinggi, lokasi interkoneksi, dan layanan penyimpanan dalam cache Google Cloud.
- 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 tanpa server.
- Strategi penyimpanan: Pilih strategi penyimpanan yang optimal yang didasarkan pada persyaratan performa Anda.
- Konfigurasi resource: Jenis mesin, IOPS, dan throughput dapat memberikan dampak signifikan pada 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 berlebih dapat menyebabkan pengeluaran yang tidak perlu, sedangkan alokasi yang kurang dapat menyebabkan penurunan performa.
Untuk mengakomodasi penskalaan elastis dan memastikan bahwa resource yang memadai tersedia, pantau kapasitas kuota Anda secara rutin. Selain itu, lacak penggunaan kuota untuk mengidentifikasi potensi batasan penskalaan atau masalah kelebihan alokasi, lalu buat keputusan yang tepat tentang alokasi resource.
Mengedukasi dan meningkatkan awareness
Beri tahu pengguna tentang persyaratan performa dan berikan referensi edukasional tentang teknik pengelolaan performa yang efektif.
Untuk mengevaluasi progres dan mengidentifikasi area yang perlu ditingkatkan, dokumentasikan performa target dan performa sebenarnya secara berkala. Lakukan uji beban pada aplikasi Anda untuk menemukan titik henti sementara potensial dan memahami cara menskalakan aplikasi.
Memantau metrik performa
Gunakan Cloud Monitoring untuk menganalisis tren metrik performa, menganalisis efek eksperimen, menentukan pemberitahuan untuk metrik penting, dan melakukan analisis retrospektif.
Active Assist adalah kumpulan 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 ini dalam pilar pengoptimalan performa dari Google Cloud Framework dengan Arsitektur yang Baik memberikan rekomendasi untuk membantu Anda menerapkan elastisitas, yaitu kemampuan untuk menyesuaikan resource secara dinamis berdasarkan perubahan persyaratan beban kerja.
Elastisitas memungkinkan berbagai komponen sistem diskalakan secara independen. Penskalaan yang ditargetkan ini dapat membantu meningkatkan performa dan efisiensi biaya dengan mengalokasikan resource secara tepat di tempat yang diperlukan, tanpa melebihi penyediaan atau kurang menyediakan resource.
Ringkasan prinsip
Persyaratan performa sistem secara langsung memengaruhi kapan dan bagaimana sistem diskalakan secara vertikal atau diskalakan secara horizontal. Anda perlu mengevaluasi kapasitas sistem dan menentukan beban yang diharapkan ditangani sistem pada dasar pengukuran. Kemudian, Anda perlu menentukan bagaimana Anda ingin sistem merespons peningkatan dan penurunan beban.
Saat beban meningkat, sistem harus diskalakan secara horizontal, ditingkatkan skalanya secara vertikal, atau keduanya. Untuk penskalaan horizontal, tambahkan node replika untuk memastikan bahwa sistem memiliki kapasitas keseluruhan yang memadai untuk memenuhi peningkatan permintaan. Untuk penskalaan vertikal, ganti komponen aplikasi yang ada dengan komponen yang berisi lebih banyak kapasitas, lebih banyak memori, dan lebih banyak penyimpanan.
Saat beban berkurang, sistem harus menskalakan ke bawah (secara horizontal, vertikal, atau keduanya).
Tentukan keadaan saat sistem melakukan penskalaan ke atas atau penskalaan ke bawah. Rencanakan untuk menskalakan sistem secara manual untuk 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.
Merencanakan periode beban puncak
Anda perlu merencanakan jalur penskalaan yang efisien untuk peristiwa yang diketahui, seperti periode peningkatan permintaan pelanggan yang diperkirakan.
Pertimbangkan untuk menskalakan sistem Anda sebelum periode traffic tinggi yang diketahui. Misalnya, jika Anda adalah organisasi retail, Anda mengharapkan permintaan meningkat selama promosi musiman. Sebaiknya Anda menskalakan sistem secara manual sebelum promosi tersebut untuk memastikan sistem Anda 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 penundaan.
Untuk peristiwa yang tidak diketahui atau tidak terduga, seperti lonjakan permintaan atau traffic secara tiba-tiba, Anda dapat menggunakan fitur penskalaan otomatis untuk memicu penskalaan elastis yang didasarkan pada metrik. Metrik ini dapat mencakup penggunaan CPU, kapasitas penyaluran load balancer, latensi, dan bahkan metrik kustom yang Anda tentukan di Cloud Monitoring.
Misalnya, pertimbangkan aplikasi yang berjalan di grup instance terkelola (MIG) Compute Engine. Aplikasi ini memiliki persyaratan bahwa setiap instance berperforma secara optimal hingga pemanfaatan CPU rata-rata mencapai 75%. Dalam contoh ini, Anda dapat menentukan kebijakan penskalaan otomatis yang membuat lebih banyak instance saat penggunaan CPU mencapai nilai minimum. Instance yang baru dibuat ini membantu menyerap beban, yang membantu memastikan bahwa penggunaan CPU rata-rata tetap pada tingkat yang optimal hingga jumlah maksimum instance yang telah Anda konfigurasikan 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 untuk konfigurasi penskalaan otomatis di Spanner menggunakan autoscaler terkelola.
Menggunakan penskalaan prediktif
Jika komponen sistem Anda 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 menyesuaikan perkiraan dengan cepat ke perubahan muatan 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 menerapkan arsitektur serverless dengan layanan serverless yang secara inheren bersifat elastis, seperti berikut:
Tidak seperti penskalaan otomatis di layanan lain yang memerlukan aturan penyesuaian (misalnya, Compute Engine), penskalaan otomatis serverless bersifat instan dan dapat menskalakan ke nol resource.
Menggunakan mode Autopilot untuk Kubernetes
Untuk aplikasi kompleks yang memerlukan kontrol yang lebih besar atas Kubernetes, pertimbangkan mode Autopilot di Google Kubernetes Engine (GKE). Mode Autopilot menyediakan otomatisasi dan skalabilitas secara default. GKE secara otomatis menskalakan node dan resource berdasarkan traffic. GKE mengelola node, membuat node baru untuk aplikasi Anda, dan mengonfigurasi upgrade dan perbaikan otomatis.
Mempromosikan desain modular
Prinsip ini dalam pilar pengoptimalan performa dari Google Cloud Framework dengan Arsitektur yang Baik memberikan rekomendasi untuk membantu Anda mempromosikan desain modular. Komponen modular dan antarmuka yang jelas dapat memungkinkan penskalaan yang 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 awalnya di-deploy. Dengan menguraikan sistem menjadi modul independen yang ditentukan dengan baik dan memiliki 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 ke komponen yang tidak terlalu menuntut.
- Menambahkan lebih banyak resource selama periode 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 mengurangi risiko.
Meskipun modularitas menawarkan keunggulan yang signifikan, Anda harus mengevaluasi potensi kompromi performa. Peningkatan komunikasi antar-modul dapat menyebabkan latensi dan overhead. Upayakan keseimbangan antara modularitas dan performa. Desain yang sangat modular mungkin tidak cocok untuk semua orang. Jika performa sangat penting, pendekatan yang lebih terikat mungkin lebih sesuai. Desain sistem adalah proses iteratif, tempat Anda terus meninjau dan meningkatkan kualitas desain modular.
Rekomendasi
Untuk mempromosikan desain modular, pertimbangkan rekomendasi di bagian berikut.
Mendesain untuk pengaitan longgar
Buat desain arsitektur yang dikaitkan secara longgar. Komponen independen dengan dependensi minimal dapat membantu Anda mem-build aplikasi yang skalabel dan tangguh. Saat merencanakan batasan untuk layanan, Anda harus mempertimbangkan persyaratan ketersediaan dan skalabilitas. Misalnya, jika satu komponen memiliki persyaratan yang berbeda dari komponen lainnya, Anda dapat mendesain komponen tersebut sebagai layanan mandiri. Terapkan rencana untuk kegagalan halus bagi subproses atau layanan yang kurang penting yang tidak memengaruhi waktu respons layanan utama.
Mendesain untuk konkurensi dan paralelisme
Desain aplikasi Anda untuk mendukung beberapa tugas secara serentak, seperti memproses beberapa permintaan pengguna atau menjalankan tugas latar belakang saat pengguna berinteraksi dengan sistem Anda. Pecahkan tugas besar menjadi bagian yang lebih kecil yang dapat diproses secara bersamaan oleh beberapa instance layanan. Serentak 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 berlebih dapat mengakibatkan biaya yang tidak perlu, sedangkan alokasi resource yang kurang dapat membahayakan performa.
Menggunakan antarmuka yang jelas
Pastikan komponen modular berkomunikasi secara efektif melalui antarmuka standar yang jelas (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 bahwa Anda dapat menangani setiap permintaan atau interaksi dengan layanan secara terpisah dari permintaan sebelumnya. Model ini memfasilitasi skalabilitas dan pemulihan, karena Anda dapat menambah, mengurangi, atau memulai ulang layanan tanpa kehilangan data yang diperlukan untuk permintaan atau proses yang sedang berlangsung.
Memilih teknologi pelengkap
Pilih teknologi yang melengkapi desain modular. Evaluasi bahasa pemrograman, framework, dan database untuk mengetahui dukungan modularitasnya.
Untuk informasi selengkapnya, lihat referensi berikut:
Memantau dan meningkatkan performa secara berkelanjutan
Prinsip ini dalam pilar pengoptimalan performa dari Google Cloud Framework dengan Arsitektur yang Baik memberikan rekomendasi untuk membantu Anda terus memantau dan meningkatkan performa.
Setelah Anda men-deploy aplikasi, terus pantau performanya menggunakan log, pelacakan, metrik, dan pemberitahuan. Seiring aplikasi Anda tumbuh dan berkembang, Anda dapat menggunakan tren dalam titik data ini untuk menilai ulang persyaratan performa Anda. Anda mungkin pada akhirnya perlu mendesain ulang bagian aplikasi untuk mempertahankan atau meningkatkan performanya.
Ringkasan prinsip
Proses peningkatan performa berkelanjutan memerlukan strategi dan alat pemantauan yang andal. Alat visibilitas cloud dapat membantu Anda mengumpulkan indikator performa utama (KPI) seperti latensi, throughput, rasio error, dan penggunaan 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 multi-aspek. Mekanisme dan proses utama berikut dapat membantu Anda meningkatkan performa:
- Untuk memberikan arahan 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 sistem Anda guna menemukan masalah, gunakan alur kerja yang divisualisasi dalam alat pemantauan. Gunakan 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, berikan insentif kepada karyawan dan pelanggan untuk memberikan masukan 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 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 dapat diukur. Target ini dapat mencakup waktu respons, tingkat error, dan nilai minimum 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 terus sistem cloud Anda untuk menemukan masalah performa dan siapkan pemberitahuan untuk potensi masalah. Pemantauan dan pemberitahuan dapat membantu Anda menemukan dan memperbaiki masalah sebelum memengaruhi 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 pengalaman pengguna. Network Intelligence Center menampilkan visualisasi topologi infrastruktur jaringan Anda, dan dapat membantu Anda mengidentifikasi jalur latensi tinggi.
Memberikan insentif untuk peningkatan berkelanjutan
Ciptakan budaya peningkatan berkelanjutan yang dapat menguntungkan aplikasi dan pengalaman pengguna.
Berikan karyawan Anda peluang pelatihan dan pengembangan yang meningkatkan keterampilan dan pengetahuan mereka dalam teknik performa di seluruh layanan cloud. Buat komunitas praktik (CoP) dan tawarkan program bimbingan dan pembinaan untuk mendukung pertumbuhan karyawan.
Untuk mencegah pengelolaan performa yang reaktif dan mendorong pengelolaan performa proaktif, dorong masukan berkelanjutan dari karyawan, pelanggan, dan pemangku kepentingan Anda. Anda dapat mempertimbangkan untuk me-game-kan proses ini dengan melacak KPI tentang performa dan menyajikan metrik tersebut kepada tim secara rutin dalam bentuk tabel liga.
Untuk memahami performa dan kepuasan pengguna dari waktu ke waktu, sebaiknya Anda mengukur masukan pengguna secara kuantitatif dan kualitatif. Framework HEART dapat membantu Anda mengumpulkan masukan pengguna di lima kategori:
- Kebahagiaan
- Interaksi
- Adopsi
- Retensi
- Keberhasilan tugas
Dengan menggunakan framework tersebut, Anda dapat memberikan insentif kepada engineer dengan masukan berbasis data, metrik yang berfokus pada pengguna, insight yang bisa ditindaklanjuti, dan pemahaman yang jelas tentang sasaran.