Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
OPS06-BP03 Menggunakan strategi penyebaran yang aman
Peluncuran produksi yang aman mengontrol aliran perubahan yang bermanfaat dengan tujuan untuk meminimalkan dampak yang dirasakan oleh pelanggan dari perubahan tersebut. Kontrol keselamatan menyediakan mekanisme-mekanisme inspeksi untuk memvalidasi hasil yang diinginkan dan membatasi ruang lingkup dampak yang ditimbulkan oleh cacat apa pun yang disebabkan oleh perubahan atau kegagalan deployment. Peluncuran yang aman dapat mencakup strategi seperti feature-flag, one-box, rolling (rilis canary), immutable, pemisahan lalu lintas, dan deployment blue/green.
Hasil yang diinginkan: Organisasi Anda menggunakan sebuah sistem integrasi berkelanjutan pengiriman berkelanjutan (CI/CD) yang menyediakan kemampuan-kemampuan untuk mengotomatiskan peluncuran (rollout) dengan aman. Tim diharuskan menggunakan strategi peluncuran aman yang sesuai.
Anti-pola umum:
-
Anda melakukan deployment perubahan yang tidak berhasil ke seluruh lingkungan produksi secara sekaligus. Akibatnya, semua pelanggan merasakan dampaknya secara bersamaan.
-
Cacat akibat deployment serentak yang dilakukan ke semua sistem memerlukan rilis darurat. Diperlukan waktu beberapa hari untuk memperbaikinya untuk semua pelanggan.
-
Untuk mengelola rilis produksi diperlukan perencanaan dan partisipasi dari beberapa tim. Hal ini akan menghambat kemampuan Anda untuk melakukan pembaruan fitur bagi pelanggan Anda dalam rentang waktu yang berdekatan (frequent).
-
Anda melakukan deployment yang dapat diubah dengan melakukan modifikasi terhadap sistem yang sudah ada. Setelah mengetahui bahwa perubahan yang di-deploy tidak berhasil, Anda terpaksa melakukan modifikasi terhadap sistem sekali lagi untuk memulihkan versi yang sebelumnya, dan hal ini memperpanjang waktu pemulihan Anda.
Manfaat menerapkan praktik terbaik ini: Deployment otomatis menyeimbangkan kecepatan peluncuran (roll-out) dengan menghadirkan perubahan yang bermanfaat secara konsisten kepada para pelanggan. Pembatasan dampak dapat mencegah kegagalan deployment yang mahal dan memaksimalkan kemampuan tim untuk merespons kegagalan tersebut dengan efisien.
Tingkat risiko yang terjadi jika praktik terbaik ini tidak diterapkan: Sedang
Panduan implementasi
Kegagalan pengiriman yang terjadi secara berkelanjutan dapat menyebabkan berkurangnya ketersediaan layanan dan buruknya pengalaman pelanggan. Untuk memaksimalkan tingkat penerapan yang berhasil, terapkan kontrol keamanan dalam proses end-to-end rilis untuk meminimalkan kesalahan penerapan, dengan tujuan mencapai nol kegagalan penerapan.
Contoh pelanggan
AnyCompany Retail memiliki misi untuk mencapai penerapan downtime minimal hingga nol, yang berarti bahwa tidak ada dampak yang dapat dirasakan bagi penggunanya selama penerapan. Untuk mencapai tujuan tersebut, perusahaan telah membuat pola-pola deployment (lihat diagram alur kerja berikut), seperti deployment blue/green dan deployment bergulir (rolling). Semua tim mengadopsi satu atau beberapa pola tersebut di dalam pipeline CI/CD mereka.
CodeDeploy alur kerja untuk Amazon EC2 | CodeDeploy alur kerja untuk Amazon ECS | CodeDeploy alur kerja untuk Lambda |
---|---|---|
|
|
|
Langkah-langkah implementasi
-
Gunakan alur kerja persetujuan untuk memulai urutan langkah-langkah peluncuran (roll-out) produksi setelah promosi ke produksi.
-
Gunakan sistem penyebaran otomatis seperti AWS CodeDeploy. AWS CodeDeploy Opsi penerapan mencakup penerapan di tempat untuk penerapan /Lokal dan EC2 biru/hijau untuk /LokalEC2, dan Amazon (lihat diagram alur kerja sebelumnya). AWS Lambda ECS
-
Gunakan penerapan biru/hijau untuk database seperti Amazon Aurora dan Amazon. RDS
-
Pantau penerapan menggunakan Amazon CloudWatch, AWS CloudTrail, dan pemberitahuan acara Amazon Simple Notification Service SNS (Amazon).
-
Lakukan pengujian otomatis pasca-deployment, antara lain pengujian fungsional, keamanan, regresi, integrasi, dan uji beban.
-
Memecahkan masalah deployment.
Tingkat upaya untuk rencana implementasi: Sedang
Sumber daya
Praktik-praktik terbaik terkait:
Dokumen terkait:
Video terkait:
Contoh terkait: