DevOps

Perkembangan teknologi membuat banyak bisnis yang beralih menjadi digital. Perubahan ini berdampak terhadap fungsi-fungsi kerja yang berlaku salah satunya adalah DevOps. Pengembangan aplikasi secara terus menerus memberikan kualitas pelayanan yang lebih baik. Sebagian besar pengembangan dan operasi aplikasi dilakukan oleh tim IT dalam suatu bidang usaha.

Devops singkatan dari dua kata yaitu Development (Pengembangan) dan Operations (Operasi Aplikasi). Dua kata ini yang akan membentuk ruang lingkup kerja dari seorang developer karena developer tidak hanya bekerja pada pengembangan aplikasi namun juga pada saat aplikasi beroperasi. Pentingnya posisi ini dalam industri saat ini, Anda bisa mulai belajar memahami cara kerjanya.

Apa itu DevOps

Devops adalah sebuah sistem atau strategi pengembangan suatu perangkat lunak dengan melakukan serangkaian pekerjaan kolaboratif mulai dari proses build, test, and release yang lebih cepat dan lebih andal. Sebagian besar pengembangan yang dilakukan bersifat minor/patch update untuk mengantisipasi permasalahan yang terjadi selama operasi.

Kelebihan DevOps

Mengubah Cara Kerja Konvensional Pengembangan Aplikasi

Salah satu kelebihan dari Development and Operation adalah mengubah cara kerja konvensional menjadi lebih praktis dan cepat. Setiap departemen IT tidak perlu saling menunggu dikarenakan pengembangan dilakukan dengan memperhatikan setiap perubahan situasi.

Perubahan situasi akan direspon lebih cepat terutama membuat strategi dalam mengatasi masalah yang ada. Sehingga semua departemen bekerja secara serentak dan tidak saling menunggu.

Membangun Empat antar Departemen lebih Baik

Kelebihan lainnya adalah membentuk rasa empati dan komunikasi yang lebih baik antar departemen. Dengan metode ini, setiap departemen akan memahami permasalahan yang dihadapi oleh departemen lain yang berkaitan dengan pengembangan program. Sehingga proses penyelesaian masalah menjadi lebih cepat.

Waktu Produksi relatif Singkat

Kelebihan metode ini yang lain adalah waktu produksi yang relatif singkat dikarenakan perumusan solusi berdasarkan informasi yang cenderung dinamis dari departemen lain. Sehingga solusi yang dibuat oleh tim IT dapat langsung menyelesaikan masalah yang diberikan oleh end user.

Inovasi berkala dan cepat

Kelebihan terakhir menggunakan metode ini adalah inovasi secara berkala dan cepat. Dengan melakukan minor/patch update, tim IT akan senantiasa melakukan perbaikan terhadap bug atau masalah yang terjadi dalam aplikasi. Sehingga tim IT dituntut untuk bisa menyelesaikan masalah secara cepat.

Tujuan DevOps

Dengan mengedepankan sisi pengembangan dan operasi, tujuan utama dari metode ini adalah memperpendek siklus hidup pengembangan suatu aplikasi sambil memperbaiki fitur, menambahkan fitur, perbaikan, dan pembaharuan yang sejalan dengan tujuan bisnis Anda.

DevOps Metodologi

Secara garis besar Development and Operations mencakup beberapa langkah yaitu Build, Test, Release, Monitor, dan Plan. Semua langkah ini bersifat berkesinambungan dan saling mempengaruhi. Untuk penjelasan lengkapnya, Anda bisa membaca penjelasan di bawah ini.

  1. Build
    Langkah awal yang dilakukan dalam pengembangan aplikasi adalah membuat sistem yang akan dijalankan. Dalam membuat sistem, biasanya Anda akan menuliskan struktur bahasa pemrograman yang digunakan untuk menyelesaikan masalah. Anda bisa membuat beberapa fitur pada proses build sebelum di ujicoba.
  2. Test
    Langkah kedua adalah melakukan uji coba hasil pengembangan aplikasi. Biasanya uji coba dilakukan seperti A/B testing yang bertujuan untuk mengetahui kelemahan dan kelayakan aplikasi sebelum diluncurkan kepada pasaran. Biasanya faktor yang dilihat dari uji coba aplikasi adalah ada tidaknya bug, waktu respon aplikasi, hingga workload.

    Setelah mendapatkan informasi yang dibutuhkan berdasarkan hasil uji coba, aplikasi akan diperbaiki dan disempurnakan sebelum diluncurkan kepada pasar.
  3. Release
    Langkah ketiga adalah meluncurkan aplikasi yang telah siap kepada pasar. Setelah semua masalah dalam uji coba diperbaiki, Anda bisa meluncurkan aplikasi tersebut melalui beberapa kanal yang disediakan untuk meningkatkan pengguna aplikasi tersebut.
  4. Monitor
    Setelah aplikasi diluncurkan, langkah selanjutnya adalah melakukan monitoring terhadap aplikasi tersebut. Anda harus memperhatikan respon kerja, beban kerja, hingga pengalaman user terkait tampilan yang diberikan. Semua informasi tersebut digunakan untuk memperbaiki sekaligus mengembangkan aplikasi yang diluncurkan.
  5. Plan
    Setelah mendapatkan informasi, maka langkah selanjutnya adalah melakukan perencanaan pengembangan, perbaikan, dan pembaharuan fitur. Setelah semua informasi mengenai masalah yang dihadapi oleh user lengkap, Anda bisa mulai merencanakan pembuatan fitur-fitur tersebut.

Langkah-langkah di atas dilakukan secara berkesinambungan dan cepat. Hal ini dilakukan untuk meningkatkan kenyamanan dari penggunaan aplikasi sehingga para pengguna merasa betah untuk menggunakan aplikasi tersebut.

Praktek DevOps

Setelah memahami Development and Operation, pasti Anda akan bertanya bagaimana praktik Development and Operation sendiri?

Terdapat 7 praktik dari Development and Operations yang mencakup Continous Integration (CI), Continous Delivery (CD), Continous Deployment, Configuration Management, Infrasturcture as Code, Monitoring, and Logging. Penjelasan lengkap mengenai praktik ini bisa Anda baca di bawah ini.

Continuous Integration (CI)

Continous Integration atau yang dikenal dengan CI adalah praktik pengembangan software dengan cara melakukan perubahan code dan merge pada suatu repository antara pengembang dengan regular. Ketika push commit baru didapatkan, langkah automated build & test dijalankan untuk mendapatkan hasil dengan segera.

Tujuan dari praktik ini adalah ketika pengembang mendapatkan sebuah kesalahan dalam proses build&test, maka pengembang dapat melakukan update code sehingga kualitas produksi bisa ditingkatkan dan mengurangi waktu validasi aplikasi.

Continuous Delivery (CD)

Continuous Delivery atau dikenal sebagai CD adalah salah satu praktik yang dalam proses pengembangan software dengan cara melakukan perubahan code pada aplikasi yang telah menjalankan proses build&test serta siap untuk di deploy ke environtment production. Biasanya para pengembang akan memiliki build artifact yang siap untuk di deploy.

Environment Production biasanya disesuaikan dengan kemungkinan-kemungkinan yang terjadi di pasar sehingga pada fase CD, setiap aplikasi akan dilihat hasilnya jika bersinggungan dengan ‘keadaan sebenarnya’ dari pasar.

Continuous Deployment

Setelah Anda melakukan CI CD, maka langkah selanjutnya adalah Continuous Deployment. Continuous Deployment digunakan untuk meningkatkan kuantitas feedback yang diterima oleh pengguna aplikasi dan mengurangi tekanan karena tidak adanya hari perilisan.

Configuration Management

Configuration Management adalah salah satu praktik yang berfokus untuk memperhatikan konfigurasi suatu produk yang telah dirilis dan memastikan konsistensi produk tersebut dalam seluruh environment. Dengan Configuration Management, proses konfigurasi produk dapat dilakukan secara otomatis, standar, dan mengurangi konfigurasi manual.

Configuration Management dapat mengurangi tingkat kesalahan yang terjadi pada penulisan code secara manual sehingga sistem dapat memperbaiki dan mengkofigurasi perintahnya sendiri.

Infrasturcture as a Code

Setelah melakukan konfigurasi, maka langkah selanjutnya adalah Infrastucture as a Code. Infrastructure as a Code adalah praktik dalam sistem arsitektur data yang mana infrastruktur produk didefinisikan sebagai kode yang dapat diprogram, standar, dan mudah diduplikasi.

Pada produk kategori menengah, kebutuhan akan lebih dari satu mesin bisa terjadi. Dengan menggunakan IAAC, para pengembang dapat dengan mudah menambah mesin melalui satu baris kode pada program. Pada produk kategori skala besar, biasanya bergantung terhadap fitur yang diberikan oleh provider Cloud.

Monitoring

Setelah produk masuk dalam pasar dan digunakan oleh pengguna, Anda harus memperhatikan bagaimana produk tersebut digunakan oleh para pengguna. Monitoring menjadi kunci penting dalam proses pengembangan aplikasi karena perubahan kode yang dilakukan akan berdampak terhadap produk dan penggunanya.

Logging

Salah satu cara untuk memperhatikan apakah produk yang telah dirilis berjalan dengan baik atau tidak yaitu memperhatikan log aplikasi. Untuk aplikasi dengan kerumitan dan kompleksitas, biasanya terdapat beberapa log aplikasi yang harus diperhatikan secara mendalam dan terpusat untuk dianalisa.

Communication and Collaboration

Salah satu praktik penting dalam Development and Operation adalah komunikasi dan kolaborasi antar bidang dalam suatu organisasi baik secara fisik atau non fisik. Pelaksanaan pengembangan berjalan dengan baik jika komunikasi antar bidang berjalan dengan baik sehingga bisnis berjalan dengan lancar.

Belajar DevOps

Bagi Anda yang tertarik untuk belajar Development and Operations, terdapat 8 kemampuan yang diperlukan untuk belajar yang terdiri dari hardskills dan softskills.

Hardskills

Untuk belajar Development and Operations, Anda harus memiliki beberapa kemampuan dasar yang berkaitan dengan pemrograman seperti pemahaman mengenai Cloud, kemampuan Automasi, memahami coding dan scripting secara baik, dan memahami dasar Software Security.

Dasar-dasar tersebut yang dijadikan landasan untuk belajar mengenai Development and Operations suatu produk atau aplikasi.

Softskills

Tidak hanya hardskills yang harus dimiliki, namun softskills juga sangat penting untuk menjadi seorang pengembang. Beberapa softskills yang harus dimiliki oleh seorang pengembang adalah mengedepankan pengguna, memiliki integritas dan cara kerja yang baik, memiliki kemauan yang kuat untuk terus belajar.

Selain itu, seorang pengembang juga harus mau mengembangkan infrastruktur yang handal. Tidak hanya berhenti pada infrastruktur yang telah dibuat, namun terus melakukan pengembangan sesuai dengan kebutuhan dari para penggunanya.

Tugas DevOps

Secara garis besar, tugas Development and Operations ada dua yaitu menulis sebuah kode sistem yang terintegrasi dan melakukan monitoring terhadap hasil yang dilakukan. Secara sederhana, tugas pengembang adalah seperti di bawah ini.

Tanpa Error

  • Developer menulis kode secara lokal melalui laptop
  • Developer mengunggah kode yang ditulis menuju server test
  • QA/Tester melakukan pengecekan terhadap kode
  • Kode yang berhasil akan Developer unggah ke Server Production
  • Monitoring hasil secara berkala

Dengan Error

  • Developer menulis kode secara lokal melalui laptop
  • Developer mengunggah kode yang ditulis menuju server test
  • QA/Tester melakukan pengecekan terhadap kode
  • Jika gagal, kode dikembalikan kepada Developer untuk melakukan Rollback
  • Developer menulis ulang kode secara lokal melalui laptop
  • Developer mengunggah ulang kode yang ditulis menuju server test
  • QA/Tester melakukan pengecekan ulang terhadap kode
  • Kode yang berhasil akan Developer unggah ke Server Production
  • Monitoring hasil secara berkala

DevOps Indonesia

Di Indonesia terdapat beberapa lembaga yang menyediakan pelatihan-pelatihan yang berkaitan dengan Development and Operations. Anda bisa mengikuti berbagai kursus tersebut untuk belajar sekaligus mendapatkan pengarahan materi sehingga belajar Anda menjadi lebih baik.

Anda bisa membandingkan setiap lembaga dengan memperhatikan materi, biaya, penempatan kerja, hingga mentor yang akan mengarahkan Anda. Sehingga Anda menjadi lebih nyaman untuk terus belajar mengenai Development and Operations.

DevOps Engineer

Seorang pengembang atau DevOps Engineer adalah orang yang membangun sistem infrastruktur yang terotomatisasi, terintegrasi, dan fleksibel sehingga para pengembang dapat menuliskan kode-kode secara cepat dan seefisien mungkin. Secara garis besar, seorang DevOps engineer memiliki beberapa tugas seperti:

  • Membangun sistem Containerisasi atau Visualisasi Produk
  • Membangun sistem infrastruktur yang otomatis dan standar
  • Membangun sistem monitoring yang efektif dan berkelanjutan

Adanya seorang DevOps Engineer dalam suatu perusahan akan mempercepat proses mengembangkan aplikasi, mengurangi risiko, hingga kemudahan dalam rollback.

Keberadaan Development and Operations dalam suatu usaha akan meningkatkan kinerja sekaligus lingkungan kerja yang baik dikarenakan pola pikir kolaboratif yang dilakukan. Dengan menggunakan metode tersebut, mulai dari waktu produksi hingga biaya produksi bisa dipotong sehingga meningkatkan pendapatan Anda.

Penikmat senja yang hanya ingin berbagi ilmu pengetahuan

Leave a Comment