Cara Menjadi DevOps Engineer

devops

Cara Menjadi DevOps Engineer, Sebelumnya kita telah membahas mengenai Apa itu DevOps, Singkatnya DevOps merupakan sebuah kultur untuk menyelesaikan masalah yang sering kali terjadi antara Developer dan Operation.

Lalu ada istilah lain yang bernama DevOps Engineer, yaitu seorang profesional yang bergelut untuk mengimplementasikan kultur ini. Biasanya memiliki tugas sebagai berikut:

  • Mengurangi gap di antara Developer dan Operation atau tim lain yang terlibat dalam pengembangan aplikasi.
  • Menghilangkan adanya silos atau setiap tim bekerja masing-masing dan tidak mau bertukar informasi..
  • Memastikan siklus pengembangan aplikasi dapat berjalan dengan mulus.
  • Memastikan fitur/aplikasi dapat ter-deliver dengan cepat, yang biasanya mengandalkan tools automasi.

Dari poin-poin di atas sudah jelas bahwa tugas seorang DevOps Engineer tidak hanya sekedar menggunakan tools. Tugas utamanya adalah bagaimana agar antar tim dapat dapat bekerja bersama-sama.

Untuk itu, jika Anda berniat untuk menjadi seorang DevOps Engineer, bukan hanya sekedar menguasai tools yang dapat membantu implementasi, tapi harus memahami kulturnya juga. Tapi tidak ada salahnya untuk mulai belajar dari penggunaan tool dan praktik-praktik lain yang biasa diterapkan.

Lalu tools atau praktik apa saja yang perlu dipelajari untuk menjadi DevOps Engineer?

Pelajari Sistem Operasi mirip Unix

linux

Yang pertama dan paling penting adalah Anda harus mempelajari sistem mirip unix, atau bisa kita arahkan ke Linux. Saat ini Linux masih menjadi pemegang pangsa besar pada era komputasi awan, untuk itu mempelajari Linux merupakan sebuah keharusan.

Linux memiliki banyak distribusi, Anda bisa memilih salah satu distribusi untuk dipelajari. Berikut beberapa contoh distribusi Linux populer.

Apa saja yang harus dipelajari dari distribusi Linux di atas? Paling tidak Anda mempelajari konsep distribusinya. Jika Anda ingin belajar lebih banyak, berikut yang bisa Anda pelajari.

  • Manajemen Proses/Service.
  • Manajemen Paket/Aplikasi.
  • Bash Scripting.
  • Networking.

Selain Linux, Ada juga bisa mempelejari sistem operasi keluarga BSD, seperti FreeBSD.

Pelajari Komputasi Awan

cloud infrastructure

Anda harus terbiasa dengan komputasi awan, karena saat mengimplementasikan solusi, akan banyak menggunakan komputasi awan. Ada 3 penyedia komputasi awan yang paling populer yaitu:

Mempelajari ketiganya memang membutuhkan banyak waktu, yang Anda perlu pahami adalah konsepnya. Tapi jika Anda memahami kebanyakan layanan yang digunakan dari salah satu ketiga provider tersebut bisa menjadi nilai plus, terlebih lagi jika Anda memiliki sertifikasi yang dikeluarkan salah satu dari ketiga provider tersebut.

Berikut Sertifikasi yang berhubungan dengan DevOps, yang dikeluarkan 3 provider di atas.

  • AWS Certified DevOps Engineer – Profesional (dari AWS).
  • Professional Cloud DevOps Engineer (dari Google Cloud Platform).
  • AZ-400: Designing and Implementing Microsoft DevOps Solutions (dari Azure).
  • Microsoft Certified: DevOps Engineer Expert (dari Azure).

Setiap perusahaan menggunakan provider yang berbeda, bisa salah satunya, atau bahkan ketiganya (multi-cloud). Tapi jika Anda telah memahami salah satunya, Anda akan lebih mudah untuk mempelajari yang lain.

Pelajari Version Control System

git version control

Saat ini version control system merupakan komponen yang harus ada disaat membangun aplikasi. Karena penggunaan Version Control dapat membuat source code terkelola dengan baik.

Untuk itu mempelajari Version Control System sangat penting sekali. Ada beberapa version control yang dapat digunakan saat ini, berikut di antaranya:

  • GIT
  • Subversion
  • Mercurial

Sebenarnya masih ada banyak, namun yang paling penting untuk dipelajari adalah Git.

Pelajari CI/CD Tool

jenkins

Tools lain yang harus dipelajari adalah, tools yang digunakan untuk melakukan CI/CD. CI atau Continuous Integration merupakan proses mengintegrasikan kode ke codebase utama. Setelah diintegrasikan kode akan diuji di CI, Sedangkan, CD atau Continuous Deployment adalah proses deployment kode setelah kode diintegrasikan dan diuji.

Dari kelima tools di atas, Jenkins lah yang paling banyak digunakan, jadi Anda bisa langsung mempelajari Jenkins untuk memulai belajar.

Pelajari Coding dan Scripting

coding dan scripting

Karena sering kali berhubungan dengan tools atau mengotomasi pekerjaan tertentu. Menguasai coding dan scripting sangat penting. Sebagai contoh Anda diharuskan mengotomasi proses backup, mau tidak-mau Anda harus membuat script untuk melakukan hal tersebut. Karena tidak mungkin juga jika harus melakukan proses itu secara manual dan terus-menerus.

Ada beberapa bahasa pemrograman yang bisa Anda pelajari, di antaranya.

  • Python
  • Ruby
  • Go

Untuk scripting, Anda hanya perlu mempelajari shell script/bash.

Pelajari Infrastructure Automation Tools

automation tools terraform

Sering kali perusahaan memiliki kebutuhan akan cloud infrastructure, dalam praktiknya pembuatan resource di cloud infrastructure menggunakan automation tools. Penggunaan automation tools dapat membuat prosesnya lebih cepat, dengan kesalahan minimal.

Praktik ini disebut dengan Infrastructure as a code. Untuk membangun infrastruktur berdasarkan kode. Anda membutuhkan tools berikut:

  • Terraform
  • Ansible
  • Chef
  • Puppet
  • Salt stack

Tools di atas dapat digunakan untuk membuat infrastruktur diberbagai tempat. Cloud Provider seperti AWS, Azure, dan GCP, biasanya memiliki scripting sendiri. Sebagai contoh, AWS memiliki CloudFormation yang dapat digunakan untuk membuat infrastruktur di AWS.

Pelajari Monitoring dan Logging Tools

monitoring aplikasi

Dalam menjalankan sebuah aplikasi pada suatu infrastruktur. Pasti perlu menerapkan sebuah Monitoring dan Logging. Dengan menerapkan keduanya perusahaan dapat mengetahui kondisi dari aplikasi atau infrastruktur yang digunakan.

Selain itu, Monitoring dan Logging dapat membantu dalam membuat keputusan. Sebagai contoh, Monitoring menunjukan jumlah pengguna yang aktif terus naik, dan di sinilah perusahaan dapat memutuskan untuk melakukan scaling.

Untuk monitoring infrastruktur ada beberapa tools yang dapat dipelajari. yaitu:

Sedangkan, untuk monitoring aplikasi, Anda bisa mempelajari tools berikut:

  • New Relic
  • Instana
  • App Dynamics

Selanjutnya untuk Logging, Anda bisa memilih salah satunya:

Pelajari Container dan Container Orchestrator

docker

Pada pengembangan aplikasi modern, sudah banyak sekali yang menerapkan konsep micro service, dan pada implementasinya menggunakan Container. Untuk itu mempelajari Container merupakan sebuah keharusan.

Lalu ada yang namanya Container Orchestrator, Ia adalah tools yang dapat digunakan untuk mengelola Container. Dalam sebuah perusahaan bisa saja memiliki puluhan bahkan ratusan service. Oleh karena itu, penggunaan Orchestrator sangat diperlukan. Karena dengan Container Orchestrator dapat memudahkan pengelolaan Container dalam jumlah yang banyak.

Untuk Container, Anda bisa langsung untuk mempelajari Docker. Sedangkan, untuk Container Orchestrator, Anda bisa mempelejari tools berikut:

Itulah cara untuk menjadi seorang DevOps Engineer. Banyak sekali yang harus Anda kuasai. Begitu pun untuk menguasai semuanya, diperlukan proses yang panjang. Jadi bersabar dan terus belajar.

Ada banyak tutorial yang dapat membantu Anda untuk mempelajari beberapa tools di atas, Anda bisa mencarinya di blog ini.

Semoga bermanfaat 🙂

1 Komentar

Tinggalkan Balasan

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