REL08-BP05 Melakukan deployment perubahan dengan otomatisasi - Pilar Keandalan

REL08-BP05 Melakukan deployment perubahan dengan otomatisasi

Deployment dan patching diotomatisasi untuk menghilangkan dampak-dampak negatif.

Membuat perubahan pada sistem produksi adalah salah satu area risiko terbesar bagi banyak organisasi. Kami menganggap deployment sebagai masalah kelas pertama untuk diatasi bersama dengan masalah-masalah bisnis yang ditangani oleh perangkat lunak. Saat ini, ini artinya 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 pra-produksi yang ekstensif, rollback otomatis, dan deployment produksi yang sangat baik. Otomatisasi ini meminimalkan potensi dampak pada produksi yang disebabkan oleh deployment yang gagal, dan developer tidak perlu lagi mengawasi deployment hingga tahapan produksi secara aktif.

Anti-pola umum:

  • Anda melakukan perubahan secara manual.

  • Anda melewatkan langkah-langkah dalam otomatisasi Anda melalui alur kerja darurat manual.

  • Anda tidak mengikuti rencana dan proses yang telah ditetapkan demi mempercepat kronologi (timeline).

  • Anda melakukan deployment susulan cepat tanpa menyediakan waktu menanam.

Manfaat menerapkan praktik terbaik ini: Ketika Anda menggunakan otomatisasi untuk melakukan deployment atas semua perubahan, Anda menghapus kemungkinan adanya kesalahan manusia dan memberikan kemampuan untuk melakukan pengujian sebelum Anda mengubahnya ke tahap produksi. Melakukan proses ini sebelum deployment di lingkungan produksi (push) dapat memverifikasi bahwa rencana Anda sudah lengkap. Selain itu, rollback otomatis ke dalam proses rilis Anda dapat mengidentifikasi masalah-masalah produksi dan mengembalikan beban kerja Anda ke keadaan operasional yang diketahui berfungsi sebelumnya.

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

Panduan implementasi

Lakukan otomatisasi terhadap pipeline deployment Anda. Pipeline deployment memungkinkan Anda untuk menginvokasi 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 integral dari hal ini adalah adopsi budaya integrasi berkelanjutan dan pengiriman/deployment berkelanjutan (CI/CD), di mana pelaksanaan komit atau perubahan kode melewati berbagai gerbang tahapan otomatis dari tahap pembuatan dan pengujian hingga tahap deployment pada lingkungan produksi.

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

Langkah-langkah implementasi

Anda dapat mengotomatiskan deployment untuk menghapus operasi-operasi manual dengan mengikuti langkah-langkah berikut:

  • Siapkan repositori kode untuk menyimpan kode Anda dengan aman: Gunakan AWS CodeCommit, untuk membuat sebuah repositori berbasis Git yang aman.

  • Konfigurasikan layanan integrasi berkelanjutan untuk mengompilasi kode sumber, menjalankan pengujian, dan membuat artefak deployment: Untuk menyiapkan proyek pembangunan (build) untuk tujuan ini, lihat Memulai 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, silakan lihat Memulai CodeDeploy.

  • Siapkan layanan pengiriman berkelanjutan yang mengotomatiskan pipeline rilis Anda untuk pembaruan aplikasi dan infrastruktur yang lebih cepat dan lebih andal: Pertimbangkan menggunakan AWS CodePipeline yang akan membantu Anda mengotomatiskan pipeline rilis. Untuk detail selengkapnya, lihat tutorial CodePipeline.

Sumber daya

Praktik-praktik terbaik terkait:

Dokumen terkait:

Video terkait: