Apakah Itu DevOps ?

Saat ini telah muncul banyak istilah dan bidang baru di dalam dunia kerja IT, salah satunya adalah DevOps. Maraknya era digital disertai dengan kebutuhan apps yang semakin banyak dengan berbagai fungsinya. Siapakah yang membuat apps-apps tersebut? Mereka disebut para developer, mereka membuatapps mulai dari nol! Mulai dari mendesain aplikasi, menulis code, tes debug , hingga mengeksekusi source code tersebut. Pertanyaannya apakah sampai di situ aplikasi tersebut sudah bisa dinikmati oleh pelanggan? Tentu belum karena aplikasi tersebut masih ada di laptop para developer! Butuh tim yang disebut dengan operation untuk mengupload source code aplikasi tersebut ke server dan menjalankan testing sepenuhnya. Nah, mulai kebayang kan apa itu DevOps ?

Pada jaman dahulu kala (bukan jaman dinosaurus), proses develop dan operate benar-benar merupakan dua divisi yang terpisah. Karena tidak bersinergi, maka developer menjadi tidak memiliki pekerjaan ketika source code sudah diserahkan kepada divisi operation. Developer harus menunggu lama untuk mengetahui apakah aplikasi yang didevelop dapat dideploy tanpa bug di server oleh tim operation. Pun demikian halnya dengan tim operation, bisa jadi tidak ada kesesuaian antara server untuk mendeploy dengan server tes lokal milik developer.

Nah, sekarang dengan adanya behavior DevOps, tim developer dan tim operation adalah satu kesatuan yang dimudahkan dengan automatisasi. Jadi DevOps bukanlah tools atau divisi ya.. melainkan suatu sistem kerja atau filosofi kerja antara developer dengan operation yang berkesinambungan. Tujuan dari DevOps tak lain adalah mempercepat proses developing aplikasi ataupun updating aplikasi.

Ada beberapa pondasi dari DevOps , yaitu :

  • Continuous Integration => semangatnya yaitu menggunakan code repository dalam pengembangan apps/software. Code Repository ini memungkinkan untuk buld dan tes secara otomatis dan berkelanjutan, manfaatnya adalah jika ada temuan bug makan dapat segera ketauan.
  • Continuous Delivery => yaitu proses dalam perubahan, pengujian, dan peluncuran apps/sw secara berkelanjutan. Tujuan utamanya adalah kecepatan dalam menghasilkan sw/apps yang sesuai diinginkan oleh pasar/consumer.
  • Continuous Deployment => yaitu proses testing dan deployment yang berkelanjutan. Dengan adanya banyak versi dari apps yang dihasilkan oleh continuous integration dan delivery, proses testing juga dilakukan dengan otomatisasi
  • Infrastructure as a Code => yaitu memiliki suatu produk yang didefinisikan dalam kode yang dapat diprogram dan distandardisasi. Contohnya adalah dalam ekosistem Mac, si A telah menggunakan dan terbiasa dengan laptop Mac nya selama bertahun-tahun. Namun tiba saatnya ia harus mengganti laptopnya ke versi yang terbaru. Di laptop yang baru ia hanya perlu login ke akunnya, dan ekosistem(pengaturan,apps,dsb) di laptop Mac yang lama dapat dengan mudah ditransfer ke laptop yang baru.

Sebagai kesimpulan, DevOps saat ini sangat diperlukan dalam dunia IT karena kebutuhan manusia akan apps dan sw juga semakin meningkat seiring berkembangnya era digital.

Author: Putu Adhika

Telecommunication Engineering ITB 2010

Leave a comment