La concurrence accrue, l’évolution des usages des clients, et les innovations technologiques ont été les principaux moteurs de l’évolution du modèle de développement de logiciels vers plus d’agilité. Celle-ci s’est concrétisée dans l’apparition du concept baptisé DevOps, permettant de rationaliser le processus de développement. Cette méthodologie de travail consiste à décomposer le processus de développement et de livraison des applications en une suite de tâches basées sur la collaboration et intégrant plusieurs cycles. Il s’agit principalement d’augmenter la productivité des développeurs pour accélérer le « time to market ». Les préoccupations sécuritaires ont complété la méthodologie qui s’appelle désormais DevSecOps.

Toutefois, des méthodologies telles que DevSecOps ne peuvent pas résoudre tous les problèmes. Le développement passe par diverses phases, mais la détection efficace des bugs, la fiabilité, les rapports précis et les solutions conviviales font toujours défaut. Il n’est pas rare que les outils existants déclenchent de fausses alarmes ou n’en déclenchent pas du tout face à des menaces.

Malgré le volontarisme du marché, les progrès sont lents vers une solution pratique qui pourrait résoudre ces problèmes. Ceci alors même que le SI des entreprises, la pile technologique comme on l’appelle, poursuit son évolution vers plus de cloud et des infrastructures, applicatives et matérielles, distribuées. Les processus de développement de logiciels doivent évoluer à leur tour vers plus d’automatisation et de sécurité. Dans ce contexte, CloudBees considère que la recette du succès repose sur une approche inclusive, qui combine les personnes, les processus et les technologies.  

Combiner l’humain, les processus et la technologie

L’intelligence humaine est le cœur du savoir-faire des entreprises et la clé de la réussite du développement et de la livraison de logiciels. D’où l’importance de permettre aux clients de constituer des équipes et de leur donner les moyens de collaborer efficacement. Par exemple, par la formation et la mise à disposition de ressources pour les aider à constituer des équipes performantes et à maintenir et augmenter leurs compétences. Le but est de constituer des équipes performantes en créant une culture de l'apprentissage et de l'amélioration continus.

Les organisations doivent par ailleurs mettre en place des processus efficaces afin de mettre plus de fluidité dans les cycles de développement et de livraison. Il s’agit de proposer une variété de solutions qui aident les organisations à automatiser et à rationaliser leurs processus de développement et de livraison de logiciels. Par exemple, des outils pour l'intégration et la livraison continues (CI/CD), les tests continus et l'orchestration des versions d'applications.

Enfin, les technologies sont synonymes d’ouverture vers un monde distribué et de capacités d’automatisation avancées grâce à l’intelligence artificielle. Pour CloudBees, il s’agit de proposer une large gamme de solutions basées sur des technologies open source, telles que Jenkins, Kubernetes et Docker. Quant à l’IA, elle peut être utilisée pour automatiser et améliorer les processus de sécurité, identifier les vulnérabilités plus rapidement et plus facilement, et aider les équipes à prendre des décisions plus éclairées.  

L’IA est la prochaine vague d’innovation dans le DevSecOps

DevSecOps est l'évolution de DevOps et l'IA joue un rôle essentiel pour impulser une innovation supplémentaire. Elle peut contribuer à accélérer les opérations, à améliorer la qualité du code et à renforcer les mesures de sécurité. Dans cette vision du futur, l’IA ne se contente pas d’exécuter des tâches, mais elle amplifie les potentialités des équipes humaines de développement, de sécurité et d’exploitation. Ceci, grâce à ses capacités supérieures à celle de l’humain dans certains domaines. En prenant en charge les tâches répétitives et banales, elle permet aux professionnels du DevSecOps de se concentrer sur des activités plus complexes et à plus forte valeur ajoutée.

En outre, l’IA peut accélérer les opérations en analysant rapidement de vastes ensembles de données, en repérant les anomalies et en appliquant des changements automatiquement (autoréparation), et en temps réel, ce qui améliore l’efficacité et la sécurité. Par essence, l’IA augmente l’élément humain dans DevSecOps, rendant les équipes plus productives, plus agiles et plus perspicaces. En outre, grâce à la capacité de l’IA à détecter et éventuellement à corriger les anomalies, les équipes sont également plus proactives.  

Avec l’IA, ce sont les métiers qui sont le facteur de ralentissement

Par exemple, CI/CD est un ensemble de pratiques qui automatisent le processus de développement et de livraison de logiciels. Cela permet aux organisations de publier de nouvelles fonctionnalités logicielles plus fréquemment et de manière plus fiable. Dans cette perspective d’accélération des itérations, l’IA joue un rôle croissant en automatisant des tâches telles que les tests de code, l’analyse de la sécurité et le provisionnement de l’infrastructure.

En repérant les anomalies et en appliquant des changements automatiquement (autoréparation) en temps réel. L’efficacité et la sécurité s’en trouvent renforcées. En outre, elle peut accélérer les opérations à différents stades de DevSecOps, tels que l’automatisation des modifications de code au stade de la conception, la fourniture de recommandations prédictives de code au stade du codage et de la construction, et l’utilisation d’outils d’analyse pour une détection nuancée et une remédiation automatique au stade de l’analyse, du test et de l’examen.

Dans ce schéma, basé sur l’IA, la phase de développement n’est plus perçue comme le goulet d’étranglement. Comme le constatent déjà les primo adoptants, ce sont les métiers qui sont le facteur de ralentissement.  

Nos conseils pour bien débuter

Pour les entreprises qui commencent tout juste à explorer la convergence entre DevSecOps et IA, les conseils suivants vous aideront à éviter les pièges les plus courants.  

1 - Commencez par des objectifs clairs

Avant de vous lancer, identifiez vos challenges et vos objectifs. Qu’il s’agisse d’accélérer les cycles de déploiement, d’améliorer la qualité du code ou de renforcer les mesures de sécurité, des objectifs clairs vous permettront d’orienter efficacement l’intégration de l’IA.  

2 - Commencez petit et répétez

Au lieu de procéder à une transformation radicale, choisissez un processus DevSecOps spécifique qui pourrait bénéficier de l’IA. Lancez un projet pilote, recueillez des informations, tirez-en les leçons puis étendez le projet à d’autres processus.  

3 - Formez et améliorez les compétences

Donnez à votre équipe les connaissances de base sur l’IA et sa pertinence dans le cadre du DevSecOps. Investir dans la formation peut s’avérer inestimable dans la durée.  

4 - Gouvernance et politique

Établissez des structures de gouvernance solides pour superviser l’intégration de l’IA dans vos processus DevSecOps. Créez des politiques claires qui dictent la manière dont les outils d’IA sont utilisés, en veillant à ce qu’elles soient conformes aux normes de l’entreprise et aux réglementations applicables au secteur.  

5 - Surveillance et ajustements

Évaluez en permanence l’influence de l’IA. Suivez les mesures et recueillez des commentaires pour affiner votre approche et vous assurer qu’elle reste alignée sur vos objectifs.  

6 - Veille et formation continue

Le domaine de l’IA progresse rapidement. Explorez constamment les nouveaux outils, les méthodologies et les meilleures pratiques de l’IA appliquée au domaine DevSecOps, afin d’optimiser les avantages et d’anticiper les évolutions et les défis à venir.

Interview de Drew Piland - Senior Product Marketing Manager - CloudBees