Apa itu CI/CD? DevOps Life Cycle

03 Aug 2022
Ngide DevOps

 

Halo temen ngide, kali ini kita akan membahas DevOps Lifecycle.

Apa itu DevOps Lifecycle?

DevOps Lifecycle adalah kombinasi dari beberapa fase dalam Continuous Software Development, Integration, Testing, Deployment dan Monitoring. Penerapan dari fase-fase tersebut sangat diperlukan untuk mendapatkan manfaat penuh dari praktik DevOps ini.

Praktik DevOps ini juga mencakup Continuous innovation, agility dan scalability untuk build, test, consume dan envolve software products. Jadi, untuk mengimplementasikan DevOps, Kita harus memiliki pemahaman yang tepat tentang fase-fase pada DevOps Lifecycle.

Untuk memberikan hasil yang cepat dalam pengembangan, Developer harus sepenuhnya paham tentang fase yang berbeda pada setiap DevOps Lifecycle. Jika tidak, maka seluruh proses Development akan menjadi rumit dan memakan waktu. Yuk kita bahas apa saja fase-fase yang ada pada DevOps Lifecycle.

DevOps Lifecycle

Seperti gambar diatas, ada 7 fase yang harus menjadi kunci utama dalam penerapan DevOps ini. Dengan fase-fase diatas maka akan dapat mengoptimasi proses pengembangan dari awal sampai akhir dan menghasilkan waktu delivery times yang cepat. 

Yuk kita bahas satu persatu dari fase diatas

  • Continuous Development

Continuous Development ini melibatkan perencanaan dan pengkodean dalam pengembangan perangkat lunak. Di sini, seluruh proses pengembangan dipecah menjadi siklus pengembangan yang lebih kecil / dipecah - pecah. Proses ini memudahkan tim DevOps untuk mempercepat proses pengembangan perangkat lunak secara keseluruhan. 

Pada perencanaan tidak ada tools DevOps yang diperlukan, tapi sangat banyak Version Control Tools digunakan untuk maintain kode. Untuk proses maintain code kita sebut Source Code Maintenance. 

Tool - tool populer yang digunakan untuk Source Code Maintenance adalah diantaranya JIRA, Git, Mercurial, dan SVN.

  • Continuous Integration

Continuous integration (CI) adalah langkah-langkah yang berkaitan dengan fase pengujian atau testing. Pada fase ini, Klien juga memberikan informasi yang akan dimasukkan untuk menambahkan fitur baru ke aplikasi. Pada fase ini juga sebagian besar perubahan terjadi pada kode. CI adalah pusat dimana perubahan pada kode yang sering terjadi setiap hari maupun bulan.

Kode yang dibangun ini adalah kombinasi antara Unit Test, Code Review, Integration dan Packaging. Pada fase ini developer sangat sering melakukan perubahan, mereka akan sangat cepat menemukan masalah yang terjadi (jika ada) dan menyelesaikannya pada tahap Continuous Development.

Pada fase ini, akan terjadi penggabungan fungsi dari kode baru dengan kode yang lama. Pada proses tersebut kita harus memperbarui kode yang ada pada seluruh sistem secara mulus. Salah satu tools populer yang dapat digunakan adalah Jenkins.

  • Continuous Testing

Continuous Testing adalah sebuah fase dimana kode akan diuji untuk bug dan kesalahan yang ada pada kode. Disinilah Quality Analysis (QA) memiliki peran utama untuk memastikan kode yang dikembangkan tidak terdapat bug.

Automation Tools seperti JUnit, Selenium dan TestNG sering digunakan untuk pengujian. Tools ini dapat membantu QA menganalisa kode secara bersamaan. Hal ini dilakukan agar tidak ada kekurangan dalam fungsionalitas aplikasi.

  • Continuous Deployment

Continuous Deployment memastikan bahwa publish aplikasi dapat dilakukan tanpa mempengaruhi kinerja dari aplikasi tersebut. Sangat penting untuk memastikan bahwa kode telah diterapkan pada semua server pada fase ini. Proses ini menghilangkan kebutuhan untuk merilis aplikasi secara manual.

  • Continuous Monitoring

Fase ini memproses informasi penting tentang aplikasi yang dikembangkan. Melalui Continuous Monitoring, developer dapat mengidentifikasi pola umum dan area abu-abu di aplikasi yang perlu di optimize.

Continuous Monitoring adalah fase operasional yang bertujuan untuk meningkatkan efisiensi keseluruhan aplikasi. Selain itu, Continuous Monitoring juga membantu kinerja aplikasi. Oleh karena itu, ini adalah salah satu fase paling penting dari DevOps Lifecycle.

Kesalahan sistem seperti ‘server not reachable’, ‘low memory’ dan yang lainnya, diselesaikan pada fase Continuous Monitoring. Continuous Monitoring juga menjada ketersediaan dan keamanan layanan. Masalah jaringan dan masalah lainnya karena secara otomatis diperbaiki selama fase ini pada saat kesalahan dideteksi.

  • Continuous Feedback

Continuous Feedback sangat penting untuk memastikan dan menganalisis hasil akhir dari sebuah aplikasi. Fase ini kita akan mendapatkan feedback untuk meningkatkan versi saat ini dan melakukan release versi terbaru berdasarkan feedback yang diberikan dari Customer dan yang lainnya.

Keseluruhan proses pengembangan aplikasi hanya dapat ditingkatkan dengan menganalisa hasil dari operasi aplikasi. Feedback tidak lain adalah informasi yang dikumpulkan dari client. Di sini akan mendapatkan informasi penting, karena membawa semua data tentang kinerja aplikasi dan masalah yang terjadi pada aplikasi tersebut. Pada fase ini juga berisi saran yang diberikan oleh pengguna dari aplikasi.

  • Continuous operations

Ini adalah fase terakhir dari DevOps Lifecycle, fase ini adalah yang terpendek dan termudah untuk dipahami. Continuity adalah inti dari semua operasi DevOps yang membantu untuk mengotomatiskan proses rilis, memungkinkan developer mendeteksi masalah dengan cepat dan membangun versi produk aplikasi yang lebih baik. Continuous adalah kunci untuk menghilangkan langkah tambahan lainnya yang menghambat pengembangan pada sebuah aplikasi.

 

Artikel Lainnya

Artikel lain yang mungkin menarik juga untuk kamu baca.

Apa itu DevOps? Pengertian serta manfaatnya

DevOps adalah sebuah prinsip yang menyatukan tim Development dan Operational, sehingga menjadi Tim yang saling bekerja sama untuk meningkatkan kualitas layanan.
Rupadana
5 min read

© 2024