Otomatisasi platform dan DevOps untuk akselerator zona pendaratan App Service

Artikel ini menyediakan pertimbangan desain dan rekomendasi untuk otomatisasi platform dan DevOps yang dapat Anda terapkan saat Anda menggunakan akselerator zona pendaratan Azure App Service. Otomatisasi platform dan DevOps memberikan peluang untuk memodernisasi pendekatan Anda terhadap penyebaran dengan menggunakan infrastruktur sebagai kode.

Pelajari selengkapnya tentang otomatisasi platform dan area desain DevOps .

Mempertimbangkan rancangan

Automation dan DevOps adalah praktik penting dalam pengembangan perangkat lunak modern, dan App Service adalah platform yang kuat untuk membangun dan menyebarkan aplikasi web. Dengan menggunakan teknik otomatisasi dan DevOps, Anda dapat menyederhanakan alur kerja dan meningkatkan kualitas dan keandalan aplikasi Anda.

Pertimbangkan pertimbangan berikut saat Anda mempersiapkan penyebaran App Service.

  • Pahami persyaratan dan tujuan proyek sehingga Anda dapat menentukan alat dan pendekatan yang paling tepat untuk otomatisasi. Langkah ini melibatkan identifikasi tugas yang ingin Anda otomatisasi, seperti provisi infrastruktur, penyebaran kode, dan pengujian. Ini juga melibatkan mengidentifikasi alat dan teknologi yang akan Anda gunakan untuk mengimplementasikan otomatisasi.

  • Jadikan keamanan sebagai prioritas utama saat Anda merancang otomatisasi dan alur CI/CD di App Service. Tugas keamanan dapat mencakup penerapan tindakan autentikasi dan otorisasi untuk membantu melindungi akses ke alur dan komponennya. Mereka juga dapat mencakup penerapan enkripsi dan langkah-langkah keamanan lainnya untuk membantu melindungi data sensitif.

  • Pertimbangkan integrasi dan penyebaran berkelanjutan. App Service mendukung integrasi dan penyebaran berkelanjutan dari berbagai sistem kontrol sumber, termasuk Azure Repos, GitHub, dan Bitbucket. Anda dapat menggunakan alat ini untuk mengotomatiskan proses build dan penyebaran, memastikan bahwa aplikasi Anda selalu diperbarui dan tersedia.

  • Pertimbangkan skrip otomatisasi. App Service menyediakan sejumlah skrip otomatisasi, termasuk templat PowerShell, Azure CLI, Bicep, dan Azure Resource Manager (ARM). Anda dapat menggunakan skrip ini untuk mengotomatiskan tugas umum seperti menyediakan dan menskalakan sumber daya.

  • Evaluasi apakah Anda perlu menggunakan agen yang dihost sendiri. Bergantung pada konfigurasi jaringan Anda, App Services mungkin tidak tersedia dari internet publik. Jika tidak, agen yang dihosting publik tidak akan berfungsi untuk penyebaran. Rencanakan untuk menggunakan agen yang dihost sendiri dalam skenario ini.

  • Mengadopsi strategi percabangan yang akan membantu Anda berkolaborasi sambil juga memberikan fleksibilitas. Sederhanakan strategi Anda, gunakan isolasi fitur berumur pendek, dan izinkan modifikasi kembali ke cabang utama Anda melalui permintaan pull dengan analisis kode manual dan otomatis.

  • Pastikan logika bisnis Anda diperiksa oleh pengujian unit di alur build. Gunakan pengujian integrasi dalam alur rilis untuk memeriksa bahwa semua layanan dan sumber daya bekerja sama setelah rilis baru. Periksa elemen UI yang paling penting dengan menggunakan pengujian UI otomatis. Periksa persyaratan performa non-fungsi dengan menggunakan pengujian beban melalui alat seperti k6 dan JMeter di lingkungan penahapan Anda.

  • Pantau dan pertahankan otomatisasi dan alur CI/CD. Proses ini dapat melibatkan penerapan alat pengelogan dan pemantauan untuk melacak performa dan kesehatan alur Anda. Ini juga dapat melibatkan penerapan proses untuk meninjau dan memperbarui alur secara teratur untuk memastikan bahwa alur tetap efektif dan efisien.

Kunci keberhasilan otomatisasi platform dan implementasi alur CI/CD dalam App Service adalah merencanakan dan merancang solusi dengan cermat, dengan mempertimbangkan kebutuhan dan persyaratan spesifik aplikasi yang Anda sebarkan. Dengan menggunakan pendekatan yang tepat, Anda dapat membuat platform yang dapat diskalakan, aman, dan efisien untuk menyebarkan dan mengelola aplikasi Anda di cloud.

Rekomendasi desain

Ingatlah praktik terbaik berikut saat Anda menyebarkan App Service.

  • Gunakan Azure DevOps untuk alur CI/CD Anda. Azure DevOps menyediakan solusi lengkap untuk mengotomatiskan build, pengujian, dan penyebaran aplikasi Anda.

  • Gunakan alur atau tindakan untuk:

    • Maksimalkan manfaat praktik yang diterapkan di seluruh tim.
    • Hapus banyak beban proses penemuan kembali.
    • Dapatkan prediktabilitas dan wawasan tentang kualitas dan kelincahan keseluruhan.
  • Sebarkan lebih awal dan sering dengan menggunakan alur berbasis pemicu dan terjadwal. Alur berbasis pemicu memastikan bahwa perubahan melalui validasi yang tepat. Alur terjadwal mengelola perilaku di lingkungan yang berubah.

  • Pisahkan penyebaran infrastruktur dari penyebaran aplikasi. Infrastruktur inti lebih jarang berubah daripada aplikasi. Perlakukan setiap jenis penyebaran sebagai aliran dan alur terpisah.

  • Gunakan infrastruktur sebagai alat kode seperti templat ARM atau Bicep untuk mengotomatiskan provisi dan manajemen sumber daya Azure Anda. Anda dapat menggunakan templat ARM dan Bicep untuk menentukan infrastruktur Anda sebagai kode, memudahkan kontrol versi, berkolaborasi, dan mengotomatiskan penyebaran sumber daya Anda.

  • Simpan rahasia dan artefak sensitif lainnya di penyimpanan rahasia yang relevan (seperti rahasia Azure Key Vault atau GitHub). Perbolehkan tindakan dan bagian alur kerja lainnya untuk membacanya sesuai kebutuhan.

  • Upayakan konkurensi penyebaran yang dimaksimalkan dengan menghindari konfigurasi dan pengaturan yang dikodekan secara permanen.

  • Terapkan keamanan shift-left dengan menyertakan alat kerentanan dan pemindaian rahasia, seperti pemindai kontainer, di awal alur.

  • Siapkan strategi penyebaran yang menerapkan prinsip penyebaran biru/hijau atau kenari untuk meminimalkan waktu henti dan mengurangi risiko kegagalan penyebaran. Melakukannya memungkinkan Anda meluncurkan versi baru aplikasi Anda secara bertahap ke subset kecil pengguna sebelum meluncurkannya ke seluruh basis pengguna.

  • Gunakan slot penyebaran App Service untuk menerapkan strategi penyebaran biru/hijau. Melakukannya memungkinkan Anda untuk memvalidasi dan menguji penyebaran Anda di lingkungan penahapan sebelum Anda menyebarkannya ke produksi. Strategi ini membantu Anda memastikan penyebaran yang lancar dan sukses, memvalidasi perubahan aplikasi, dan meminimalkan waktu henti.

  • Pantau dan lacak performa dan ketersediaan aplikasi Anda dengan menggunakan Application Insights. Application Insights memberikan wawasan real-time tentang kesehatan dan penggunaan aplikasi Anda. Ini juga dapat membantu Anda dengan cepat mendiagnosis dan menyelesaikan masalah yang muncul.

  • Terapkan alat dan proses yang memfasilitasi komunikasi dan kolaborasi, seperti metodologi pengembangan Agile dan alat untuk melacak dan mengelola tugas dan dependensi. Automasi platform, DevOps, dan proses CI/CD yang sukses mengandalkan kolaborasi dan komunikasi yang efektif di antara anggota tim.

Kunci keberhasilan otomatisasi platform, DevOps, dan CI/CD dengan App Service adalah merancang dan mengimplementasikan proses dan sistem yang dapat diskalakan, aman, dipantau dengan baik, dan kolaboratif. Rekomendasi ini dapat membantu teknisi IT dan cloud memastikan bahwa aplikasi dan API mereka memberikan performa terbaik dan pengalaman pengguna.