Apa itu Ansible?
Ansible adalah perangkat lunak yang menyediakan otomatisasi sederhana namun kuat untuk mendukung komputer lintas platform. Ini dirancang utamanya untuk para profesional IT, yang menggunakannya untuk penyebaran aplikasi, pembaruan pada workstation dan server, penyediaan awan, manajemen konfigurasi, orkestrasi intra-layanan, dan hampir semua tugas yang dilakukan seorang administrator sistem setiap minggu atau setiap hari. Ansible tidak bergantung pada perangkat lunak agen dan tidak memiliki infrastruktur keamanan tambahan, sehingga mudah untuk diimplementasikan.
Karena Ansible sepenuhnya tentang otomatisasi, dibutuhkan instruksi untuk menyelesaikan setiap pekerjaan. Dengan semuanya tertulis dalam bentuk skrip sederhana, mudah untuk melakukan kontrol versi. Hasil praktis dari ini adalah kontribusi besar terhadap gerakan "infrastruktur sebagai kode" di bidang IT: ide bahwa pemeliharaan infrastruktur server dan klien dapat dan seharusnya diperlakukan sama dengan pengembangan perangkat lunak, dengan repositori solusi yang menyatakan diri, terbukti, dan dapat dieksekusi mampu menjalankan organisasi tanpa mengubah staf.
Meskipun Ansible mungkin berada di garis depan otomatisasi, administrasi sistem, dan DevOps, itu juga bermanfaat bagi pengguna sehari-hari. Ansible memungkinkan Kamu mengonfigurasi tidak hanya satu komputer, tetapi mungkin seluruh jaringan komputer sekaligus, dan penggunaannya tidak memerlukan keterampilan pemrograman. Instruksi yang ditulis untuk Ansible dapat dibaca oleh manusia. Baik Kamu benar-benar baru dalam dunia komputer atau seorang ahli, file Ansible mudah dipahami.
Bagaimana Ansible Bekerja
Dalam Ansible, ada dua kategori komputer: node kontrol dan node yang dikelola. Node kontrol adalah komputer yang menjalankan Ansible. Setidaknya harus ada satu node kontrol, meskipun node kontrol cadangan juga dapat ada. Node yang dikelola adalah setiap perangkat yang dikelola oleh node kontrol.
Ansible bekerja dengan menghubungkan ke node (klien, server, atau apa pun yang Kamu konfigurasi) dalam jaringan, dan kemudian mengirimkan program kecil yang disebut modul Ansible ke node tersebut. Ansible menjalankan modul ini melalui SSH dan menghapusnya setelah selesai. Satu-satunya persyaratan untuk interaksi ini adalah bahwa node kontrol Ansible memiliki akses login ke node yang dikelola. Kunci SSH adalah cara paling umum untuk memberikan akses, tetapi bentuk otentikasi lain juga didukung.
Apa yang Dilakukan Ansible
Meskipun istilah modul Ansible terdengar kompleks, sebagian besar kompleksitas ditangani oleh Ansible dan bukan oleh pengguna. Modul Ansible ditulis untuk menjadi model dari keadaan yang diinginkan dari suatu sistem, artinya setiap modul menentukan apa yang seharusnya benar pada setiap node yang dikelola. Misalnya, jika seorang administrator sistem memutuskan bahwa semua workstation di sebuah organisasi harus memiliki instalasi LibreOffice versi X.Z, maka tugas modul pengemasan Ansible adalah menentukan apakah setiap node memiliki LibreOffice X.Z di dalamnya. Jika Ansible menemukan node yang dikelola dengan LibreOffice X.Y diinstal, maka ia mendeteksi sistem operasi dan menjalankan rutinitas yang diperlukan untuk memperbarui ke LibreOffice X.Z. Dengan cara ini, setiap workstation dalam sebuah organisasi dapat diperbarui semalam dengan perangkat lunak yang didukung oleh departemen IT.
Playbook Ansible
Sementara modul menyediakan cara untuk menyelesaikan tugas, cara Kamu menggunakannya adalah melalui playbook Ansible. Playbook adalah file konfigurasi yang ditulis dalam YAML yang memberikan instruksi tentang apa yang perlu dilakukan untuk membawa node yang dikelola ke keadaan yang diinginkan. Playbook dimaksudkan agar sederhana, mudah dibaca, dan self-dokumentasi. Mereka juga idempoten, artinya playbook dapat dijalankan pada sistem kapan saja tanpa memiliki efek negatif padanya. Jika playbook dijalankan pada sistem yang sudah dikonfigurasi dengan baik dan dalam keadaan yang diinginkan, maka sistem tersebut seharusnya tetap dikonfigurasi dengan baik setelah playbook dijalankan.
Sebuah playbook bisa sangat sederhana, seperti contoh berikut yang menginstal, sebagai pengguna berkekuatan, server HTTP Apache pada setiap node dalam grup server web departemen IT:
Playbook juga bisa sangat kompleks, dengan kondisional dan variabel. Namun, karena sebagian besar pekerjaan nyata dilakukan oleh modul Ansible, playbook tetap singkat, mudah dibaca, dan jelas meskipun dapat mengatur seluruh jaringan node yang dikelola.
Pembelajaran Ansible
Kamu dapat mempelajari Ansible dengan menggunakannya di rumah atau di tempat kerja. Jika Kamu baru mengenal YAML, luangkan waktu untuk mempelajarinya dan kemudian tulis playbook pertama Kamu. Jika Kamu lebih suka memulai dengan kecil, Kamu dapat menginstal Ansible di komputer pribadi Kamu dan mengikuti pelatihan Ansible di ADINUSA lho! Kursus mandiri ADINUSA tentang otomasi bersama Ansible dapat kamu akses secara gratis, dan Kamu juga dapat sertifikasi kalau kamu berhasil menyelesaikan kursus tersebut! Menarik bukan? Tunggu apalagi, akses kursus gratis Ansible di ADINUSA dengan klik link di SINI!
Baca juga: Menguasai Dasar-dasar Docker
Baca juga: Peran Penting Professional Training dalam Meningkatkan Fundamental Skill IT