REL08-BP05 Melakukan deployment perubahan dengan otomatisasi
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
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
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
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, 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.
-
Siapkan layanan deployment yang mengotomatiskan deployment aplikasi dan menangani kompleksitas pembaruan aplikasi tanpa bergantung pada deployment manual yang rawan kesalahan: AWS CodeDeploy
mengotomatiskan deployment perangkat lunak ke berbagai layanan komputasi, seperti Amazon EC2, AWS Fargate , AWS Lambda , dan server on-premise Anda. Untuk mengonfigurasi langkah-langkah ini, lihat Mulai menggunakan CodeDeploy. -
Siapkan layanan pengiriman berkelanjutan yang mengotomatiskan pipeline rilis Anda untuk pembaruan aplikasi dan infrastruktur yang lebih cepat dan andal: Pertimbangkan AWS CodePipeline untuk membantu Anda mengotomatiskan pipeline rilis Anda. Untuk detail lebih lanjut, lihat Tutorial CodePipeline.
Sumber daya
Praktik terbaik terkait:
Dokumen terkait:
-
Continuous Delivery of Nested AWS CloudFormation Stacks Using AWS CodePipeline
-
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
-
AWS Marketplace: produk yang dapat digunakan untuk mengotomatiskan deployment Anda
-
Amazon Builders' Library: Memastikan keamanan rollback selama deployment
-
Amazon Builders' Library: Melaju lebih cepat dengan pengiriman berkelanjutan
Video terkait: