DevOps adalah gabungan dari Development dan Operations. Kombinasi tersebut dirancang agar dapat meningkatkan kemampuan sebuah perusahaan untuk proses delivery aplikasi dengan kecepatan tinggi.
Seiring dengan perkembangan teknologi, banyak perusahaan-perusahaan raksasa seperti Amazon, Walmart, ataupun Google yang memilih menggunakan solusi DevOps agar proses delivery produk dapat dilakukan secara efektif dan efisien. Selain itu, solusi DevOps juga telah terbukti dapat memberikan berbagai keuntungan seperti mampu menghasilkan kolaborasi tim yang lebih baik, mempertahankan kualitas produk, dan masih banyak lagi.
Meskipun sekarang solusi DevOps sudah semakin banyak diadopsi oleh perusahaan-perusahaan besar, namun pada kenyataannya sampai saat ini masih banyak orang yang mengalami kebingungan dan belum memahami apa itu DevOps. Beberapa orang beranggapan bahwa DevOps adalah sebuah budaya, pendekatan, atau filosofi. Sedangkan sebagian orang yang lain beranggapan bahwa DevOps adalah sebuah metodologi.
Pipeline DevOps adalah sekumpulan proses yang memungkinkan tim developer dan tim IT operations dapat bekerja sama untuk membangun dan menerapkan kode ke production environment. Meskipun setiap perusahaan yang menjalankan model DevOps ini dapat bekerja dengan proses yang berbeda-beda, namun secara garis besar mereka akan mengikuti fase DevOps pipeline berikut:
1. Plan
Fase ini melibatkan perencanaan untuk seluruh alur kerja yang dibutuhkan sebelum tim pengembang mulai menulis kode. Dalam tahap ini, manajer produk dan manajer proyek akan memainkan peran penting. Mereka akan bekerjasama untuk mengumpulkan requirements dan feedback dari klien ataupun stakeholders. Informasi tersebut kemudian akan dikumpulkan untuk membangun roadmap produk untuk memandu proses pengembangan yang akan dilakukan.
2. Code
Setelah rencana dibuat, tim developer dapat mulai menulis kode yang dibutuhkan untuk mengembangkan produk. Tim developer biasanya akan menggunakan seperangkat plugin standar yang dipasang di lingkungan pengembangan mereka untuk membantu proses pengembangan, membantu menerapkan gaya kode yang konsisten, serta menghindari kelemahan keamanan umum dan anti-pattern.
3. Build
Setelah tim developer selesai menulis kode yang dibutuhkan, mereka akan memasukan kode tersebut ke dalam shared code repository. Developer akan mengirimkan pull request, setelah developer yang lain akan mereview perubahan yang telah dilakukan. Jika kode tidak memiliki masalah, maka developer tersebut akan menyetujui pull request yang telah dikirim sebelumnya.
4. Test
Langkah selanjutnya adalah melakukan pengujian. Jika ada masalah yang ditemukan pada fase ini, maka masalah tersebut akan dikirim kembali ke tim developer untuk diselesaikan.
5. Release
Fase release menjadi tonggak penting dalam DevOps pipeline. Pada tahap ini, setiap perubahan kode telah melewati serangkaian pengujian dan tim IT operations telah memastikan bahwa masalah yang merusak dan regresi sudah teratasi dengan baik.
6. Deploy
Tahap selanjutnya adalah deployment. Setelah production environment dibuat dan dikonfigurasi maka versi terakhir dari pengembangan yang telah dilakukan akan diterapkan.
7. Monitor
Pada tahap terakhir ini, tim IT operations akan terus bekerja keras untuk memantau infrastruktur, sistem, dan aplikasi. Hal ini dilakukan untuk memastikan bahwa produk atau aplikasi yang dikembangkan dapat berjalan dengan lancar. Mereka juga mengumpulkan data-data penting dari log, analitik, sistem monitoring, serta melihat feedback dari pengguna untuk mengetahui jika ada masalah pada kinerja aplikasi.
Berikut beberapa manfaat dari pengiriman yang berkesinambungan dapat dirangkum:
- Mempercepat Waktu rilis : CD memungkinkan tim ataupun orang lain memberikan nilai bisnis yang ada dalam rilis software baru lebih cepat ke users. Kemampuan ini membantu perusahaan tetap selangkah lebih maju dari para pesaing.
- Membangun Produk Berkualitas: Rilis yang lebih sering memberikan Software Development mendapatkan response yang lebih cepat dari para pengguna. Hal ini memungkinkan mereka untuk bekerja hanya pada fitur yang berguna. Jika mereka menemukan bahwa fitur tersebut tidak berguna, mereka akan hentikan usaha lebih lanjut terhadap fitur tersebut. Ini membantu mereka dalam pembangunan produk software yang tepat.
- Peningkatan Produktivitas dan Efisiensi: Penghematan waktu yang signifikan untuk Development, Testing, DevOps, dll melalui Automation.
- Kehandalan Rilis: Risiko yang terkait dengan rilis dapat menurun secara signifikan, sehingga proses rilis menjadi lebih handal. Dengan CD, proses penyebaran dan skrip diuji berulang kali sebelum di jalankan. Jadi, sebagian besar kesalahan script dalam proses penyebaran dapat ditemukan. Dengan kemampuan membuat rilis sesering mungkin, jumlah perubahan kode di setiap rilis tentu menurun. Hal ini menjadikan mudah dalam menemukan dan memperbaiki masalah yang terjadi, mengurangi waktu di mana mereka memiliki dampak.
- Peningkatan Kualitas Produk: Jumlah bug terbuka dan insiden produksi telah menurun secara signifikan.
- Peningkatan Kepuasan Pelanggan: Tingkat kepuasan pelanggan yang lebih tinggi dapat tercapai.
Source : https://www.logique.co.id/blog/2021/05/28/apa-itu-devops/ https://medium.com/programmer-geek/apa-itu-devops-dca7c1c2dc92