8 puan yazan ironlung 2024-08-27 | 1 yorum | WhatsApp'ta paylaş
  1. CI/CD araçlarının kullanımı geliştirici üretkenliğini artırıyor
    • Bu yılın nisan ayında Birleşik Krallık merkezli geliştirici analiz şirketi SlashData ile küresel açık kaynak topluluğu Continuous Delivery Foundation(CDF) tarafından yayımlanan ‘State Of Continuous Integration & Continuous Delivery Report’ araştırma sonuçlarına göre
    • CI/CD araçları (managed veya self-hosted) kullanan geliştiricilerin, kullanmayanlara kıyasla kod değişikliği lead time’ı, servis kurtarma süresi ve dağıtım sıklığında daha yüksek performans gösterme olasılığı daha yüksek
      • Bu üçü, geliştirici üretkenliğini değerlendiren DORA’nın temel metriklerinin bir kısmı
    • CI/CD araçlarını kullanmayan geliştiricilerin, kullananlara göre daha düşük performans gösterme olasılığı daha yüksek
    • Hem managed hem de self-hosted CI/CD araçlarını kullanan geliştiriciler, kod değişikliği lead time’ı, servis kurtarma süresi ve dağıtım sıklığında en iyi performansı gösteriyor
    • SlashData ve CDF’ye göre, kod değişikliği lead time’ı bir günden kısa olan geliştiriciler arasında en büyük pay, hem managed hem self-hosted CI/CD araçlarını kullanan geliştiricilerde (%24)
      • Onları yalnızca managed CI/CD araçlarını kullanan geliştiriciler (%22), yalnızca self-hosted CI/CD araçlarını kullanan geliştiriciler (%17) ve CI/CD araçlarını kullanmayan geliştiriciler (%13) izliyor
    • Kod değişikliği lead time’ı bir ay veya daha uzun olan geliştiriciler arasında en büyük pay, CI/CD araçlarını kullanmayan geliştiricilerde (%40); ardından yalnızca self-hosted CI/CD araçlarını kullanan geliştiriciler (%33), yalnızca managed CI/CD araçlarını kullanan geliştiriciler (%30) ve hem managed hem self-hosted CI/CD araçlarını kullanan geliştiriciler (%19) geliyor
    • Servis kurtarma süresi 1 saatten kısa olan geliştiriciler arasında en büyük pay, hem managed hem self-hosted CI/CD araçlarını kullanan geliştiricilerdeydi (%25)
      • Onları yalnızca self-hosted CI/CD araçlarını kullanan geliştiriciler (%17), yalnızca managed CI/CD araçlarını kullanan geliştiriciler (%15) ve CI/CD araçlarını kullanmayan geliştiriciler (%11) izledi
    • Servis kurtarma süresi bir hafta veya daha uzun olan geliştiriciler arasında en büyük pay, CI/CD araçlarını kullanmayan geliştiricilerde (%32); ardından yalnızca self-hosted CI/CD araçlarını kullanan geliştiriciler (%29), yalnızca managed CI/CD araçlarını kullanan geliştiriciler (%25) ve hem managed hem self-hosted CI/CD araçlarını kullanan geliştiriciler (%17) geliyor
    • SlashData ve CDF, “Hem managed hem self-hosted CI/CD araçlarını birlikte kullanmak, managed araçların kullanım kolaylığı ve yerleşik özelliklerini, self-hosted araçların özelleştirilebilir işlevleriyle birleştirerek verimliliği artırabilir” diyor
    • Söz konusu araştırmada managed CI/CD araçları Azure Pipelines ve AWS CodePipeline’ı, self-hosted CI/CD araçları ise Jenkins ve TeamCity’yi ifade ediyor
  2. Birden fazla self-hosted CI/CD aracı kullanıldığında performans düşüyor
    • Aynı türden birden fazla CI/CD aracı kullanmak dağıtım performansını düşürebilir
      • Bu durum özellikle birden fazla self-hosted CI/CD aracı kullanıldığında belirginleşiyor
    • SlashData ve CDF araştırmasına göre, self-hosted CI/CD araçlarının sayısı arttıkça kod değişikliği lead time’ı, dağıtım sıklığı ve servis kurtarma süresinde bir ay veya daha uzun süren düşük performanslı geliştiricilerin oranı hızla artıyor
    • İki kuruma göre, kod değişikliği lead time’ı bir ay veya daha uzun olan geliştiriciler arasında en büyük pay, 4 self-hosted CI/CD aracı kullanan geliştiricilerdeydi
    • Dağıtım sıklığı ve servis kurtarma süresi ayrı ayrı bir ay veya daha uzun olan geliştiriciler arasında ise en büyük pay, 5 veya daha fazla self-hosted CI/CD aracı kullanan geliştiricilerdeydi
    • Buna karşılık, kod değişikliği lead time’ı ve servis kurtarma süresi ayrı ayrı bir günden kısa olan geliştiriciler arasında en büyük pay, 1 managed CI/CD aracı kullanan geliştiricilerdeydi
    • SlashData ve CDF, self-hosted CI/CD araçlarının sayısının artmasının servis kurtarma süresi üzerinde olumsuz etki yaratmasının başlıca nedeni olarak ‘interoperability’ sorununa işaret ediyor
      • Birden fazla CI/CD aracı kullanıldığında tüm araçları düzgün biçimde entegre etmek zorlaşabiliyor
      • Bu nedenle hizmeti etkileyen sorunları izole etmek güçleşebiliyor
  3. Yapay zeka ve makine öğrenimi, CI/CD ile daha sıkı entegre oluyor
    • Yapay zeka ve makine öğrenimi, CI/CD pipeline’larına daha fazla entegre ediliyor
    • Yapay zeka tabanlı CI/CD pipeline’ları sorunların daha hızlı tespit edilmesini destekliyor
      • Bu da geliştirme ve test ekiplerinin troubleshooting ve debugging için harcadığı süreyi önemli ölçüde azaltmasına yardımcı oluyor
    • Yapay zeka, CI test ortamı kurulumunu otomatikleştiriyor ve testleri hızlandırıyor
    • Bu, CD pipeline’ında akıllı otomasyonu ilerletiyor; kod inceleme ve testleri de otomatikleştiriyor
    • Yapay zeka ve makine öğrenimi uygulanarak koddaki güvenlik açıkları tespit ediliyor
    • Tahmine dayalı analitiğin, CI/CD pipeline’larında potansiyel sorunları ve başarısızlıkları öngörmek için aktif biçimde kullanılmasının beklendiği belirtiliyor
      • Bu teknoloji veri, istatistiksel algoritmalar ve makine öğrenimini kullanıyor
      • Böylece geçmiş build başarısızlığı kalıplarını analiz ederek, ekiplerin sorunları dağıtım pipeline’ını etkilemeden önce önceden tespit edip çözmesine yardımcı oluyor
      • Sonuç olarak dağıtımlar daha hızlı ve daha kararlı hale geliyor
    • Yapay zeka ve makine öğrenimi, bundan sonra CI/CD’ye daha geniş ve daha sıkı biçimde uygulanacak
  4. GitOps’un CI/CD üzerindeki etkisi artıyor
    • GitOps, CI/CD pipeline’ları üzerinde giderek daha etkili oluyor
    • Bu, sürüm kontrolü, iş birliği, compliance ve CI/CD gibi uygulama geliştirmede kullanılan DevOps en iyi uygulamalarını altyapı otomasyonuna uygulayan bir operasyon çerçevesi
    • Birçok kuruluş, CI/CD süreçlerinin bir parçası olarak GitOps’u hayata geçiriyor
    • Geliştiriciler GitOps ile Git repository’sini kod ve yapılandırma için tek doğru kaynak (SSOT) olarak kullanabiliyor
      • Git repository’sinde kod veya yapılandırma değişikliği
    • GitOps, altyapı ve uygulama dağıtımı genelinde sürüm kontrollü değişiklikleri teşvik ediyor, iş birliğini sadeleştiriyor ve görünürlüğü artırıyor
      • Çünkü GitOps, tüm yapılandırma ve dağıtım manifestlerini Git repository’si içinde merkezileştiriyor
    • GitOps, Git merkezli iş akışıyla artımlı güncellemelerin otomatik olarak yayınlanmasını sağlıyor; geliştiricilerin cluster yönetmesini ve yapılandırma hataları olmadan verimli, güvenli uygulamalar sunmasını destekliyor
    • Hız, verimlilik ve kullanım kolaylığının etkisiyle; kuruluşlar DevOps iş akışlarını sadeleştirip IaC en iyi uygulamalarını benimsedikçe GitOps, CI/CD’de yaygın biçimde kullanılacak
  5. Edge computing’i benimseme ihtiyacı artıyor
    • CI/CD pipeline’larında edge computing’i benimseme ihtiyacı büyüyor
    • Edge computing, verinin üretildiği yerde veya ona yakın bir noktada veriyi gerçek zamanlı işlemek ve cihazları çalıştırmak anlamına geliyor
    • Bu, veriyi gerçek zamanlı işleyip analiz ettiği için gecikmeyi azaltıyor ve uygulamaların daha verimli ve daha hızlı çalışmasına yardımcı oluyor
    • CI/CD pipeline’larının edge dağıtımları destekleyecek şekilde uyum sağlaması gerektiği görüşü öne çıkıyor
      • Örneğin hafif dağıtımlar oluşturmak veya containerization kullanarak edge cihazlara daha kolay dağıtım yapmak
    • Geliştirme ekiplerinin edge cihazlara program ve hizmetlerin en güncel sürümlerini güvenilir biçimde sunması her zamankinden daha önemli hale geliyor
    • CI/CD pipeline’larını edge’e bağlamak, edge uygulamaları için tutarlı ve verimli bir geliştirici deneyimi sağlayarak operasyonel verimliliği artırıyor
    • Erken geri bildirimle birlikte uygulamaları edge’e otomatik olarak dağıtıp test ederek daha iyi ürünleri daha hızlı sunmak mümkün oluyor
    • Bazı hizmetler edge dağıtımı desteklese de, CI/CD pipeline’ları dahil mevcut pipeline’lar için yeni araçlar ve eklentilerin ortaya çıkma olasılığı yüksek

1 yorum

 
aer0700 2024-08-30

Açıkçası, yapay zeka tabanlı CI/CD'nin normal CI/CD'den tam olarak ne farkı olduğunu ben de pek bilmiyorum...