8 points par ironlung 2024-08-27 | 1 commentaires | Partager sur WhatsApp
  1. Amélioration de la productivité des développeurs avec l’utilisation d’outils CI/CD
    • Résultats de l’enquête du rapport « State Of Continuous Integration & Continuous Delivery Report », publié en avril de cette année par la société britannique d’analyse de développeurs SlashData et la communauté open source mondiale Continuous Delivery Foundation (CDF)
    • Les développeurs qui utilisent des outils CI/CD (managés ou auto-hébergés) ont davantage de chances d’obtenir de meilleurs résultats en lead time des changements de code, en temps de restauration du service et en fréquence de déploiement que ceux qui n’en utilisent pas
      • Ces trois éléments font partie des principaux indicateurs DORA servant à évaluer la productivité des développeurs
    • Les développeurs qui n’utilisent pas d’outils CI/CD ont davantage de chances d’afficher des performances inférieures à ceux qui en utilisent
    • Les développeurs qui utilisent à la fois des outils CI/CD managés et auto-hébergés montrent les meilleures performances en lead time des changements de code, en temps de restauration du service et en fréquence de déploiement
    • Selon SlashData et la CDF, les développeurs dont le lead time des changements de code est inférieur à une journée sont les plus nombreux parmi ceux qui utilisent à la fois des outils CI/CD managés et auto-hébergés (24 %)
      • Ils sont suivis par les développeurs qui n’utilisent que des outils CI/CD managés (22 %), ceux qui n’utilisent que des outils CI/CD auto-hébergés (17 %) et ceux qui n’utilisent aucun outil CI/CD (13 %)
    • Parmi les développeurs dont le lead time des changements de code dépasse un mois, les plus nombreux sont ceux qui n’utilisent pas d’outils CI/CD (40 %), suivis de ceux qui n’utilisent que des outils CI/CD auto-hébergés (33 %), de ceux qui n’utilisent que des outils CI/CD managés (30 %) et de ceux qui utilisent les deux types d’outils (19 %)
    • Parmi les développeurs dont le temps de restauration du service est inférieur à une heure, les plus nombreux utilisent à la fois des outils CI/CD managés et auto-hébergés (25 %)
      • Ils sont suivis par les développeurs qui n’utilisent que des outils CI/CD auto-hébergés (17 %), ceux qui n’utilisent que des outils CI/CD managés (15 %) et ceux qui n’utilisent aucun outil CI/CD (11 %)
    • Parmi les développeurs dont le temps de restauration du service dépasse une semaine, les plus nombreux sont ceux qui n’utilisent pas d’outils CI/CD (32 %), suivis de ceux qui n’utilisent que des outils CI/CD auto-hébergés (29 %), de ceux qui n’utilisent que des outils CI/CD managés (25 %) et de ceux qui utilisent les deux types d’outils (17 %)
    • SlashData et la CDF : « L’utilisation conjointe d’outils CI/CD managés et auto-hébergés permet d’améliorer l’efficacité en combinant la praticité et les fonctions intégrées des outils managés avec les capacités de personnalisation des outils auto-hébergés »
    • Dans cette enquête, les outils CI/CD managés désignent Azure Pipelines et AWS CodePipeline, tandis que les outils CI/CD auto-hébergés désignent Jenkins et TeamCity
  2. Baisse des performances lors de l’utilisation de plusieurs outils CI/CD auto-hébergés
    • L’utilisation de plusieurs outils CI/CD du même type peut dégrader les performances de déploiement
      • Ce phénomène est particulièrement marqué lorsqu’on utilise plusieurs outils CI/CD auto-hébergés
    • Selon l’enquête de SlashData et de la CDF, à mesure que le nombre d’outils CI/CD auto-hébergés augmente, la proportion de profils peu performants dont le lead time des changements de code, la fréquence de déploiement et le temps de restauration du service dépassent un mois augmente fortement
    • Selon les deux organismes, parmi les développeurs dont le lead time des changements de code dépasse un mois, les plus nombreux utilisent 4 outils CI/CD auto-hébergés
    • Parmi les développeurs dont la fréquence de déploiement et le temps de restauration du service dépassent chacun un mois, les plus nombreux utilisent au moins 5 outils CI/CD auto-hébergés
    • À l’inverse, parmi les développeurs dont le lead time des changements de code et le temps de restauration du service sont chacun inférieurs à une journée, les plus nombreux n’utilisent qu’un seul outil CI/CD managé
    • SlashData et la CDF pointent les problèmes d’« interopérabilité » comme cause principale de l’impact négatif de l’augmentation du nombre d’outils CI/CD auto-hébergés sur le temps de restauration du service
      • Lorsqu’on utilise plusieurs outils CI/CD, il peut être difficile de tous les intégrer correctement
      • Il peut alors devenir difficile d’isoler les problèmes qui affectent le service
  3. Renforcement de l’intégration de l’IA et du machine learning dans le CI/CD
    • L’IA et le machine learning sont de plus en plus intégrés aux pipelines CI/CD
    • Les pipelines CI/CD basés sur l’IA aident à détecter les problèmes plus rapidement
      • Cela aide les équipes de développement et de test à réduire fortement le temps consacré au troubleshooting et au debugging
    • L’IA automatise la configuration des environnements de test CI et accélère les tests
    • Elle permet aussi une automatisation intelligente dans les pipelines CD, y compris pour les revues de code et les tests
    • L’IA et le machine learning servent à identifier les vulnérabilités du code
    • L’analyse prédictive devrait être largement utilisée dans les pipelines CI/CD pour anticiper les problèmes potentiels et les échecs
      • Cette technologie utilise des données, des algorithmes statistiques et le machine learning
      • Elle aide les équipes à détecter et à résoudre les problèmes à l’avance en analysant les schémas passés d’échec de build avant qu’ils n’affectent le pipeline de déploiement
      • Résultat : des déploiements plus rapides et plus stables
    • À l’avenir, l’IA et le machine learning seront appliqués au CI/CD de manière plus large et plus étroite
  4. Montée en puissance de GitOps dans le CI/CD
    • GitOps exerce une influence croissante sur les pipelines CI/CD
    • Il s’agit d’un framework opérationnel qui applique à l’automatisation de l’infrastructure les bonnes pratiques DevOps utilisées pour le développement applicatif, comme le contrôle de version, la collaboration, la conformité et le CI/CD
    • De nombreuses organisations mettent en œuvre GitOps comme composant de leur processus CI/CD
    • Avec GitOps, les développeurs peuvent utiliser un dépôt Git comme source unique de vérité (SSOT) pour le code et la configuration
      • Les modifications de code ou de configuration sont effectuées dans le dépôt Git
    • GitOps favorise les changements versionnés dans l’ensemble de l’infrastructure et des déploiements applicatifs, simplifie la collaboration et améliore la visibilité
      • GitOps centralise toutes les configurations et tous les manifestes de déploiement dans le dépôt Git
    • Grâce à un workflow centré sur Git, GitOps aide à publier automatiquement des mises à jour incrémentales, à permettre aux développeurs de gérer les clusters et à livrer les applications efficacement et en toute sécurité sans erreurs de configuration
    • Porté par la rapidité, l’efficacité et la simplicité, GitOps sera largement utilisé dans le CI/CD à mesure que les organisations rationalisent leurs workflows DevOps et appliquent les bonnes pratiques IaC
  5. Besoin croissant d’adopter l’edge computing
    • Le besoin d’intégrer l’edge computing dans les pipelines CI/CD augmente
    • L’edge computing consiste à traiter les données en temps réel et à faire fonctionner les appareils sur le lieu où les données sont générées ou à proximité
    • Cela réduit la latence pour le traitement et l’analyse en temps réel des données, et aide les applications à fonctionner de manière plus efficace et plus rapide
    • L’idée s’impose que les pipelines CI/CD doivent s’adapter pour prendre en charge les déploiements à l’edge
      • Par exemple : créer des déploiements légers ou recourir à la conteneurisation pour faciliter le déploiement sur les appareils edge
    • Il devient plus important que jamais pour les équipes de développement de fournir de manière fiable les dernières versions des programmes et services aux appareils edge
    • Relier les pipelines CI/CD à l’edge permet d’offrir une expérience développeur cohérente et efficace pour les applications edge, tout en améliorant l’efficacité opérationnelle
    • Déployer et tester automatiquement les applications à l’edge avec un feedback précoce permet de livrer plus vite de meilleurs produits
    • Certains services prennent déjà en charge les déploiements edge, mais l’apparition de nouveaux outils et plugins pour les pipelines existants, y compris les pipelines CI/CD, est très probable

1 commentaires

 
aer0700 2024-08-30

En fait, je ne comprends pas très bien ce qui différencie un CI/CD basé sur l’IA d’un simple CI/CD...