- Peningkatan produktivitas pengembang saat menggunakan alat CI/CD
- Hasil survei dari ‘State Of Continuous Integration & Continuous Delivery Report’ yang dirilis pada April tahun ini oleh perusahaan analisis pengembang Inggris SlashData dan komunitas open source global Continuous Delivery Foundation (CDF)
- Pengembang yang menggunakan alat CI/CD (managed atau self-hosted) memiliki kemungkinan lebih besar untuk mencatat kinerja lebih tinggi dalam lead time perubahan kode, waktu pemulihan layanan, dan frekuensi deployment dibanding pengembang yang tidak menggunakannya
- Ketiga hal ini merupakan sebagian dari metrik inti DORA untuk menilai produktivitas pengembang
- Pengembang yang tidak menggunakan alat CI/CD cenderung memiliki kemungkinan lebih besar untuk mencatat kinerja yang lebih rendah dibanding pengembang yang menggunakannya
- Pengembang yang menggunakan baik alat CI/CD managed maupun self-hosted menunjukkan kinerja terbaik dalam lead time perubahan kode, waktu pemulihan layanan, dan frekuensi deployment
- Menurut SlashData dan CDF, pengembang dengan lead time perubahan kode kurang dari satu hari paling banyak berasal dari kelompok yang menggunakan baik alat CI/CD managed maupun self-hosted (24%)
- Disusul oleh pengembang yang hanya menggunakan alat CI/CD managed (22%), yang hanya menggunakan alat CI/CD self-hosted (17%), dan yang tidak menggunakan alat CI/CD (13%)
- Pengembang dengan lead time perubahan kode satu bulan atau lebih paling banyak adalah yang tidak menggunakan alat CI/CD (40%), diikuti yang hanya menggunakan alat CI/CD self-hosted (33%), yang hanya menggunakan alat CI/CD managed (30%), dan yang menggunakan keduanya, managed dan self-hosted (19%)
- Pengembang dengan waktu pemulihan layanan kurang dari 1 jam paling banyak adalah mereka yang menggunakan baik alat CI/CD managed maupun self-hosted (25%)
- Disusul oleh pengembang yang hanya menggunakan alat CI/CD self-hosted (17%), yang hanya menggunakan alat CI/CD managed (15%), dan yang tidak menggunakan alat CI/CD (11%)
- Pengembang dengan waktu pemulihan layanan satu minggu atau lebih paling banyak adalah yang tidak menggunakan alat CI/CD (32%), diikuti yang hanya menggunakan alat CI/CD self-hosted (29%), yang hanya menggunakan alat CI/CD managed (25%), dan yang menggunakan keduanya, managed dan self-hosted (17%)
- SlashData dan CDF mengatakan, “Jika menggunakan alat CI/CD managed dan self-hosted sekaligus, efisiensi dapat ditingkatkan dengan menggabungkan kemudahan serta fitur bawaan dari alat managed dengan kemampuan kustomisasi dari alat self-hosted”
- Dalam survei tersebut, alat CI/CD managed merujuk pada Azure Pipelines dan AWS CodePipeline, sedangkan alat CI/CD self-hosted merujuk pada Jenkins dan TeamCity
- Penurunan kinerja saat menggunakan beberapa alat CI/CD self-hosted
- Menggunakan beberapa alat CI/CD dengan tipe yang sama dapat menurunkan kinerja deployment
- Fenomena ini terutama terlihat saat menggunakan banyak alat CI/CD self-hosted
- Menurut hasil survei SlashData dan CDF, ketika jumlah alat CI/CD self-hosted bertambah, porsi pengembang berkinerja rendah dengan lead time perubahan kode, frekuensi deployment, dan waktu pemulihan layanan selama satu bulan atau lebih meningkat tajam
- Menurut kedua organisasi tersebut, pengembang dengan lead time perubahan kode satu bulan atau lebih paling banyak adalah mereka yang menggunakan 4 alat CI/CD self-hosted
- Pengembang dengan frekuensi deployment dan waktu pemulihan layanan masing-masing satu bulan atau lebih paling banyak adalah mereka yang menggunakan 5 atau lebih alat CI/CD self-hosted
- Sebaliknya, pengembang dengan lead time perubahan kode dan waktu pemulihan layanan masing-masing kurang dari satu hari paling banyak adalah mereka yang menggunakan 1 alat CI/CD managed
- SlashData dan CDF menunjuk masalah ‘interoperabilitas’ sebagai penyebab utama bertambahnya jumlah alat CI/CD self-hosted yang berdampak negatif pada waktu pemulihan layanan
- Jika menggunakan banyak alat CI/CD, akan sulit mengintegrasikan semua alat dengan baik
- Karena itu, pemisahan masalah yang berdampak pada layanan bisa menjadi sulit
- Penguatan integrasi AI dan machine learning ke dalam CI/CD
- AI dan machine learning semakin banyak diintegrasikan ke dalam pipeline CI/CD
- Pipeline CI/CD berbasis AI membantu mendeteksi masalah lebih cepat
- Ini membantu tim pengembangan dan pengujian memangkas waktu troubleshooting dan debugging secara signifikan
- AI mengotomatiskan pekerjaan penyiapan lingkungan pengujian CI dan mempercepat pengujian
- Ini mendorong otomatisasi cerdas dalam pipeline CD, termasuk otomatisasi code review dan pengujian
- AI dan machine learning diterapkan untuk mengidentifikasi kerentanan kode
- Analitik prediktif diperkirakan akan aktif digunakan untuk memprediksi potensi masalah dan kegagalan dalam pipeline CI/CD
- Teknologi ini menggunakan data, algoritme statistik, dan machine learning
- Ini membantu tim mengidentifikasi dan menyelesaikan masalah lebih awal sebelum memengaruhi pipeline deployment dengan menganalisis pola kegagalan build di masa lalu
- Hasilnya, deployment menjadi lebih cepat dan lebih stabil
- Ke depan, AI dan machine learning akan diterapkan secara lebih luas dan lebih erat dalam CI/CD
- Meningkatnya pengaruh GitOps terhadap CI/CD
- GitOps makin berpengaruh pada pipeline CI/CD
- Ini adalah kerangka kerja operasional yang menerapkan praktik terbaik DevOps yang digunakan dalam pengembangan aplikasi—seperti version control, kolaborasi, compliance, dan CI/CD—ke otomatisasi infrastruktur
- Banyak organisasi mengimplementasikan GitOps sebagai bagian dari proses CI/CD
- Dengan GitOps, pengembang dapat menggunakan repositori Git sebagai single source of truth (SSOT) untuk kode dan konfigurasi
- Perubahan pada kode atau konfigurasi dilakukan di repositori Git
- GitOps mendorong perubahan yang terversi-kontrol di seluruh infrastruktur dan deployment aplikasi, menyederhanakan kolaborasi, serta meningkatkan visibilitas
- GitOps memusatkan semua konfigurasi dan manifest deployment di dalam repositori Git
- GitOps mendukung perilisan otomatis pembaruan inkremental melalui workflow berpusat pada Git, membantu pengembang mengelola cluster dan menghadirkan aplikasi secara efisien serta aman tanpa kesalahan konfigurasi
- Dengan dorongan dari kecepatan, efisiensi, dan kemudahan, GitOps akan digunakan luas dalam CI/CD seiring organisasi menyederhanakan workflow DevOps dan menerapkan praktik terbaik IaC
- Meningkatnya kebutuhan untuk mengadopsi edge computing
- Kebutuhan untuk mengadopsi edge computing dalam pipeline CI/CD semakin besar
- Edge computing memproses data secara real-time dan mengoperasikan perangkat di lokasi tempat data dihasilkan atau di dekatnya
- Ini membantu mengurangi latensi untuk pemrosesan dan analisis data real-time, sehingga aplikasi dapat berjalan lebih efisien dan lebih cepat
- Muncul pandangan bahwa pipeline CI/CD perlu beradaptasi agar dapat mendukung deployment edge
- Contoh: membuat deployment yang ringan atau memanfaatkan containerization agar lebih mudah dideploy ke perangkat edge
- Menjadi semakin penting bagi tim pengembang untuk secara andal menyediakan versi terbaru program dan layanan ke perangkat edge
- Menghubungkan pipeline CI/CD ke edge akan memberikan pengalaman pengembang yang konsisten dan efisien untuk aplikasi edge, sehingga meningkatkan efisiensi operasional
- Dengan feedback dini, aplikasi dapat dideploy dan diuji secara otomatis di edge untuk menghadirkan produk yang lebih baik lebih cepat
- Beberapa layanan sudah mendukung deployment edge, tetapi kemungkinan besar akan muncul alat dan plugin baru untuk pipeline yang ada, termasuk pipeline CI/CD
1 komentar
Sejujurnya saya juga kurang paham apa bedanya CI/CD berbasis AI dengan CI/CD biasa...