Mengenal Ansible (Tool untuk otomasi remote server)
By Harjito
Dalam sebuah acara online learning yang diselenggarakan oleh komunitas PHP Indonesia, saya diminta untuk mengisi materi. Saat itu saya membawakan materi pemrograman bash untuk otomasi install LEMP di Centos 7. materi bisa dilihat di sini. Dalam sesi tanya jawab, seorang peserta yang sebenarnya master yang sedang menyamar (Pak Nur Hidayat) bertanya mengenai ansible. Jujur saya memang tidak tahu, bahkan baru mendengar. Dan saya tahu pasti, bahwa beliau memang sengaja memancing saya.. Singkat cerita, setelah acara selesai, saya langsung googling mengenai ansible. Hasilnya seperti yang saya tuliskan di sini
Apa itu ansible? Secara umum (menurut versi saya sendiri), sebuah tool yang disediakan untuk otomasi server tanpa perlu masuk ke server. Untuk install aplikasi di server, biasanya kita melakukan koneksi secara remote dengan Secure Shell (SSH). Setelah berhasil masuk, kita melakukan instalasi. Dalam ansible, kita cukup mengirimkan serangkaian perintah ke server, lalu server mengeksekusi. Luar bisanya kita bisa instalsi beberapa server sekaligus secara paralel, dan masing-masing bisa diatur sehingga instalasi masing-masing server sesuai dengan yang kita inginkan.
Perbedaan Install menggunakan SSH dan Ansible
Instalasi menggunakan SSH
Misalkan kita memiliki 5 server, 1 server untuk load balancing, 1 server untuk database, dan 3 server untuk aplikasi web. Dengan SSH maka kita melalukan koneksi SSH ke server 1, lalu instalasi aplikasi yang dibutuhkan untuk load balancing. Setelah selesai, kita melalukan SSH ke server 2, lalu instal database. Lalu masuk ke server 3, install web server dan web program, demikian seterusnya sampai server ke-5. Meskipun kita sudah menyiapkan package, tetap saja ini membutuhkan waktu.
Instalasi menggunakan Ansible
Untuk kasus yang sama, kita bisa atasi dengan lebih mudah dengan ansible. Kita cukup mendaftarkan 3 identifier yaitu [LoadBalancer], [database] dan [aplikasi]. Lalu kita atur ip dari masing-masing sesuai identifier dalam hosts.
[LoadBalancer]
xxx.xxx.xxx.xx1
[database]
xxx.xxx.xxx.xx2
[aplikasi]
xxx.xxx.xxx.xx3
xxx.xxx.xxx.xx4
xxx.xxx.xxx.xx5
Langkah berikutnya, kita tinggal menyiapkan subuah file yaml yang berisi pengaturan aplikasi yang akan diinstall di-masing-masing identifier. Setelah semua siap, kita tinggal jalankan ansible dan .. voila… masing-masing server terinstall sesuai yang kita inginkan tanpa kita perlu masuk secara remote ke masing-masing server. Jika server aplikasi kita bertambah, maka kita cukup menambahkan ip baru di bawah [aplikasi].
Apakah teman-teman tertarik dengan ansible? Nantikan kelanjutannya…
Tags:
Ikuti terus tutorial saya di e-Project dan channel
saya di