DevOps Engineering Skillset (bagian 1)

DevOps Engineering Skillset (bagian 1) – Masa kini, perkembangan teknologi dalam pembuatan aplikasi dituntut untuk semakin cepat dan efektif. Salah satu sistem yang dapat mencangkupi kebutuhan tersebut salah satunya adalah DevOps. Devops merupakan prinsip yang saat ini banyak digunakan oleh banyak perusahaan papan atas seperti Amazon, Microsoft dan yang ada di Indonesia antara lain Gojek.

Jadi, Apa itu Devops? Bagaimana tugas dan skill yang harus dikuasai untuk menjadi DevOps Engineer? ayo kita simak artikel berikut ini,

Apa itu DevOps?

DevOps merupakan singkatan dari Development dan Operations. Merupakan sistem untuk menyatukan proses dan teknologi pada pembuatan aplikasi.

Dalam sebuah proyek, Development team bertugas untuk membuat aplikasi baru, baik yang benar benar baru, atau memodifikasi aplikasi lama untuk kemudian dibuat lebih baik dan efektif.

Sementara itu, Operations Team harus memastikan semua step yang dilaksanakan beroperasi secara optimal.

Teknologi sebelum adanya sistem ini, untuk mengembangkan sebuah perangkat lunak biasanya menggunakan sistem Waterfall. Dimana model ini tidak ada mekanisme integrasi yang dilakukan oleh tiap tim, sehingga sistem tersebut memaksa Development team dan Operations Team ada di jalur sendiri sendiri. Dengan tidak adanya integrasi antar tim, akan membuat perilisan sebuah aplikasi akan memakan waktu yang panjang. Selain itu, dengan prosedur yang masih statis, membuat pengembangan ide dan fitur terhadap sebuah aplikasi selama proses development menjadi tidak efektif.

Nah, dengan adanya DevOps, gap antara Development dan Operations bisa di hilangkan. Kedua tim akan berkolaborasi untuk bersama sama dalam melakukan development, testing, penerapan hingga pengelolaan nya,

Sistem ini juga ditenagai dengan tools tools yang canggih, yang dapat membantu dalam manajemen kodingan, mendeteksi bug, mengatur konfigurasi dan memonitoring aplikasi maupun server secara otomatis, sehingga resiko kegagalan akan bisa diketahui sejak dini.

Dengan implementasi sistem DevOps, tim juga akan merespon kebutuhan customer lebih baik setra meningkatkan kualitas aplikasi sehingga kita dapat mencapai tujuan dengan lebih cepat.

Tujuan DevOps

Dikutip dari atlassian.com, DevOps Trends Survey 2020 menyatakan bahwa 99% responden mengatakan sistem ini membuat dampak positif pada organisasi mereka. Tim yang memakai sistem DevOps menunjukkan pengiriman hasil pekerjaan yang lebih baik dan lebih cepat, meminimalisir insiden dan meningkatkan kolaborasi dan komunikasi antar tim.

Nah, ini selaras dengan tujuan nya, yang mana output yang dihasilkan adalah :

  • Adaptasi terhadap pasar
  • Menjaga stabilitas dan kemampuan sistem
  • Meningkatkan kolaborasi antar tim
  • Mempercepat waktu repairing dan maintenance
  • Mempercepat delivery product
  • Memangkas biaya infrastruktur
  • Mengimplimentasikan budaya kerja yag baik

Tugas DevOps

Kemudian, apa saja tugas dari DevOps?

kalau di telaah, tugas dari DevOps cukup banyak loh. Kamu akan dioanggil DevOps Engineering ketika mengerjakan tugas tugas ini:

  • Menjelaskan fitur dan kemampuan sebuah aplikasi yang akan di develop
  • Melakukan otomatisasi dengan tools-tools yang tersedia selama development
  • Membuat prototype dari hasil diskusi agar output dari aplikasi sesuai dengan harapan client
  • dokumentasi progress selama SDLC (development)
  • memonitoring sistem, melacak bug dan mengelola pengembangan aplikasi dengan cepat
  • Komunikator antar tim terkait issues yang terjadi selama proses development
  • Melakukan inovasi dengan cepat tanpa menurunkan kualitas, stabilitas dan produktivitas
  • mengidentifikasi masalah sejak dini sebelum mempengaruhi user experience client.

Yang Harus Kamu Kuasai

Nah, sudah tahu kan tugas tugas nya? sekarang kita beralih ke tugas teknis yang harus di ketahui seperti :

  • Continuous Integration

Sebagai DevOps sejatinya melakukan testing secara berulang, hal ini dimaksudkan untuk menemukan error selama proses development dan segera dikomunikasikan ke tim Developer dan QA untuk ditindaklanjuti.

  • Continuous Delivery

Tim akan melakukan beberapa testing manual untuk menemukan error. Setelah proses testing dijalankan, tim sekaligus melakukan perbaikan dan pembaharuan terhadap aplikasi

  • Configuration Management

Tim DevOps akan memaintenance konfigurasi seperti memastikan otomatisasi pada sebuah aplikasi berjalan dengan baik.

  • Infrastructur as a Code (IAC)

Ini merupakan manajemen infrastruktur yang dapat di program, di standarisasi dan di duplikasi. Sehingga ketika data pada aplikasi hilang, tim tak perlu kesulitan dalam membangun aplikasi dari awal, karena IAC akan menyediakan sumber daya, mengembalikan konfigurasi dan merecovery  data di penyimpanan cadangan.

  • Logging

Tim akan meninjau setiap kejadian dalam sistem, termasuk notifikasi update maupun error. Dengan log tersebut, tim akan mengetahui dan mengidentifikasi perubahan yang ada secara realtime. 

  • Monitoring

Tim akan bertugas untuk mendeteksi seluruh hal yang berkaitan dengan sistem. Jika terdapat anomali, tim akan mencatat dan segera memperbaiki. Proses ini juga berfungsi untuk untuk melihat perubahan yang ada di sistem termasuk coding (dari data Log).

Itulah pengertian mengenai DevOps dan tugas-tugas yang perlu di kuasai untuk menjadi DevOps Engineering.Untuk artikel bagian 2 kamu bisa klik disini