

# OPS 6 Bagaimana cara memitigasi risiko deployment?
<a name="w2aac19b5b7b9"></a>

 Adopsi pendekatan yang memberikan umpan balik cepat atas kualitas dan mampukan pemulihan cepat dari perubahan yang tidak memiliki hasil yang tidak diinginkan. Menggunakan praktik-praktik ini memitigasi dampak masalah akibat deployment perubahan. 

**Topics**
+ [OPS06-BP01 Antisipasikan perubahan yang tidak berhasil](ops_mit_deploy_risks_plan_for_unsucessful_changes.md)
+ [OPS06-BP02 Menguji dan memvalidasi perubahan](ops_mit_deploy_risks_test_val_chg.md)
+ [OPS06-BP03 Gunakan sistem manajemen deployment](ops_mit_deploy_risks_deploy_mgmt_sys.md)
+ [OPS06-BP04 Menguji menggunakan deployment terbatas](ops_mit_deploy_risks_test_limited_deploy.md)
+ [OPS06-BP05 Men-deploy menggunakan lingkungan paralel](ops_mit_deploy_risks_deploy_to_parallel_env.md)
+ [OPS06-BP06 Lakukan deployment perubahan yang sering, kecil, dan dapat dikembalikan](ops_mit_deploy_risks_freq_sm_rev_chg.md)
+ [OPS06-BP07 Mengotomatiskan integrasi dan deployment sepenuhnya](ops_mit_deploy_risks_auto_integ_deploy.md)
+ [OPS06-BP08 Mengotomatiskan pengujian dan pengembalian (rollback)](ops_mit_deploy_risks_auto_testing_and_rollback.md)

# OPS06-BP01 Antisipasikan perubahan yang tidak berhasil
<a name="ops_mit_deploy_risks_plan_for_unsucessful_changes"></a>

 Rencanakan untuk kembali ke keadaan yang diketahui pasti baik, atau perbaiki di lingkungan produksi jika perubahan tidak memiliki hasil yang diinginkan. Persiapan ini mengurangi waktu pemulihan melalui respons yang lebih cepat. 

 **Antipola umum:** 
+  Anda melakukan deployment dan aplikasi Anda telah menjadi tidak stabil tetapi tampaknya ada pengguna aktif di sistem. Anda harus memutuskan apakah akan mengembalikan perubahan yang akan berdampak pada pengguna aktif atau menunggu untuk mengembalikan perubahan karena tahu bagaimana pun juga pengguna dapat terkena dampaknya. 
+  Setelah membuat perubahan rutin, lingkungan baru Anda dapat diakses tetapi salah satu subnet Anda menjadi tidak dapat dijangkau. Anda harus memutuskan apakah akan mengembalikan semuanya atau mencoba memperbaiki subnet yang tidak dapat diakses tersebut. Sementara Anda sedang memutuskan hal ini, subnet tersebut tetap tidak dapat dijangkau. 

 **Manfaat menerapkan praktik terbaik ini:** Memiliki rencana akan mengurangi waktu rata-rata untuk pemulihan (MTTR) dari perubahan yang tidak berhasil, sehingga mengurangi dampak pada pengguna akhir Anda. 

 **Tingkat risiko yang terjadi jika praktik terbaik ini tidak diterapkan:** Tinggi 

## Panduan implementasi
<a name="implementation-guidance"></a>
+  Antisipasikan perubahan yang tidak berhasil: Rencanakan untuk kembali ke keadaan yang diketahui pasti baik (yaitu mengembalikan perubahan), atau perbaiki di lingkungan produksi (yaitu menerapkan perubahan) jika perubahan tidak memiliki hasil yang diinginkan. Ketika Anda mengidentifikasi perubahan yang tidak dapat Anda kembalikan jika tidak berhasil, terapkan uji kelayakan sebelum melakukan perubahan. 

# OPS06-BP02 Menguji dan memvalidasi perubahan
<a name="ops_mit_deploy_risks_test_val_chg"></a>

 Uji perubahan dan validasi hasilnya di semua tahap siklus hidup untuk mengonfirmasi fitur baru dan meminimalkan risiko serta dampak deployment yang gagal. 

 Di AWS, Anda dapat membuat lingkungan paralel sementara untuk menurunkan risiko, upaya, serta biaya eksperimen dan pengujian. Otomatiskan deployment lingkungan ini menggunakan [AWS CloudFormation](https://aws.amazon.com/cloudformation/) untuk memastikan implementasi lingkungan sementara yang konsisten. 

 **Antipola umum:** 
+  Anda melakukan deployment fitur baru yang keren ke aplikasi Anda. Fitur tersebut tidak berfungsi. Anda tidak tahu. 
+  Anda memperbarui sertifikat Anda. Anda tidak sengaja menginstal sertifikat ke komponen yang salah. Anda tidak tahu. 

 **Manfaat menjalankan praktik terbaik ini:** Dengan menguji dan memvalidasi perubahan setelah deployment, Anda dapat mengidentifikasi masalah lebih awal dengan menyediakan kesempatan untuk mitigasi dampak pada pelanggan Anda. 

 **Tingkat risiko yang terjadi jika praktik terbaik ini tidak dijalankan:** Tinggi 

## Panduan implementasi
<a name="implementation-guidance"></a>
+  Menguji dan memvalidasi perubahan: Uji perubahan dan validasi hasilnya di semua tahap siklus hidup (misalnya, pengembangan, pengujian, dan produksi) untuk mengonfirmasi fitur baru dan meminimalkan risiko serta dampak deployment yang gagal. 
  +  [AWS Cloud9](https://aws.amazon.com/cloud9/) 
  +  [Apa itu AWS Cloud9?](https://docs.aws.amazon.com/cloud9/latest/user-guide/welcome.html) 
  +  [Cara menguji dan melakukan debug AWS CodeDeploy secara lokal sebelum mengirimkan kode Anda](https://aws.amazon.com/blogs/devops/how-to-test-and-debug-aws-codedeploy-locally-before-you-ship-your-code/) 

## Sumber daya
<a name="resources"></a>

 **Dokumen terkait:** 
+  [AWS Cloud9](https://aws.amazon.com/cloud9/) 
+  [Alat Pengembang AWS](https://aws.amazon.com/products/developer-tools/) 
+  [Cara menguji dan melakukan debug AWS CodeDeploy secara lokal sebelum mengirimkan kode Anda](https://aws.amazon.com/blogs/devops/how-to-test-and-debug-aws-codedeploy-locally-before-you-ship-your-code/) 
+  [Apa itu AWS Cloud9?](https://docs.aws.amazon.com/cloud9/latest/user-guide/welcome.html) 

# OPS06-BP03 Gunakan sistem manajemen deployment
<a name="ops_mit_deploy_risks_deploy_mgmt_sys"></a>

 Gunakan sistem manajemen deployment untuk melacak dan mengimplementasikan perubahan. Ini mengurangi kesalahan yang disebabkan oleh proses manual dan mengurangi upaya untuk deployment perubahan. 

 Di AWS, Anda dapat membangun alur Integrasi Berkelanjutan/Deployment Berkelanjutan (CI/CD) menggunakan layanan seperti [AWS Alat Developer](https://aws.amazon.com/products/developer-tools/) (misalnya, AWS CodeCommit, [AWS CodeBuild](https://aws.amazon.com/codebuild/), [AWS CodePipeline](https://aws.amazon.com/codepipeline/), [AWS CodeDeploy](https://aws.amazon.com/codedeploy/), dan [AWS CodeStar](https://aws.amazon.com/codestar/)). 

 **Antipola umum:** 
+  Anda secara manual melakukan deploy pembaruan ke server aplikasi di semua armada Anda dan sejumlah server menjadi tidak responsif karena kesalahan dalam pembaruan. 
+  Anda secara manual melakukan deploy ke armada server aplikasi Anda selama berjam-jam. Inkonsistensi dalam versi selama perubahan menyebabkan perilaku tak terduga. 

 **Manfaat menerapkan praktik terbaik ini:** Mengadopsi sistem manajemen deployment mengurangi upaya untuk melakukan deploy perubahan, dan frekuensi kesalahan yang disebabkan oleh prosedur manual. 

 **Tingkat risiko yang terjadi jika praktik terbaik ini tidak diterapkan:** Sedang 

## Panduan implementasi
<a name="implementation-guidance"></a>
+  Gunakan sistem manajemen deployment: Gunakan sistem manajemen deployment untuk melacak dan mengimplementasikan perubahan. Sistem ini mengurangi kesalahan yang disebabkan oleh proses manual, dan mengurangi upaya untuk melakukan deploy perubahan. Otomatiskan alur deployment dan integrasi dari check-in kode melalui pengujian, deployment, dan validasi. Ini mengurangi waktu penyelesaian proses, memampukan peningkatan frekuensi perubahan, dan mengurangi lebih lanjut upaya yang diperlukan. 
  +  [Pengantar AWS CodeDeploy - deployment perangkat lunak otomatis dengan Amazon Web Services](https://www.youtube.com/watch?v=Wx-ain8UryM) 
  +  [Apa itu AWS CodeDeploy?](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html) 
  +  [Apa itu AWS Elastic Beanstalk?](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/Welcome.html) 
  +  [Apa itu Amazon API Gateway?](https://docs.aws.amazon.com/apigateway/latest/developerguide/welcome.html) 

## Sumber daya
<a name="resources"></a>

 **Dokumen terkait:** 
+  [AWS CodeDeploy Panduan Pengguna](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html) 
+  [AWS Alat Developer](https://aws.amazon.com/products/developer-tools/) 
+  [Coba Sampel Deployment Blue/Green di AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/applications-create-blue-green.html) 
+  [Apa itu AWS CodeDeploy?](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html) 
+  [Apa itu AWS Elastic Beanstalk?](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/Welcome.html) 
+  [Apa itu Amazon API Gateway?](https://docs.aws.amazon.com/apigateway/latest/developerguide/welcome.html) 

 **Video terkait:** 
+  [Pelajari Lebih Mendalam Teknik CD Lanjutan Menggunakan AWS](https://www.youtube.com/watch?v=Lrrgd0Kemhw) 
+  [Pengantar AWS CodeDeploy - deployment perangkat lunak otomatis dengan Amazon Web Services](https://www.youtube.com/watch?v=Wx-ain8UryM) 

# OPS06-BP04 Menguji menggunakan deployment terbatas
<a name="ops_mit_deploy_risks_test_limited_deploy"></a>

 Lakukan pengujian menggunakan deployment terbatas bersama dengan sistem yang ada untuk mengonfirmasi hasil yang diinginkan deployment skala penuh. Misalnya, gunakan pengujian canary deployment atau deployment one-box. 

 **Antipola umum:** 
+  Anda melakukan deployment perubahan yang tidak berhasil ke seluruh produksi sekaligus. Anda tidak tahu. 

 **Manfaat menerapkan praktik terbaik ini:** Dengan menguji dan memvalidasi perubahan sesuai dengan deployment terbatas, Anda dapat mengidentifikasi masalah sejak dini dan meminimalkan dampak terhadap pelanggan dengan menyediakan kesempatan untuk memitigasi lebih lanjut dampak yang ditimbulkan pada pelanggan. 

 **Tingkat risiko yang terjadi jika praktik terbaik ini tidak diterapkan:** Sedang 

## Panduan implementasi
<a name="implementation-guidance"></a>
+  Lakukan pengujian menggunakan deployment terbatas: Lakukan pengujian menggunakan deployment terbatas bersama dengan sistem yang ada untuk mengonfirmasi hasil yang diinginkan deployment skala penuh. Misalnya, gunakan pengujian canary deployment atau deployment one-box. 
  +  [Panduan Pengguna AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html) 
  +  [Deployment Blue/Green dengan AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.CNAMESwap.html) 
  +  [Konfigurasikan canary API Gateway untuk meluncurkan deployment](https://docs.aws.amazon.com/apigateway/latest/developerguide/canary-release.html) 
  +  [Coba Sampel Deployment Blue/Green di AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/applications-create-blue-green.html) 
  +  [Mulai konfigurasi deployment di AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations.html) 

## Sumber daya
<a name="resources"></a>

 **Dokumen terkait:** 
+  [Panduan Pengguna AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html) 
+  [Deployment Blue/Green dengan AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.CNAMESwap.html) 
+  [Konfigurasikan canary API Gateway untuk meluncurkan deployment](https://docs.aws.amazon.com/apigateway/latest/developerguide/canary-release.html) 
+  [Coba Sampel Deployment Blue/Green di AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/applications-create-blue-green.html) 
+  [Mulai konfigurasi deployment di AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations.html) 

# OPS06-BP05 Men-deploy menggunakan lingkungan paralel
<a name="ops_mit_deploy_risks_deploy_to_parallel_env"></a>

 Implementasikan perubahan ke lingkungan paralel, kemudian beralih ke lingkungan baru. Pertahankan lingkungan sebelumnya sampai ada konfirmasi deployment berhasil. Tindakan ini meminimalkan waktu pemulihan dengan mengaktifkan pengembalian ke lingkungan sebelumnya. 

 **Antipola umum:** 
+  Anda melakukan deployment yang dapat diubah dengan memodifikasi sistem yang sudah ada. Setelah mengetahui bahwa perubahan tidak berhasil, Anda terpaksa memodifikasi sistem lagi untuk memulihkan versi yang lama sehingga memperpanjang waktu pemulihan Anda. 
+  Selama jadwal pemeliharaan, Anda menonaktifkan lingkungan lama kemudian mulai membangun lingkungan baru. Berjam-jam di dalam prosedur, Anda menemukan masalah yang tidak dapat dipulihkan pada deployment. Meskipun sangat lelah, Anda terpaksa menemukan prosedur deployment sebelumnya dan mulai membangun kembali lingkungan lama. 

 **Manfaat menjalankan praktik terbaik ini:** Dengan menggunakan lingkungan paralel, Anda dapat melakukan pra-deploy lingkungan baru dan beralih ke lingkungan tersebut jika diinginkan. Jika lingkungan baru tidak berhasil, Anda dapat dengan cepat memulihkannya dengan kembali ke lingkungan asli Anda. 

 **Tingkat risiko yang terjadi jika praktik terbaik ini tidak dijalankan:** Sedang 

## Panduan implementasi
<a name="implementation-guidance"></a>
+  Deploy menggunakan lingkungan paralel: Implementasikan perubahan ke lingkungan paralel, dan beralih atau pindah ke lingkungan baru. Pertahankan lingkungan sebelumnya sampai ada konfirmasi deployment berhasil. Ini meminimalkan waktu pemulihan dengan mengaktifkan pengembalian ke lingkungan sebelumnya. Contohnya, gunakan infrastruktur yang tidak dapat diubah dengan deployment blue/green. 
  +  [Bekerja dengan konfigurasi deployment di AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations.html) 
  +  [Deployment Blue/Green dengan AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.CNAMESwap.html) 
  +  [Menyiapkan deployment perilisan canary API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/canary-release.html) 
  +  [Mencoba Sampel Deployment Blue/Green di AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/applications-create-blue-green.html) 

## Sumber daya
<a name="resources"></a>

 **Dokumen terkait:** 
+  [Panduan Pengguna AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html) 
+  [Deployment Blue/Green dengan AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.CNAMESwap.html) 
+  [Menyiapkan deployment perilisan canary API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/canary-release.html) 
+  [Mencoba Sampel Deployment Blue/Green di AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/applications-create-blue-green.html) 
+  [Bekerja dengan konfigurasi deployment di AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations.html) 

 **Video terkait: ** 
+  [Pelajari Lebih Dalam Teknik Penyampaian Kontinu Lanjutan Menggunakan AWS](https://www.youtube.com/watch?v=Lrrgd0Kemhw) 

# OPS06-BP06 Lakukan deployment perubahan yang sering, kecil, dan dapat dikembalikan
<a name="ops_mit_deploy_risks_freq_sm_rev_chg"></a>

 Gunakan perubahan yang sering, kecil, dan dapat dikembalikan untuk mengurangi cakupan perubahan. Hal ini menghasilkan pemecahan masalah yang lebih mudah dan perbaikan yang lebih cepat dengan opsi untuk membatalkan perubahan. 

 **Antipola umum:** 
+  Anda melakukan deployment versi baru aplikasi Anda setiap kuartal. 
+  Anda sering melakukan perubahan pada skema basis data Anda. 
+  Anda melakukan pembaruan pengganti manual, menimpa instalasi dan konfigurasi yang ada. 

 **Manfaat menjalankan praktik terbaik ini:** Anda merasakan manfaat dari upaya pengembangan lebih cepat dengan melakukan deployment perubahan-perubahan kecil secara sering. Ketika berukuran kecil, perubahan jauh lebih mudah diidentifikasi jika terdapat konsekuensi yang tidak diinginkan. Ketika perubahan dapat dikembalikan, lebih sedikit risiko dari implementasi perubahan karena pemulihannya lebih mudah. 

 **Tingkat risiko yang terjadi jika praktik terbaik ini tidak dijalankan:** Rendah 

## Panduan implementasi
<a name="implementation-guidance"></a>
+  Terapkan perubahan yang sering, kecil, dan dapat dikembalikan: Gunakan perubahan yang sering, kecil, dan dapat dikembalikan untuk mengurangi cakupan perubahan. Hal ini menghasilkan pemecahan masalah yang lebih mudah dan perbaikan yang lebih cepat dengan opsi untuk membatalkan perubahan. 

# OPS06-BP07 Mengotomatiskan integrasi dan deployment sepenuhnya
<a name="ops_mit_deploy_risks_auto_integ_deploy"></a>

 Otomatiskan build, deployment, dan pengujian beban kerja. Ini mengurangi kesalahan yang disebabkan oleh proses manual dan mengurangi upaya untuk melakukan deployment perubahan. 

 Terapkan metadata menggunakan [Tag Sumber Daya](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) dan [AWS Resource Groups](https://docs.aws.amazon.com/ARG/latest/APIReference/Welcome.html) mengikuti strategi [pemberian tag yang konsisten](https://aws.amazon.com/answers/account-management/aws-tagging-strategies/) untuk memungkinkan identifikasi sumber daya. Beri tag pada sumber daya Anda untuk organisasi, akuntansi biaya, kontrol akses, dan penargetan eksekusi aktivitas operasi yang diotomatisasi. 

 **Antipola umum:** 
+  Pada hari jumat, Anda selesai menulis kode baru untuk cabang fitur Anda. Pada hari Senin, setelah menjalankan skrip pengujian kualitas kode dan setiap skrip pengujian unit, Anda akan mendaftarkan kode untuk rilisan terjadwal berikutnya. 
+  Anda ditugaskan untuk membuat kode perbaikan untuk sebuah masalah besar yang memengaruhi banyak pelanggan di tahap produksi. Setelah menguji perbaikan tersebut, Anda melakukan commit kode Anda dan mengirimkan manajemen perubahan melalui email untuk meminta persetujuan deployment ke produksi. 

 **Manfaat menjalankan praktik terbaik ini:** Dengan mengimplementasikan sistem manajemen build dan deployment otomatis, Anda mengurangi kesalahan yang disebabkan proses manual dan mengurangi upaya untuk melakukan deployment perubahan sehingga anggota tim Anda dapat berkonsentrasi menghadirkan nilai bisnis. 

 **Tingkat risiko yang terjadi jika praktik terbaik ini tidak dijalankan:** Rendah 

## Panduan implementasi
<a name="implementation-guidance"></a>
+  Gunakan sistem manajemen build dan deployment: Gunakan sistem manajemen build dan deployment untuk melacak dan mengimplementasikan perubahan, mengurangi kesalahan yang disebabkan proses manual, dan meminimalkan upaya. Otomatiskan jalur deployment dan integrasi secara penuh dari check-in kode hingga build, pengujian, deployment, dan validasi. Ini mengurangi waktu penyelesaian proses, memampukan peningkatan frekuensi perubahan, dan mengurangi upaya. 
  +  [Apa itu AWS CodeBuild?](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html) 
  +  [Praktik terbaik integrasi berkelanjutan untuk pengembangan perangkat lunak](https://www.youtube.com/watch?v=GEPJ7Lo346A) 
  +  [Slalom: CI/CD untuk aplikasi nirserver di AWS](https://www.youtube.com/watch?v=tEpx5VaW4WE) 
  +  [Pengantar AWS CodeDeploy - deployment perangkat lunak otomatis dengan Amazon Web Services](https://www.youtube.com/watch?v=Wx-ain8UryM) 
  +  [Apa itu AWS CodeDeploy?](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html) 
  +  [Pelajari Lebih Dalam Teknik Penyampaian Kontinu Lanjutan Menggunakan AWS](https://www.youtube.com/watch?v=Lrrgd0Kemhw) 

## Sumber daya
<a name="resources"></a>

 **Dokumen terkait:** 
+  [Mencoba Sampel Deployment Blue/Green di AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/applications-create-blue-green.html) 
+  [Apa itu AWS CodeBuild?](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html) 
+  [Apa itu AWS CodeDeploy?](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html) 

 **Video terkait:** 
+  [Praktik terbaik integrasi berkelanjutan untuk pengembangan perangkat lunak](https://www.youtube.com/watch?v=GEPJ7Lo346A) 
+  [Pelajari Lebih Dalam Teknik Penyampaian Kontinu Lanjutan Menggunakan AWS](https://www.youtube.com/watch?v=Lrrgd0Kemhw) 
+  [Pengantar AWS CodeDeploy - deployment perangkat lunak otomatis dengan Amazon Web Services](https://www.youtube.com/watch?v=Wx-ain8UryM) 
+  [Slalom: CI/CD untuk aplikasi nirserver di AWS](https://www.youtube.com/watch?v=tEpx5VaW4WE) 

# OPS06-BP08 Mengotomatiskan pengujian dan pengembalian (rollback)
<a name="ops_mit_deploy_risks_auto_testing_and_rollback"></a>

 Otomatiskan pengujian lingkungan yang di-deploy untuk mengonfirmasi hasil yang diinginkan. Otomatiskan pengembalian ke keadaan yang diketahui baik sebelumnya ketika hasil tidak tercapai, untuk meminimalkan waktu pemulihan dan mengurangi kesalahan yang disebabkan oleh proses manual. 

 **Antipola umum:** 
+  Anda men-deploy perubahan ke beban kerja Anda. Setelah Anda melihat perubahan tersebut selesai, Anda mulai pengujian pasca-deployment. Setelah pengujian selesai, Anda menyadari beban kerja Anda tidak dapat dioperasikan dan koneksi pelanggan terputus. Kemudian Anda mulai mengembalikan ke versi sebelumnya. Setelah waktu yang lama untuk mendeteksi masalah, waktu pemulihan menjadi lebih panjang akibat deployment ulang manual Anda. 

 **Manfaat menjalankan praktik terbaik ini:** Dengan menguji dan memvalidasi perubahan setelah deployment, Anda dapat segera mengidentifikasi masalah. Dengan mengembalikan secara otomatis ke versi sebelumnya, dampak pada pelanggan diminimalkan. 

 **Tingkat risiko yang terjadi jika praktik terbaik ini tidak dijalankan:** Rendah 

## Panduan implementasi
<a name="implementation-guidance"></a>
+  Mengotomatiskan pengujian dan pengembalian (rollback): Otomatiskan pengujian lingkungan yang di-deploy untuk mengonfirmasi hasil yang diinginkan. Otomatiskan pengembalian ke keadaan yang diketahui baik sebelumnya ketika hasil tidak tercapai, untuk meminimalkan waktu pemulihan dan mengurangi kesalahan yang disebabkan oleh proses manual. Contohnya, lakukan transaksi pengguna sintetis mendetail setelah deployment, verifikasi hasilnya, dan kembalikan jika terjadi kegagalan. 
  +  [Deploy ulang dan batalkan deployment dengan AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployments-rollback-and-redeploy.html) 

## Sumber daya
<a name="resources"></a>

 **Dokumen terkait:** 
+  [Men-deploy ulang dan membatalkan deployment dengan AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployments-rollback-and-redeploy.html) 