

# REL08-BP05 Melakukan deployment perubahan dengan otomatisasi
<a name="rel_tracking_change_management_automated_changemgmt"></a>

 Deployment dan patching diotomatisasi untuk menyingkirkan dampak negatif. 

 Membuat perubahan pada sistem produksi adalah salah satu area risiko terbesar untuk banyak organisasi. Kami menganggap deployment sebagai masalah kelas pertama untuk diatasi bersamaan dengan masalah-masalah bisnis yang ditangani oleh perangkat lunak. Saat ini, ini berarti penggunaan otomatisasi kapan saja memungkinkan dalam operasi, termasuk untuk menguji dan melakukan deployment perubahan, menambah atau menghapus kapasitas, dan memigrasikan data. 

 **Hasil yang diinginkan:** Anda membangun keamanan deployment otomatis ke dalam proses rilis dengan pengujian praproduksi yang ekstensif, rollback otomatis, dan deployment produksi bertahap. Otomatisasi ini meminimalkan potensi dampak pada produksi yang disebabkan oleh deployment yang gagal, dan developer tidak perlu lagi mengawasi deployment ke produksi secara aktif. 

 **Antipola umum:** 
+  Anda melakukan perubahan manual. 
+  Anda melewatkan langkah-langkah dalam otomatisasi Anda melalui alur kerja darurat manual. 
+  Anda tidak mengikuti rencana dan proses yang telah ditetapkan demi mempercepat jadwal. 
+  Anda melakukan deployment susulan cepat tanpa menyediakan waktu menanam. 

 **Manfaat menjalankan praktik terbaik ini:** Ketika Anda menggunakan otomatisasi untuk melakukan deployment semua perubahan, Anda menghilangkan potensi kesalahan manusia dan memberikan kemampuan untuk menguji sebelum Anda mengubah produksi. Melakukan proses ini sebelum deployment di produksi dapat memverifikasi bahwa rencana Anda sudah lengkap. Selain itu, rollback otomatis ke dalam proses rilis Anda dapat mengidentifikasi masalah produksi dan mengembalikan beban kerja Anda ke keadaan operasional yang diketahui berfungsi sebelumnya. 

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

## Panduan implementasi
<a name="implementation-guidance"></a>

 Otomatiskan pipeline deployment Anda. Pipeline deployment memungkinkan Anda untuk memanggil pengujian dan deteksi anomali secara otomatis, serta memberi Anda pilihan untuk menghentikan pipeline pada langkah tertentu sebelum deployment produksi atau membatalkan perubahan secara otomatis. Bagian yang tidak terpisahkan dari hal ini adalah adopsi budaya [integrasi berkelanjutan dan pengiriman/deployment berkelanjutan](https://en.wikipedia.org/wiki/CI/CD) (CI/CD), di mana commit atau perubahan kode melewati berbagai gerbang tahap otomatis, mulai dari tahap build dan pengujian hingga deployment di lingkungan produksi. 

 Meskipun kebijaksanaan konvensional menyarankan Anda untuk melibatkan personel untuk prosedur operasional paling sulit, kami justru menyarankan Anda mengotomatiskan prosedur paling sulit untuk alasan tersebut. 

### Langkah implementasi
<a name="implementation-steps"></a>

 Anda dapat mengotomatiskan deployment untuk menghapus operasi manual dengan mengikuti langkah-langkah berikut: 
+  **Siapkan repositori kode untuk menyimpan kode Anda dengan aman:** Gunakan [AWS CodeCommit,](https://docs.aws.amazon.com/codecommit/latest/userguide/setting-up.html) untuk membuat repositori berbasis Git yang aman. 
+  **Buat konfigurasi layanan integrasi berkelanjutan untuk mengompilasi kode sumber Anda, menjalankan pengujian, dan membuat artefak deployment:** Untuk menyiapkan proyek build untuk tujuan ini, lihat [Mulai menggunakan AWS CodeBuild menggunakan konsol](https://docs.aws.amazon.com/codebuild/latest/userguide/getting-started.html). 
+  **Siapkan layanan deployment yang mengotomatiskan deployment aplikasi dan menangani kompleksitas pembaruan aplikasi tanpa bergantung pada deployment manual yang rawan kesalahan:** [AWS CodeDeploy](https://aws.amazon.com/codedeploy/) mengotomatiskan deployment perangkat lunak ke berbagai layanan komputasi, seperti Amazon EC2, [AWS Fargate](https://aws.amazon.com/fargate/), [AWS Lambda](https://aws.amazon.com/lambda), dan server on-premise Anda. Untuk mengonfigurasi langkah-langkah ini, lihat [Mulai menggunakan CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/getting-started-codedeploy.html). 
+  **Siapkan layanan pengiriman berkelanjutan yang mengotomatiskan pipeline rilis Anda untuk pembaruan aplikasi dan infrastruktur yang lebih cepat dan andal:** Pertimbangkan [AWS CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/getting-started-codepipeline.html) untuk membantu Anda mengotomatiskan pipeline rilis Anda. Untuk detail lebih lanjut, lihat [Tutorial CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/tutorials.html). 

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

 **Praktik terbaik terkait:** 
+  [OPS05-BP04 Menggunakan sistem manajemen build dan deployment](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_dev_integ_build_mgmt_sys.html) 
+  [OPS05-BP10 Mengotomatiskan integrasi dan deployment sepenuhnya](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_dev_integ_auto_integ_deploy.html) 
+  [OPS06-BP02 Menguji deployment](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_mit_deploy_risks_test_val_chg.html) 
+  [OPS06-BP04 Mengotomatiskan pengujian dan pengembalian (rollback)](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_mit_deploy_risks_auto_testing_and_rollback.html) 

 **Dokumen terkait:** 
+  [Continuous Delivery of Nested AWS CloudFormation Stacks Using AWS CodePipeline](https://aws.amazon.com/blogs/devops/continuous-delivery-of-nested-aws-cloudformation-stacks-using-aws-codepipeline) 
+  [Complete CI/CD with AWS CodeCommit, AWS CodeBuild, AWS CodeDeploy, and AWS CodePipeline](https://aws.amazon.com/blogs/devops/complete-ci-cd-with-aws-codecommit-aws-codebuild-aws-codedeploy-and-aws-codepipeline) 
+  [Partner APN: partner yang dapat membantu Anda membuat solusi deployment yang diotomatiskan](https://aws.amazon.com/partners/find/results/?keyword=devops) 
+  [AWS Marketplace: produk yang dapat digunakan untuk mengotomatiskan deployment Anda](https://aws.amazon.com/marketplace/search/results?searchTerms=DevOps) 
+  [Otomatiskan pesan obrolan dengan webhook.](https://docs.aws.amazon.com/chime/latest/ug/webhooks.html) 
+  [Amazon Builders' Library: Memastikan keamanan rollback selama deployment](https://aws.amazon.com/builders-library/ensuring-rollback-safety-during-deployments) 
+  [Amazon Builders' Library: Melaju lebih cepat dengan pengiriman berkelanjutan](https://aws.amazon.com/builders-library/going-faster-with-continuous-delivery/) 
+  [Apa Itu AWS CodePipeline?](https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html) 
+  [Apa Itu CodeDeploy?](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html) 
+  [AWS Systems Manager Patch Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-patch.html) 
+  [Apa itu Amazon SES?](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/Welcome.html) 
+  [Apa itu Amazon Simple Notification Service?](https://docs.aws.amazon.com/sns/latest/dg/welcome.html) 

 **Video terkait:** 
+  [AWS Summit 2019: CI/CD on AWS](https://youtu.be/tQcF6SqWCoY) 