Kuasai Linux untuk upgrade career dalam IT

Dulu masa saya dapat kerja sebagai SysAdmin di sebuah syarikat game, saya memang tak pandai Linux. Kalau diberi skala 1-10, saya rasa 1 pun tak sampai. Tapi Alhamdulillah, rezeki dapat jugak kerja SysAdmin tu walaupun hakikatnya role SysAdmin memang sangat memerlukan skill linux.

Pernah la try install Ubuntu desktop masa study dulu kat PC sendiri. Masa tu zaman seminggu sekali format PC😅 Lepas install, tak tau nak nak buat apa. Cuma guna browse internet, download file, install software basic macam Open Office. Pastu tak tahu dah nak buat apa. Then format balik pakai windows. 

Bila dah start kerja sebagai SysAdmin baru saya faham betapa pentingnya Linux ni dalam IT terutama untuk host web application. Banyak sistem yang bergantung dengan Linux. Daripada phone yang kita guna setiap hari sampailah ke roket dan satelit.

Mula-mula dahulu saya ingatkan Linux cumalah OS percuma untuk install di komputer sebagai alternatif percuma kepada Windows. Rupanya Linux lebih banyak digunakan di server. Menurut laporan daripada ZDNet, 96.3% daripada  1,000,000 web servers menggunakan Linux. Jadi sebenarnya penggunaan Linux sangat meluas pada server berbanding desktop.

Jadi saya mula belajar Linux. Masa tu banyak belajar sendiri berbanding berguru. Jadi boleh kata saya belajar Linux in a hard way. Banyak Google dan Youtube. Cuba dan jaya. Lebih-lebih lagi apabila role saya sebagai SysAdmin. 

Saya ditugaskan untuk setup web server, application server dan database server. Web server menggunakan Nginx, app server menggunakan PHP dan database server menggunakan MySQL. Masa tu memang buta kayu. Tapi alhamdulillah, banyak tutorial di internet untuk follow. 

Masa tu saya juga ditugaskan untuk migrate web server daripada Apache ke Nginx. Kemudian upgrade PHP daripada version 5.6 kepada 7.1. Memang blur macam mana nak buat dan tak ada orang nak guide sebab one man show. Banyak kali terhantuk dinding. Pernah sekali terdelete production server sebab tersalah command. Command yang paling ditakuti ramai.  “rm -rf /“. Cubalah try >.<

Kemudian saya improve lagi dengan belajar pulak performance tuning, security hardening dan backup-restoration. Dan salah satu jobskop kerja saya masa tu juga adalah deploy code application yang diberikan oleh programmer kepada server. Saya belajar pulak Git. Disebabkan saya perlu buat berulang kali, jadi saya belajar pulak automation menggunakan Linux.

Daripada situ saya terus belajar dan belajar dan belajar Linux. Alhamdulillah, saya upgrade career saya daripada SysAdmin kepada Cloud Engineer dan sekarang sebagai DevOps Engineer. Jujur saya katakan, skill Linux itu mahal dan pulangannya juga mahal !

Jadi macam mana nak belajar dan kuasai Linux ?

  • Paling mudah, install Virtualbox atau VMware dekat PC, download ISO Linux, install dan run secara virtual. Dari situ  boleh belajar Linux secara percuma. 

Jap, Linux apa nak kena guna ?

  • Bagi yang dah biasa, Linux ni ada banyak distribution. Tapi saya cadangkan guna Linux OS Ubuntu dan RHEL based (RedHat, Almalinux, RockyLinux, CentOS, Fedora) sebab dua jenis Linux ni banyak digunakan dalam industri dan production untuk server. 

Nak pakai server version ke desktop version ? 

  • Kalau nak cepat pandai, guna server version. Sebab server version tak ada GUI dan kita akan dipaksa guna command dalam terminal. Dan hakikatnya production server memang gunakan server version. Jadi semua konfigurasi server menggunakan terminal. Kita akan lebih cepat mahir apabila guna terminal dan lebih banyak kita akan belajar. 
  • Nak lagi cepat pandai, jadikan Linux sebagai daily driver. Maksudnya Linux OS sebagai default operating system untuk kerja seharian kita. Format laptop windows anda, dan pasang Linux desktop version. Linux apa yang sesuai untuk dekstop ? Saya cadangkan untuk permulaan, gunakan Linux yang working out-of-the-box seperti PopOS, ZorinOS, Linux Mint.
  • Bila kita jadikan Linux sebagai daily driver, kita akan biasakan diri kita dengan terminal, troubleshooting, dan configuration. Ia adalah skill yang sangat penting bagi mereka yang berminat dalam IT infrastructure dan juga Cyber Security.

Apa yang nak kena buat bila dah pasang Linux ?

  • Paling asas, belajar bagaimana untuk masuk ke Linux menggunakan SSH. Kemudian belajar command untuk kenal pasti kita sedang berada di direktori mana, senaraikan file dan folder, cipta file dan folder, tulis dalam file, padam file atau folder, buat shortcut, cipta user dan group, set permission pada file dan folder, navigasi direktori dalam Linux dan juga fahami apa maksud dan fungsi bagi setiap direktori utama yang ada dalam Linux. 
  • Kemudian belajar bagaimana untuk configure Linux tersebut sebagai web server, app server, database server, set rule firewall, install Git dan deploy application. Kemudian setup DNS dan point domain ke server tersebut. Jadikan server tersebut sebagai server untuk host WordPress website. Configure sampai dapat page WordPress tersebut. 
  • Kemudian belajar automation dalam Linux menggunakan Bash script, Python, Configuration management tool seperti Ansible, Puppet, Chef.

Bila dah biasa dengan Linux, upgrade lagi dengan explore cloud technology. Belajar bagaimana untuk deploy linux server dekat cloud, setup cloud network, set securtiy group, assign static IP, point domain, distibute content dengan CDN, dan banyak lagi. Bab cloud ni kita share next time sebab ia satu topik yang besar. Itu pun kalau ada yang berminat lah 😅

Saya rasa dah cukup panjang dah tu. Perkongsian ni cumalah sebagai panduan asas kepada yang baru nak cuba Linux dan explore bidang IT Infrastructure. Mungkin otai2 lain boleh tambah lagi kat bawah. Kalau ada-apa pertanyaan atau cadangan, boleh tinggalkan dekat ruang komen. 

Terima kasih.

Ts. Syafiyullah Yahya
Ts. Syafiyullah Yahya

Saya merupakan seorang MBOT Professional Technologist & HRD Corp TTT Certified Trainer. Bidang kepakaran saya adalah berkenaan Cloud Infrastructure, IT Consultation dan Training.

Articles: 9

Dapatkan info terkini terus ke email anda.

Masukkan email anda di bawah dan subscribe untuk dapatkan info terkini.

Komen