How to be a DevOps Engineer

Ayi angio
4 min readApr 10, 2020

--

Photo by Marvin on Unsplash

Hai teman-teman pada tulisan pertama saya ditahun 2020 ini saya akan berbagi mengenai step by step menjadi DevOps Engineer.

Apa Itu DevOps

DevOps kepanjangan dari Development and Operations, yang salah satu tugas adalah untuk mengotomisasi proses pengembangan software dengan developern atau Development Team, dari proses testing, build dan deploy keserver staging. DevOps yang berjalan dengan baik akan menghasilkan produk yang stabil dengan jangkau waktu yang lebih cepat, itu adalah salah satu Job Desc seorang DevOps Engineer.

Sistem Operasi Linux

Sistem Operasi Linux sangat erat kaitannya dengan dunia DevOps, mengapa demikian ? Karena seorang DevOps environment kerjanya kebanyakan menggunakan CLI (Command Line Interface).

Server dalam sebuah application kebanyakan menggunakan sistem operasi linux, serta tidak memiliki GUI (Graphical User Interface) sehingga sangat diharuskan untuk paham command linux, seperti cd untuk pindah direktori, ls untuk melihat isi sebuah direktori, touch untuk membuat file dan masih banyak lagi.

Selain itu juga harus paham menggunakan package/aplikasi yang ada dilinux, bukan hanya sekedar menginstallnya saja tapi configuration-nya juga harus dipahami, Contohnya seperti manambakan alias, contoh lainya seperti menambahkan PATH aplikasi/package di file .bashrc atau contoh yang agak advance yaitu mendaftarkan domain atau subdomain baru didalam configuration pada aplikasi/package web server seperti apache2 atau nginx, nanti kita akan bahas dibagian configuration server

Networking

Memahami jaringan internet, intranet, ataupun lokal penting dimiliki oleh seorang DevOps karena kita akan “Memainkan” komunikasi antara beberapa server, salah satu teknik dasarnya adalah subneting, walaupun ini sudah tidak begitu banyak diimplementasikan secara langsung oleh seorang DevOps karna sudah otomatis di handle oleh cloud service tapi menurut saya ini masih penting karna kalau untuk mengelompokan server secara private, misal kelompok server a punya ip private 192.1.1.1/27 dan kelompok b punya ip private 192.1.1.32/27, jadi bisa lebih efisien dan tidak membuang-buang IP, ini kalau misalkan anda ditugaskan untuk membuat env server secara fisik.

Untuk teman-teman yang ingin belajar dan mensimulasikan-nya bisa menggunakan Virtualbox atau VMWare.

Configuration Server

Photo By Microsoft

Dalam sebuah environment server kita akan banyak melihat server yang saling berhubungan dan berkomunikasi, agar hubungan dan komunikasi itu akan terjalin bagus kita harus membangun kemistri dulu dong ? hehehehe udah kayak hubungan aja, tapi iya emang bener membangun kemistri itu ibarat seperti configuration diserver, simplenya bagaimana kita membuat server A dan server B bisa saling berkuminkasi, kita harus mengconfig di kedua server agar bisa saling “mengenal” satu sama lain, atau tidak sebaliknya mana server atau ip address mana yang harus ditolak. seperti begitu kira-kira analoginya.

Configuration disebuah server sangat banyak sekali contohnya configuration web server, configuration untuk mysql siapa saja yang bisa mengaksesnya, atau untuk configuration siapa aja yang bisa masuk ke server, dan masih banyak lagi configuration yang lain.

Beberapa package yang kalian harus pahami configurationnya

  1. Nginx atau Apache2 Untuk Web server
  2. Postgresql atau Mysql Untuk Database
  3. SSL Untuk HTTPSecure
  4. SSH Untuk remote server
  5. HAProxy Untuk Load Balancer ( Tambahan )

Cloud Service

Di era sekarang hampir semua startup memanfaatkan cloud sevice sebagai server mereka, kenapa hampir semua startup menggunakan cloud service? karena lebih hemat secara budget, hemat secara waktu karna tidak perlu membuat server sendiri, beli kabel UTP yang panjang dan lain sebagainya.

Oleh karena itu cloud service saya masukan dalam list ini, saat ini ada 4 cloud service yang banyak di pakai yaitu

  1. Amazon Web Service (AWS)
  2. Google Cloud Service
  3. DigitalOcean
  4. Microsoft Azure

Sebenarnya jika kalian sudah cukup mahir di 3 point sebelumnya, kalian sudah bisa langsung mencoba salah satu cloud service yang ada diatas, salah satu contohnya adalah untuk server cloud untuk configuration-nya tidak banyak perbedaan dengan configuration server fisik, sedikit berbeda paling untuk buka tutup port dengan hanya mengatur settinggan dicloud servicenya tanpa harus disetting di servernya atau masuk ke CLI servernya, serta untuk settingan jaringan lokal antara server menggunakan private ip.

Selain itu banyak service lain yang ditawarkan oleh cloud service seperti, aws s3 untuk storage penyimpanan asset atau file di cloud ini salah satu service dari AWS, serta ada BigQuery service untuk menyimpan database dengan skala besar salah satu service dari Google Cloud Service, serta ada juga Azure Bot Service service bot chat dari Azure, dan ada service manage database yang support database replication dari DigitalOcean.

Tools For DevOps

Bekerja menjadi DevOps Engineer banyak berhubungan dengan Tools yang “Aneh” :D ada tool yang hanya menampilkan hitam putih, ada yang menampilkan grafik dsb.

Untuk menjadi seorang DevOps Engineer kalian harus familiar menggunakan berbagai macam tools dengan cepat, karna jika ada requirement dari PM atau Scrum Master untuk develop sebuah sistem baru dengan menggunakan tool yang baru anda tahu, nah disitulah kemampuan anda menggunakan berbagai macam tools dan tingkat adaptasi yang bagus menentukan seberapa cepat anda dapat menyelesaikan requirement tersebut, kunci utamanya adalah

Baca Documentasi adalah kunci anda cepat beradaptasi dengan tool yang baru anda kenal

Berikut adalah tools basic yang kalian harus pahami

  1. Jenkins/Gitlab-CI Untuk CI/CD
  2. Docker Untuk Containerization
  3. Git Untuk Cloud Repository Code
  4. Prometheus/AWS Cloudwatch Untuk Log
  5. Slack Untuk Collaboration Tools

Ada banyak lagi tools untuk membantu seorang DevOps dalam bekerja tapi pada dasarnya ke-5 tools diatas menjadi basic menurut saya, alasannya karna open source dan gratis heheheh :D

FYI : Gaji DevOps Specialist adalah $71K menurut survey dari Stack Overflow tahun 2019

Tulisan ini saya buat berdasarkan pengalaman pribadi saya kalau ada kata-kata yang salah atau ada yang keliru sekiranya mohon maaf atau bisa langsung diresponse saja agar saya bisa perbaiki.
Sekian dan Terima kasih Banyak

--

--

Ayi angio
Ayi angio

Written by Ayi angio

DevOps Engineer | Github: Ayiangio | Email: moh.harisangio@gmail.com

Responses (1)