EP11: Configuration Management Tool - Jenis dan Bagaimana Ia Berfungsi.
Belajar apa itu Configuration Management Tool dan bagaimana ia berfungsi.
Anda mendapat satu tugasan untuk mengkonfigurasi 10 server yang tersedia dengan IP yang berbeza, hostname yang berbeza, dan OS linux yang berbeza, bercampur antara Ubuntu dan Almalinux. Kesemua server tersebut perlu dipasang perisian Nginx, PHP dan MySQL versi terkini. Kemudian anda perlu mencipta akaun beserta SSH key untuk 5 orang pengguna supaya mereka dapat akses server tersebut.
Cuba anda bayangkan berapa banyak langkah manual yang anda perlu laksanakan bagi menyiapkan satu server dan berapa lama masa yang perlu diambil untuk siapkan kesemua 10 server tersebut? Tentunya ia memakan masa dan memerlukan tenaga yang banyak untuk siapkan lebih-lebih lagi jika ia perlu disiapkan dalam masa yang singkat.
Solusi bagi masalah ini adalah dengan cara mengautomasikan proses pemasangan perisisan-perisisan tersebut. Terdapat pelbagai cara untuk mengautomasikan proses tersebut dan salah satunya adalah menggunakan Configuration Management Tool atau juga disebut sebagai CM Tool.
APA ITU CONFIGURATION MANAGEMENT TOOL?
Configuration Management Tool (CM Tool) merupakan perisan yang dapat membantu anda menguruskan, mengautomasikan dan memastikan sistem, pelayan serta peranti infrastruktur lain termasuk router dan firewall supaya berada dalam keadaan yang dikehendaki.
Ia juga bagi memastikan konsistensi konfigurasi infrastruktur anda, menguatkuasakan polisi dan juga memastikan sistem sentiasa dikonfigurasi dengan betul sekalipun terdapat perubahan konfigurasi yang salah secara manual tanpa sengaja.
Terdapat beberapa kata kunci yang penting berkenaan CM Tool :
Automation: Ia akan membantu mengautomasikan proses mengkongfigurasi dan menyelenggara sistem sekaligus mengurangkan perlaksanaan secara manual.
Consistency: Ia akan memastikan semua sistem yang terlibat dikonfigurasi dengan cara yang sama, sekaligus mengelakkan masalah kesilapan konfigurasi.
Scalability: Ia boleh menguruskan konfigurasi sistem dalam sekala yang besar dengan mudah dan cepat.
Compliance: Ia dapat membantu pelbagai sistem dalam sesebuah organisasi dikonfigurasi mengikut polisi yang telah ditetapkan dan mematuhi keperluan standard keselamatan infrastruktur.
Orchestration: Ia dapat membantu menyelesaikan kebergantungan pada perisian lain apabila melakukan konfigurasi serta membantu melaksanakan konfigurasi mengikut urutan yang diperlukan bagi mencapai sesuatu objektif.
Kebiasaannya, CM Tool menggunakan konsep “declarative” dimana anda hanya perlu tuliskan kod tentang apa yang anda kehendaki untuk server anda kemudian CM Tool akan bantu untuk melaksanakan segala arahan untuk mencapai matlamat yang anda kehendaki, tanpa perlu anda beritahu bagaimana untuk melaksanakannya.
Dalam erti kata yang lain, anda hanya perlu beritahu CM Tool apa yang anda mahukan pada server anda, bukan bagaimana untuk dapatkan apa yang anda mahukan.
Sebagai contoh, anda hanya perlu tulis kod berkenaan anda perlukan perisian Nginx dipasang, ia terus dijalankan selepas dipasang dan ia perlu automatik berjalan sekiranya server direstart atau boot up semula.
APAKAH JENIS-JENIS CONFIGURATION MANAGEMENT TOOL DAN BAGAIMANA IA BERFUNGSI ?
Terdapat dua jenis CM Tool :
JENIS 1 : “Push”
Secara asasnya, Ia tidak memerlukan sebarang ejen dipasang pada sistem atau server. Ia cuma perlukan CM Tool dipasang kepada nod pengurusan atau disebut sebagai “management node”. Namun begitu, ia memerlukan sambungan terus daripada nod pengurusan kepada server yang perlu dikonfigurasi. Dalam erti kata yang lain, serer server boleh berada di belakang NAT gateway.
CM Tool jenis push ini menggunakan protokol SSH untuk sambungan ke server berasaskan Linux dan protokol WinRM untuk sambungan ke server berasaskan Windows.
Server akan dikonfigurasi mengikut keadaan yang dikehendaki seperti yang ditulis dalam fail konfigurasi ataupun Playbook. Server akan dikonfigurasi apabila Playbook tersebut dijalankan, namun ianya memerlukan anda menjalankan arahan Playbook tersebut secara manual.
Disebabkan ia tidak memerlukan sebarang ejen dipasang pada klien, ia fleksible dan membolehkan anda untuk melaksanakan konfigurasi terhadap perkakasan rangkaian seperti router dan juga firewall yang menyokong akses menggunakan SSH. Ia juga membolehkan anda melancarkan server pada cloud seperti AWS, Azure dan GCP dengan mudah menggunakan kod dan juga penambahan fungsi atau module.
Contoh CM Tool jenis Push ini adalah Ansible.
JENIS 2 : “Pull”
Secara asasnya, CM Tool jenis push ini memerlukan anda untuk memasang CM Tool pada nod pengurusan dan memasang ejen ke dalam setiap server yang ingin dikonfigurasi. Nod pengurusan tidak memerlukan sambungan terus kepada server dan membolehkan server tersebut berada di sebalik NAT gateway. Namun begitu, ejen dalam server perlu mempunyai sambungan dengan nod pengurusan. Sambungan tersebut akan dilindungi oleh protokol SSL/TLS.
Sama seperti jenis Push, server akan dikonfigurasi mengikut keadaan yang dikehendaki seperti yang ditulis dalam fail konfigurasi ataupun disebut sebagai Manifest. namun begitu, server akan dikonfigurasi secara automatik mengikut selang masa yang ditetapkan seperti setiap 30 minit. Kemudian, ejen dalam server akan membantu untuk mendapakan fail konfigurasi daripada nod pengurusan, membandingkan dengan keadaan konfigurasi server yang sekarang, dan melaksanakan perubahan yang diperlukan mengikut fail konfigurasi terkini daripada nod pengurusan.
Disebabkan ia memerlukan ejen dipasang untuk server yang hendak dikonfigurasi, ianya kurang fleksible berbanding CM Tool jenis Push. Anda boleh menggunakan CM Tool jenis pull ini untuk membuat konfigurasi kepada router dan firewall, namun ia memerlukan modul ataupun konfigurasi tambahan.
Contoh CM Tool yang menggunakan jenis Pull ini adalah seperti Puppet, Chef, CFEngine dan Saltstack
CONFIGURATION MANAGEMENT TOOL MANA YANG PATUT DIGUNAKAN?
Ianya adalah subjektif bergantung kepada keperluan operasi, dan sistem yang ingin dikonfigurasi. Ia tiada satu jawapan yang tetap untuk kesemua situasi, namun anda boleh melihat kesesuaian dan CM Tool jenis mana yang boleh digunakan dengan mudah berdasarkan keperluan situasi tersebut. Jika perlu, anda juga boleh menggunakan kedua-duanya sekaligus.
Banyak lagi perkara yang boleh dilakukan dengan menggunakan CM Tool ini dan banyak lagi penjelasan serta perbincangan teknikal yang boleh dikupas. Namun, untuk penjelasan ringkas ini, diharap ia dapat memberikan anda kefahaman dan konsep asas berkenaan Configuration Management Tool.
Follow media sosial Inframesia di :
Facebook : https://www.facebook.com/inframesia
Instagram : https://www.instagram.com/infra.mesia/
Threads : https://www.threads.net/@infra.mesia
X : https://twitter.com/inframesia
LinkedIn : https://www.linkedin.com/company/inframesia
TikTok : https://www.tiktok.com/@inframesia
Youtube : https://www.youtube.com/@inframesia
Telegram : https://t.me/inframesia