Cerita dibalik munculnya role Devops Engineer – Dalam sebuah pengembangan aplikasi kompleks, level entreprise, membuat aplikasi tidaklah semudah bermimpi. Kita ambil contoh perusahaan top ten, seperti Facebook, Apple, Adobe, Microsoft, Google, atau Startup Top Indonesia seperti GoTo (Gojek dan Tokopedia), masing-masing mempunyai software engineer dengan role yang berbeda. Apakah kamu berpikir role itu adalah backend, frontend, dsb? No Ferguso. Role ini berdasarkan tanggung jawab masing-masing dalam lifecycle dari software development. Untuk memahaminya, lihat gambar yang menjelaskan alur pengembangan software di bawah ini.

traditional sofware development lifecycle in many companies vs modern software development

Job IT dan Tugasnya di LifeCycle aplikasi

IT sendiri punya banyak departemennya sendiri dan masing-masing punya tanggung jawabnya sendiri. Namun secara untuk fokus pengembangan aplikasi, semua perusahan mempunyai tim IT yang dapat dibedakan menjadi dua berdasarkan lifecycle diatas. Development yang biasa disebut programmer dan IT Operator yang bertugas sebagai maintainer dan publisher.

Sekarang kita ambil contoh, pengembangan aplikasi facebook misalnya, tentu yang membuatnya adalah (banyak) tim programmer dan masing-masing tim berbeda bahasa pemrograman yang digunakan. Selain itu, kebanyakan masing-masing tim memegang pengembangan beberapa fitur. Misalnya saja, ada tim untuk facebook shop, ada tim untuk facebook reels, tim khusus untuk facebook chat. Bahkan ada tim yang khusus untuk membuat fitur baru.

Tetapi, selain ngoding, ada juga tim programmer yang pekerjaannya khusus untuk menguji (testing), apakah fitur tersebut ditemukan bug, apakah penambahan fitur ternyata merusak kode yang sudah ada. Inilah yang disebut software testing. Walaupun terkadang bagian tim programmer pembuat fitur juga menguji apakah ada bug terlebih dahulu, tapi tim testing berfungsi sebagai double checker terutama untuk aplikasi kompleks. Tim software testing ini juga akan membuat kode untuk mengecek otomatis apakah kode aplikasi yang diajukan ini benar-benar error free. Ini dikenal dengan istilah automation testing.

Jadi, ketika developer mengembangkan fitur, ia akan melakukan testing di local terlebih dahulu, kemudian untuk testing lebih detail lagi akan dilakukan oleh automation testing yang menjadi tanggung jawab dari tim software testing.

Setelah lolos proses testing, waktunya release the software. Caranya dengan melakukan kompresi ke bentuk package tertentu, jalankan ke server release, dan upgrade software yang sedang dipakai dengan software baru tadi. Ini adala bagian tugas dari tim operasi.

IT Operations, setelah software dibuat Ia akan di manage ke tim ini

Tugasnya operation team adalah untuk menjalankan aplikasi dalam server produksi (server yang diakses customer). Selain itu, tim ini memastikan maintenance aplikasi agar tetap berjalan, mengatur agar latensi rendah dan dapat berjalan di trafik yang besar. Dan infrastrukturnya tetap dalam kondisi terbaik.

Beberapa case yang menjadi tugas dari IT Operations adalah :
  1. Mempertahankan infrastruktur berjalan terbaik terutama server production
  2. Bahkan ketika server down, entah bagaimana aplikasi harus tetap jalan
  3. Memastikan server dapat berjalan di trafik yang besar namun dengan biaya yang efisien

Perbedaan IT operator dan IT developer

Tools Development team dan Operations team berbeda, beberapa diantaranya,
Pengembang biasanya menguasai :

1) bahasa pemrograman
2) Framework contoh Next.js, Laravel, dll. Atau kalau untuk testing ada Cucumber, Selenium, dan Cypress
3) Database seperti MongoDB, PostgreSQL
4) Version Control seperti Github dan Gitlab

Sedangkan Departement IT untuk Operasi menguasai:
1) Sistem Operasi, yang paling sering adalah Linux
2) command line
3) Scripting, yaitu kode yang otomatis menjalankan sesuatu di server atau OS
4) Tools untuk monitoring

Ternyata, dalam lifecycle untuk menyajikan software plan – implement – test – deploy belum tentu masing-masing individu IT menggunakan pengetahuan yang serupa maupun role yang sama.

proses publish aplikasi antar development dan operation ini perlu good communication antar dua tim, tetapi ada banyak keterbatasan antara tim developer dan tim operasional seperti pengetahuan antar tim yang berbeda sehingga sangat sulit untuk terjalin komunikasi yang baik antar sesama. Cie..

Misalnya, dalam pengembangan aplikasi, developer menambah fitur yang diam-diam mengintegrasi dependency tambahan dari pihak ketiga, kenyataannya ketika dipublish akan ada penambahan konfigurasi seperti penambahanan variable atau penempatan file yang berbeda sehingga ketika dilakukan testing ke server operasi uji coba, dari tim operator tidak paham karena ada “informasi yang belum disampaikan” oleh pihak pengembang.

Muncul Role baru dalam departemen IT yaitu.. Devops Engineer!

Perkenalkan, DevOps, yaitu sebuah kultur yang menghubungkan developer dan operator yang kini sudah resmi menjadi bidang pekerjaan DevOps. Devops menjadi role job dikarenakan ternyata Devops punya konsep yang tidak dimiliki kedua role IT tadi dan punya tools sendiri untuk lebih efektif. Selain Tim DevOps mempunyai kemampuan untuk berkomunikasi dengan developer dan operator.

Contohnya adalah CI/CD alias continuous integration and continuous deployment yang mempermudah transisi dari development ke operation.

devops engineer jobs in IT departement and software development lifecycle

Atau ilmu containasi seperti docker, dll. Tadi saya jelaskan metode pengembangan aplikasi yang secara langsung antara development dan operation, cara penyelesaian projek seperti ini dinamakan waterfall. Sedangkan Devops sendiri merupakan kultur yang lebih modern dimana perlu memperlibatkan continuous integration dan deployment yang artinya semua berjalan beriringan, salah satu metode penyelesaian projek pada perusahan yang menerapkan best practice devops culture dan cocok untuk diintegrasi dengan devops adalah Agile.

Nanti kita akan memahami lebih dalam tentang agile methodology dan tugas-tugas devops engineer lebih detail. Tetap stay dengan nakotekno ya. Dengan cara berlangganan melalui email atau melalui follow sosial media.

Join our list

Subscribe to our mailing list and get interesting stuff and updates to your email inbox.

Thank you for subscribing.

Something went wrong.


Like it? Share with your friends!

1 share

What's Your Reaction?

Unfortunate
0
Unfortunate
Meh
0
Meh
Wahaha
0
Wahaha
Nin nin
0
Nin nin
nakomin

Believe at the heart of BNRS

Here you will find content about developers needs whether it’s coding tutorials or the lifestyle of employee in the IT circle, understanding of the realm of ui/ux and futuristic tech for free in one place. Don’t forget to follow the nakotek socials to give the author enthusiasm in pioneering this website. #wahahaforever

0 Comments

Your email address will not be published. Required fields are marked *