

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Faktor kesiapan modernisasi
<a name="readiness-factors"></a>

Perhatikan standar dan praktik terbaik berikut saat Anda memodernisasi aplikasi Anda.

**Topics**
+ [Kode](#code)
+ [Bangun dan uji](#build-test)
+ [Rilis](#release)
+ [Jalankan](#operate)
+ [Optimalkan](#optimize)
+ [Kesiapan](#readiness)

## Kode
<a name="code"></a>
+ Berikan komentar kode yang mendokumentasikan fungsionalitas perangkat lunak Anda, dan gunakan untuk menghasilkan dokumentasi.
+ Ikuti manajemen kode dan proses penerapan yang mendukung check-in kode yang sering dan keterlacakan ke permintaan fitur. 
+ Buat rangkaian pengujian yang mencakup pengujian unit, fungsional, kinerja, dan jalur kritis, dengan cakupan kode 100 persen.
+ Dorong penggunaan kembali kode untuk memberikan fungsionalitas yang sama atau serupa di basis kode Anda.
+ Kembangkan prototipe untuk memvalidasi fitur dengan pengguna sebelum berinvestasi dalam pengembangan kode penuh. 

## Bangun dan uji
<a name="build-test"></a>
+ Mendefinisikan ulang kelengkapan fitur berdasarkan pengujian, untuk meningkatkan kualitas dan mencegah masalah berulang.
+ Otomatiskan tes penerimaan.
+ Pantau semua pengujian otomatis, dan buat proses untuk menangani kegagalan di tempat.
+ Lacak kinerja di lingkungan produksi dan non-produksi, tentukan tujuan tingkat layanan (SLOs) berdasarkan pengujian lalu lintas dan beban yang realistis, dan berikan kemampuan untuk menskalakan untuk memenuhi persyaratan kinerja.
+ Abstrak data sensitif dari file konfigurasi, dan menyediakan alat yang mengotomatiskan dan memantau konfigurasi.

## Rilis
<a name="release"></a>
+ Otomatiskan penerapan dengan dukungan untuk dependensi (misalnya, rilis database), pengujian regresi, dan pelacakan.
+ Rilis kode ke lingkungan produksi secara bertahap, setelah setiap build berhasil.
+ Kelola flag fitur (toggle) secara efektif: mendukung konfigurasi run-time, memantau penggunaan, memelihara flag sepanjang siklus pengembangan, dan menetapkan pemilik berdasarkan kategori.
+ Berikan ketertelusuran di pipeline build Anda, untuk melacak pemicu, pemberitahuan kegagalan, dan penyelesaian yang berhasil.
+ Jalankan proses penerapan otomatis dan tes untuk pembaruan kode “nol sentuhan” dalam pengiriman berkelanjutan.
+ Gunakan metodologi penyebaran biru/hijau zero-downtime yang sepenuhnya otomatis.
+ Pastikan bahwa perubahan skema database Anda diimplementasikan secara konsisten di semua lingkungan pengembangan dan produksi.

## Jalankan
<a name="operate"></a>
+ Buat runbook DevOps triase yang terintegrasi dengan sistem notifikasi Anda.
+ Pastikan bahwa sistem pemantauan dan notifikasi Anda memenuhi tujuan tingkat layanan (SLOs) dan mendukung ambang batas, pemeriksaan kesehatan, respons HTTP non-standar, dan hasil yang tidak terduga.
+ Menetapkan manajemen risiko yang efektif dan proses pemulihan bencana.
+ Kembangkan strategi rotasi dan retensi log yang memenuhi persyaratan bisnis dan hukum Anda.
+ Kembangkan dasbor yang melacak kinerja produk, mengukur keberhasilan fitur baru, dan menampilkan peringatan saat metrik tidak memenuhi harapan.

## Optimalkan
<a name="optimize"></a>
+ Tinjau dan tingkatkan proses secara teratur, berdasarkan ukuran kinerja dan kualitas.
+ Menerapkan analisis akar penyebab dan proses pencegahan untuk mencegah masalah berulang.
+ Berikan metrik berbasis data yang menangkap kesehatan produk, dan pastikan bahwa semua pemberitahuan dan tindakan didasarkan pada metrik ini. 

## Kesiapan
<a name="readiness"></a>
+ Dedikasikan tim lintas fungsi (termasuk mitra bisnis, pengembang, penguji, dan arsitek) untuk upaya modernisasi Anda.