Pilar dalam Google Cloud Framework yang Dirancang dengan Baik ini 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 tahapan berikut:
- Tentukan 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.
- Desain dan deployment: Gunakan pola desain yang elastis dan skalabel yang dapat membantu Anda memenuhi persyaratan performa.
- Pantau dan analisis: Pantau performa secara berkelanjutan menggunakan log, pelacakan, metrik, dan pemberitahuan.
Optimalkan: Pertimbangkan desain ulang yang mungkin diperlukan seiring perkembangan aplikasi Anda. Menyesuaikan ukuran resource cloud dan menggunakan fitur baru untuk memenuhi persyaratan performa yang berubah.
Seperti yang ditunjukkan pada diagram sebelumnya, lanjutkan siklus pemantauan, penilaian ulang persyaratan, dan penyesuaian resource cloud.
Untuk prinsip dan rekomendasi pengoptimalan performa yang khusus untuk workload AI dan ML, lihat Perspektif AI dan ML: Pengoptimalan performa dalam Well-Architected Framework.
Prinsip inti
Rekomendasi dalam pilar pengoptimalan performa Well-Architected Framework dipetakan ke prinsip inti berikut:
- Merencanakan alokasi resource
- Manfaatkan elastisitas
- Mempromosikan desain modular
- Terus memantau dan meningkatkan performa
Kontributor
Penulis:
- Daniel Lees | Cloud Security Architect
- Gary Harmson | Principal Architect
- Luis Urena | Developer Relations Engineer
- Zach Seils | Networking Specialist
Kontributor lainnya:
- Filipe Gracio, PhD | Customer Engineer
- Jose Andrade | Enterprise Infrastructure Customer Engineer
- Kumar Dhanagopal | Cross-Product Solution Developer
- 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 | Global Solutions Director
Merencanakan alokasi sumber daya
Prinsip dalam pilar pengoptimalan performa di Google Cloud Framework yang Dirancang dengan Baik ini memberikan rekomendasi untuk membantu Anda merencanakan resource untuk workload di Google Cloud. Bagian ini menekankan pentingnya menentukan persyaratan terperinci sebelum Anda mendesain dan mengembangkan aplikasi untuk deployment atau migrasi cloud.
Ringkasan prinsip
Untuk memenuhi persyaratan bisnis, Anda harus menentukan persyaratan performa aplikasi sebelum mendesain dan mengembangkan aplikasi. 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 dibutuhkan 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 serangkaian karakteristik performa yang unik. Misalnya, sistem yang bertanggung jawab atas pemrosesan batch periodik set data besar memiliki permintaan 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 yang cocok untuk semua orang. 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:
- 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.
- Penempatan resource: Saat Anda memilih Google Cloud region untuk resource aplikasi, sebaiknya prioritaskan latensi rendah untuk pengguna akhir, patuhi peraturan lokalitas data, dan pastikan ketersediaan Google Cloud produk dan layanan yang diperlukan.
- Konektivitas jaringan: Pilih layanan jaringan yang mengoptimalkan akses data dan penayangan 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 setiap opsi. Misalnya, pertimbangkan platform bare metal, virtual machine, container, dan serverless.
- Strategi penyimpanan: Pilih strategi penyimpanan yang optimal berdasarkan persyaratan performa Anda.
- Konfigurasi resource: Jenis mesin, IOPS, dan throughput dapat berdampak signifikan pada performa. Selain itu, pada awal fase desain, Anda harus mempertimbangkan kemampuan keamanan yang sesuai dan dampaknya terhadap resource. Saat merencanakan fitur keamanan, bersiaplah untuk mengakomodasi trade-off 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 pengeluaran yang tidak perlu, sementara alokasi yang kurang dapat menyebabkan penurunan performa.
Untuk mengakomodasi penskalaan elastis dan memastikan ketersediaan resource yang memadai, pantau kapasitas kuota Anda secara rutin. Selain itu, lacak penggunaan kuota untuk mengidentifikasi potensi batasan penskalaan atau masalah alokasi berlebih, lalu buat keputusan yang tepat tentang alokasi resource.
Mengedukasi dan meningkatkan awareness
Beri tahu pengguna Anda tentang persyaratan performa dan berikan referensi edukasi tentang teknik pengelolaan performa yang efektif.
Untuk mengevaluasi progres dan mengidentifikasi area yang perlu ditingkatkan, dokumentasikan secara rutin target performa dan performa sebenarnya. Lakukan uji beban pada aplikasi Anda untuk menemukan potensi titik henti 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 serangkaian alat yang dapat memberikan insight dan rekomendasi untuk membantu mengoptimalkan pemanfaatan resource. Rekomendasi ini dapat membantu Anda menyesuaikan alokasi resource dan meningkatkan performa.
Memanfaatkan elastisitas
Prinsip dalam pilar pengoptimalan performa Google Cloud Framework yang Dirancang dengan Baik ini memberikan rekomendasi untuk membantu Anda menerapkan elastisitas, yaitu kemampuan menyesuaikan resource secara dinamis berdasarkan perubahan persyaratan workload.
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 menyediakan terlalu banyak atau terlalu sedikit resource.
Ringkasan prinsip
Persyaratan performa sistem secara langsung memengaruhi kapan dan bagaimana sistem melakukan penskalaan vertikal atau penskalaan 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 menskalakan secara horizontal, menskalakan 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 memiliki kapasitas, memori, dan penyimpanan yang lebih besar.
Saat beban berkurang, sistem harus menurunkan skala (secara horizontal, vertikal, atau keduanya).
Tentukan kondisi saat sistem melakukan penskalaan atau penurunan skala. 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 yang diperkirakan akan mengalami 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 menskalakan sistem secara manual sebelum penjualan 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 berdasarkan metrik. Metrik ini dapat mencakup pemakaian 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 harus beroperasi secara optimal hingga pemakaian CPU rata-rata mencapai 75%. Dalam contoh ini, Anda dapat menentukan kebijakan penskalaan otomatis yang membuat lebih banyak instance saat pemakaian 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 konfigurasi untuk MIG tercapai. Saat permintaan menurun, kebijakan penskalaan otomatis akan menghapus instance yang tidak lagi diperlukan.
Rencanakan pemesanan slot resource di BigQuery atau sesuaikan batas untuk konfigurasi penskalaan otomatis di Spanner menggunakan penskala otomatis terkelola.
Menggunakan penskalaan prediktif
Jika komponen sistem Anda mencakup 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, pemanfaatan CPU. Perkiraan dihitung ulang setiap beberapa menit, sehingga autoscaler menyesuaikan perkiraannya 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.
Menerapkan arsitektur serverless
Pertimbangkan untuk menerapkan 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 serverless bersifat instan dan dapat memperkecil skala ke 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 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 dalam pilar pengoptimalan performa di Google Cloud Well-Architected Framework ini 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 terdefinisi dengan baik dan memiliki antarmuka yang jelas, Anda dapat menskalakan setiap komponen untuk memenuhi permintaan tertentu.
Penskalaan yang ditargetkan dapat membantu mengoptimalkan pemanfaatan resource dan mengurangi biaya dengan cara berikut:
- Menyediakan hanya resource yang diperlukan untuk setiap komponen, dan mengalokasikan lebih sedikit resource untuk komponen yang kurang 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 yang lebih kecil dan mandiri lebih mudah dipahami, di-debug, dan diupdate, sehingga dapat mempercepat siklus pengembangan dan mengurangi risiko.
Meskipun modularitas menawarkan keuntungan yang signifikan, Anda harus mengevaluasi potensi trade-off performa. Peningkatan komunikasi antar-modul dapat menyebabkan latensi dan overhead. Berusahalah untuk menyeimbangkan modularitas dan performa. Desain yang sangat modular mungkin tidak cocok secara universal. Jika performa sangat penting, pendekatan yang lebih terintegrasi mungkin lebih tepat. Desain sistem adalah proses iteratif, di mana Anda terus meninjau dan menyempurnakan desain modular Anda.
Rekomendasi
Untuk mempromosikan desain modular, pertimbangkan rekomendasi di bagian berikut.
Desain untuk pengaitan longgar
Rancang arsitektur yang dikaitkan secara longgar. Komponen independen dengan dependensi minimal dapat membantu Anda membangun 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 Anda yang lain, Anda dapat mendesain komponen tersebut sebagai layanan mandiri. Terapkan rencana untuk kegagalan yang lancar untuk subproses atau layanan yang kurang penting yang tidak memengaruhi waktu respons layanan utama.
Desain untuk konkurensi dan paralelisme
Desain aplikasi Anda untuk mendukung beberapa tugas secara bersamaan, seperti memproses beberapa permintaan pengguna atau menjalankan tugas latar belakang saat pengguna berinteraksi dengan sistem Anda. Pecah tugas besar menjadi bagian-bagian yang lebih kecil yang dapat diproses secara bersamaan oleh beberapa instance layanan. Dengan konkurensi tugas, Anda dapat 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 berlebih resource dapat menimbulkan biaya yang tidak perlu, sedangkan alokasi kurang resource dapat mengorbankan performa.
Menggunakan antarmuka yang jelas
Pastikan komponen modular berkomunikasi secara efektif melalui antarmuka yang jelas dan standar (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 memperbesar, memperkecil, 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, framework, dan database pemrograman untuk dukungan modularitasnya.
Untuk informasi selengkapnya, lihat referensi berikut:
Terus memantau dan meningkatkan performa
Prinsip dalam pilar pengoptimalan performa di Google Cloud Framework yang Dirancang dengan 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 aplikasi Anda tumbuh dan berkembang, Anda dapat menggunakan tren di titik data ini untuk menilai ulang persyaratan performa Anda. Pada akhirnya, Anda mungkin perlu mendesain ulang bagian aplikasi untuk mempertahankan atau meningkatkan performanya.
Ringkasan prinsip
Proses peningkatan performa berkelanjutan memerlukan alat dan strategi pemantauan yang andal. Alat observabilitas cloud dapat membantu Anda mengumpulkan indikator performa utama (KPI) seperti latensi, throughput, tingkat 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 multifaset. 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 tujuan 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 di 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 proaktif dan berkelanjutan, berikan insentif kepada karyawan dan pelanggan Anda 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 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 komponen ini terus berjalan secara efisien dan memenuhi kebutuhan bisnis Anda, tetapkan target performa yang spesifik dan terukur. Target ini dapat mencakup waktu respons, rasio error, dan batas pemanfaatan resource.
Pendekatan proaktif ini dapat membantu Anda mengidentifikasi dan mengatasi potensi hambatan, mengoptimalkan alokasi resource, dan pada akhirnya memberikan pengalaman yang lancar dan berperforma tinggi bagi pengguna Anda.
Memantau performa
Terus pantau sistem cloud Anda untuk mengetahui masalah performa dan siapkan pemberitahuan untuk setiap 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 kualitas 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 bermanfaat bagi aplikasi dan pengalaman pengguna.
Memberikan peluang pelatihan dan pengembangan kepada karyawan Anda yang meningkatkan keterampilan dan pengetahuan mereka dalam teknik performa di seluruh layanan cloud. Membangun komunitas praktik (CoP) dan menawarkan program mentoring dan pelatihan untuk mendukung pertumbuhan karyawan.
Untuk mencegah pengelolaan performa yang reaktif dan mendorong pengelolaan performa yang proaktif, dorong masukan berkelanjutan dari karyawan, pelanggan, dan pemangku kepentingan Anda. Anda dapat mempertimbangkan untuk memadukan proses dengan elemen game dengan melacak KPI performa dan menyajikan metrik tersebut kepada tim secara berkala 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 mendapatkan masukan pengguna di lima kategori:
- Kebahagiaan
- Engagement
- Adopsi
- Retensi
- Keberhasilan tugas
Dengan menggunakan framework tersebut, Anda dapat memberikan insentif kepada engineer dengan masukan berbasis data, metrik yang berpusat pada pengguna, insight yang dapat ditindaklanjuti, dan pemahaman yang jelas tentang tujuan.