8 poin oleh ironlung 2024-08-27 | 1 komentar | Bagikan ke WhatsApp
  1. 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
  2. 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
  3. 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
  4. 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
  5. 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

 
aer0700 2024-08-30

Sejujurnya saya juga kurang paham apa bedanya CI/CD berbasis AI dengan CI/CD biasa...