8 Punkte von ironlung 2024-08-27 | 1 Kommentare | Auf WhatsApp teilen
  1. Höhere Entwicklerproduktivität durch den Einsatz von CI/CD-Tools
    • Ergebnisse aus dem im April dieses Jahres veröffentlichten Bericht „State Of Continuous Integration & Continuous Delivery Report“ des britischen Entwickleranalyse-Unternehmens SlashData und der globalen Open-Source-Community Continuous Delivery Foundation (CDF)
    • Entwickler, die CI/CD-Tools (Managed oder Self-Hosted) einsetzen, erzielen im Vergleich zu Entwicklern ohne solche Tools mit höherer Wahrscheinlichkeit bessere Ergebnisse bei Lead Time for Code Changes, Service Recovery Time und Deployment-Frequenz
      • Diese drei Kennzahlen gehören zu den zentralen DORA-Metriken zur Bewertung der Entwicklerproduktivität
    • Entwickler ohne CI/CD-Tools haben mit höherer Wahrscheinlichkeit schlechtere Ergebnisse als Entwickler, die solche Tools nutzen
    • Entwickler, die sowohl Managed- als auch Self-Hosted-CI/CD-Tools verwenden, zeigen die besten Ergebnisse bei Lead Time for Code Changes, Service Recovery Time und Deployment-Frequenz
    • Laut SlashData und CDF ist der Anteil der Entwickler mit einer Lead Time for Code Changes von unter einem Tag unter den Nutzern von Managed- und Self-Hosted-CI/CD-Tools gemeinsam am höchsten (24 %)
      • Es folgen Entwickler, die nur Managed-CI/CD-Tools verwenden (22 %), nur Self-Hosted-CI/CD-Tools verwenden (17 %) oder gar keine CI/CD-Tools einsetzen (13 %)
    • Der höchste Anteil an Entwicklern mit einer Lead Time for Code Changes von einem Monat oder mehr findet sich bei Entwicklern ohne CI/CD-Tools (40 %), gefolgt von Entwicklern mit nur Self-Hosted-CI/CD-Tools (33 %), nur Managed-CI/CD-Tools (30 %) und beiden Tool-Arten zusammen (19 %)
    • Bei einer Service Recovery Time von unter einer Stunde war der Anteil unter den Entwicklern mit Managed- und Self-Hosted-CI/CD-Tools gemeinsam am höchsten (25 %)
      • Es folgen Entwickler mit nur Self-Hosted-CI/CD-Tools (17 %), nur Managed-CI/CD-Tools (15 %) und ohne CI/CD-Tools (11 %)
    • Bei einer Service Recovery Time von einer Woche oder mehr war der Anteil unter Entwicklern ohne CI/CD-Tools am höchsten (32 %), gefolgt von Entwicklern mit nur Self-Hosted-CI/CD-Tools (29 %), nur Managed-CI/CD-Tools (25 %) und beiden Tool-Arten zusammen (17 %)
    • SlashData und CDF: „Wer sowohl Managed- als auch Self-Hosted-CI/CD-Tools nutzt, kann die Benutzerfreundlichkeit und integrierten Funktionen von Managed-Tools mit den maßgeschneiderten Funktionen von Self-Hosted-Tools kombinieren und so die Effizienz steigern.“
    • In der Untersuchung wurden unter Managed-CI/CD-Tools Azure Pipelines und AWS CodePipeline verstanden, unter Self-Hosted-CI/CD-Tools Jenkins und TeamCity
  2. Leistungsabfall beim Einsatz mehrerer Self-Hosted-CI/CD-Tools
    • Der Einsatz mehrerer CI/CD-Tools desselben Typs kann die Deployment-Leistung verschlechtern
      • Besonders deutlich zeigt sich dieses Phänomen bei mehreren Self-Hosted-CI/CD-Tools
    • Laut der Untersuchung von SlashData und CDF steigt mit der Anzahl an Self-Hosted-CI/CD-Tools der Anteil der Low Performer mit einer Lead Time for Code Changes, Deployment-Frequenz und Service Recovery Time von einem Monat oder mehr stark an
    • Nach Angaben der beiden Organisationen war der Anteil der Entwickler mit einer Lead Time for Code Changes von einem Monat oder mehr bei Entwicklern mit vier Self-Hosted-CI/CD-Tools am höchsten
    • Bei einer Deployment-Frequenz und Service Recovery Time von jeweils einem Monat oder mehr war der Anteil bei Entwicklern mit fünf oder mehr Self-Hosted-CI/CD-Tools am höchsten
    • Umgekehrt war der Anteil der Entwickler mit einer Lead Time for Code Changes und einer Service Recovery Time von jeweils unter einem Tag am höchsten bei Entwicklern, die ein Managed-CI/CD-Tool verwenden
    • SlashData und CDF nennen Interoperabilitätsprobleme als Hauptgrund dafür, dass eine steigende Zahl von Self-Hosted-CI/CD-Tools die Service Recovery Time negativ beeinflusst
      • Beim Einsatz mehrerer CI/CD-Tools ist es schwierig, alle Tools sauber zu integrieren
      • Dadurch kann es schwer werden, Probleme zu isolieren, die sich auf den Service auswirken
  3. Stärkere Integration von AI und Machine Learning in CI/CD
    • AI und Machine Learning werden stärker in CI/CD-Pipelines integriert
    • AI-gestützte CI/CD-Pipelines helfen dabei, Probleme schneller zu erkennen
      • Das unterstützt Entwicklungs- und Testteams dabei, den Aufwand für Troubleshooting und Debugging deutlich zu reduzieren
    • AI automatisiert die Einrichtung von CI-Testumgebungen und beschleunigt Tests
    • Dadurch wird intelligente Automatisierung in CD-Pipelines vorangetrieben, einschließlich der Automatisierung von Code Reviews und Tests
    • Durch den Einsatz von AI und Machine Learning lassen sich Code-Schwachstellen identifizieren
    • Predictive Analytics wird voraussichtlich intensiv genutzt werden, um potenzielle Probleme und Ausfälle in CI/CD-Pipelines vorherzusagen
      • Diese Technologie nutzt Daten, statistische Algorithmen und Machine Learning
      • So können Teams anhand vergangener Muster von Build-Fehlschlägen Probleme frühzeitig erkennen und beheben, bevor sie sich auf die Deployment-Pipeline auswirken
      • Das Ergebnis sind schnellere und stabilere Deployments
    • AI und Machine Learning werden künftig breit und eng in CI/CD eingesetzt werden
  4. Wachsende Bedeutung von GitOps für CI/CD
    • GitOps gewinnt in CI/CD-Pipelines zunehmend an Einfluss
    • Es handelt sich um ein Betriebs-Framework, das DevOps-Best-Practices aus der Anwendungsentwicklung wie Versionskontrolle, Zusammenarbeit, Compliance und CI/CD auf die Infrastrukturautomatisierung anwendet
    • Viele Organisationen setzen GitOps als Teil ihres CI/CD-Prozesses um
    • Entwickler können mit GitOps Git-Repositories als Single Source of Truth (SSOT) für Code und Konfiguration nutzen
      • Änderungen an Code oder Konfiguration erfolgen im Git-Repository
    • GitOps fördert versionskontrollierte Änderungen über Infrastruktur- und Anwendungs-Deployments hinweg, vereinfacht die Zusammenarbeit und verbessert die Sichtbarkeit
      • GitOps zentralisiert sämtliche Konfigurationen und Deployment-Manifeste im Git-Repository
    • Mit Git-zentrierten Workflows unterstützt GitOps die automatische Freigabe inkrementeller Updates und hilft Entwicklern dabei, Cluster zu verwalten und Anwendungen effizient und sicher ohne Konfigurationsfehler bereitzustellen
    • Getrieben von Geschwindigkeit, Effizienz und Benutzerfreundlichkeit wird GitOps breit in CI/CD eingesetzt werden, da Organisationen ihre DevOps-Workflows vereinfachen und IaC-Best-Practices umsetzen
  5. Wachsende Notwendigkeit zur Unterstützung von Edge Computing
    • In CI/CD-Pipelines wächst die Notwendigkeit, Edge Computing zu unterstützen
    • Edge Computing verarbeitet Daten in Echtzeit dort, wo sie entstehen, oder in unmittelbarer Nähe, und betreibt Geräte vor Ort
    • Das reduziert die Latenz bei der Echtzeitverarbeitung und -analyse von Daten und hilft Anwendungen, effizienter und schneller zu arbeiten
    • Es wird gefordert, dass sich CI/CD-Pipelines an Edge-Deployments anpassen
      • Zum Beispiel durch schlanke Deployments oder den Einsatz von Containerisierung, um einfacher auf Edge-Geräte auszurollen
    • Für Entwicklungsteams wird es wichtiger denn je, die neuesten Versionen von Programmen und Services zuverlässig auf Edge-Geräten bereitzustellen
    • Die Anbindung von CI/CD-Pipelines an die Edge verbessert die betriebliche Effizienz, indem sie für Edge-Anwendungen eine konsistente und effiziente Developer Experience bietet
    • Durch automatisiertes Deployment und Tests von Anwendungen an der Edge zusammen mit frühem Feedback lassen sich bessere Produkte schneller bereitstellen
    • Einige Services unterstützen bereits Edge-Deployments, doch es ist sehr wahrscheinlich, dass neue Tools und Plugins für bestehende Pipelines einschließlich CI/CD-Pipelines auf den Markt kommen

1 Kommentare

 
aer0700 2024-08-30

Ehrlich gesagt bin ich mir nicht so sicher, worin sich AI-basiertes CI/CD eigentlich vom normalen CI/CD unterscheidet ...