Apa itu application release automation (ARA)?

Application release automation (ARA) adalah proses yang secara otomatis melakukan packaging dan deployment aplikasi, termasuk update aplikasinya, dari tahap development sampai production. Untuk mendukung hal ini, software ARA biasanya dilengkapi fitur seperti deployment automation, release coordination, serta environment management dan modeling tools.

ARA sering digunakan oleh tim pengembang software berbasis Agile, terutama oleh tim DevOps, dalam praktik continuous integration/continuous delivery (CI/CD). Pipeline CI/CD memfasilitasi pengiriman software yang cepat dan stabil dengan memungkinkan organisasi memasukkan lebih banyak perubahan ke production. Bisa dibilang, CD itu lebih ke arah proses, sedangkan ARA adalah toolchain CD — kumpulan tools yang memungkinkan continuous deployment.

ARA mempercepat proses development dan delivery aplikasi dengan adanya fitur code testing dan keamanan. ARA mendukung model-driven continuous deployment process. Salah satu tujuan ARA adalah membuat beberapa tim IT bisa menggunakan proses release yang sama tanpa perlu menulis script. Contohnya, organisasi bisa memakai ARA supaya tim development, testing, dan production bekerja dalam environment yang sama.

Tools ARA umumnya mendukung deployment packaging, versioning, server configuration management, database updates, rollback, dan security access. Namun, sebagian besar tool lebih fokus ke deployment packaging, konfigurasi terkait, dan continuous release deployment.

Keuntungan application release automation

Beberapa keuntungan ARA antara lain:

  • Deployment automation. ARA menangani otomatisasi deployment, yang jadi bagian paling berat dari CD.
  • Centralized management. Tim IT, mulai dari development hingga production, bisa melihat dan mengupdate konfigurasi tanpa harus eksekusi script manual.
  • Integrasi dengan CD pipeline. Semua output dari pipeline CI/CD bisa otomatis dideploy.
  • Mudah di-update. Update atau versi baru relatif gampang dipush. Aplikasi berbasis container bahkan bisa di-update tanpa downtime.
  • Mendukung DevOps. Mayoritas platform ARA mendukung dan memfasilitasi praktik terbaik DevOps.

Bagaimana cara kerja application release automation?

ARA melakukan deployment aplikasi melalui proses release automation yang terstruktur. Tools ARA melakukan packaging aplikasi beserta komponen tambahan atau dependencies, lalu menginstalnya ke target environment. Sebagian besar tools akan mendefinisikan aplikasi terlebih dahulu, termasuk konfigurasi yang diperlukan agar bisa berjalan. Setelah itu, environment ditentukan. Sebelum deployment, ARA biasanya melakukan validasi code. Setelah lolos validasi, orchestrator akan push aplikasi untuk dideploy.

Jika aplikasi dideploy di cloud, ARA berbasis model akan memisahkan aplikasi dari target environment sehingga user tidak perlu lagi menulis script manual untuk tiap langkah deployment. Komponen yang dibutuhkan dan tujuan deployment ditentukan lebih dulu, lalu tool ARA akan menentukan step deployment-nya.

Tools ARA juga biasanya dilengkapi workload automation dan release management tools, meski tingkat integrasi bervariasi tergantung platform ARA.

Komponen application release automation

Karena tiap platform ARA punya pendekatan berbeda, komponennya bisa bervariasi. Namun, komponen umum meliputi:

  • Packaging. Bagian-bagian aplikasi yang diperlukan digabung dalam satu paket. Ini adalah komponen krusial dalam proses ARA.
  • Dependencies. Komponen tambahan yang diperlukan agar bagian lain aplikasi bisa jalan. Memetakan dependencies penting untuk tahu dampak update terhadap aplikasi.
  • Deployment. Proses menjalankan aplikasi atau update ke target environment. Dalam ARA, proses ini berbasis model, bukan scripted manual.

Komponen tambahan bisa berupa versioning, code testing, monitoring tools, dashboard analytics, hingga scheduled deployment, yang biasanya juga butuh network monitoring.

Application release automation dan DevOps

Banyak tim DevOps mengandalkan ARA untuk mendukung praktik seperti CD. Dengan mempercepat proses release sambil menjaga kualitas dan monitoring, tim development bisa lebih fokus ke task lain.

ARA juga memberi transparansi lebih dan otomatisasi pada kode aplikasi. Hal ini memungkinkan kolaborasi lintas tim IT, yang merupakan core dari DevOps. ARA juga mendorong tujuan utama DevOps seperti otomatisasi, workflow management, dan environment modeling untuk mempercepat development cycle. Automation tools dalam ARA juga bisa membantu mengatur orchestration lifecycle software.

ARA tools dan vendor

Kebanyakan penyedia public cloud besar punya tools ARA sendiri. Biasanya sudah dilengkapi fitur seperti code testing, scheduled deployment, automated web server configuration, dan debugging tools.

Contoh tools ARA antara lain:

  • Inedo’s BuildMaster.
  • Electric Cloud’s ElectricFlow.
  • IBM UrbanCode Deploy.
  • Puppet Enterprise.
  • Digital.ai’s Deploy.
  • Micro Focus’ Deployment Automation.
  • Microsoft’s Release Management.
  • BMC Release Lifecycle Management.

Sebagai contoh, IBM UrbanCode Deploy memungkinkan user melakukan deployment aplikasi ke data center terdistribusi, cloud, dan environment virtualized. Ekosistem plugin-nya juga menghilangkan kebutuhan scripting manual dan membantu membangun toolchain DevOps.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *