Skip to main content

Tirer les leçons de la transformation vers le cloud à l’heure de l’IA

Écrit par

21 mai 2024

0 minutes de lecture

Les équipes de développement de toutes tailles sont séduites par les possibilités qu’offrent les outils d’IA pour créer des logiciels. Les assistants de codage comme Google Gemini et GitHub Copilot peuvent accélérer le développement comme jamais, et les développeurs les adoptent, que la direction les ait officiellement approuvés ou non.

Alors que votre équipe réfléchit aux meilleures façons d’adopter cette nouvelle technologie, cette transition peut vous donner une impression de déjà-vu. Les promesses de l’IA (nouveaux gains de vitesse, innovation, etc.) rappellent sans doute une autre transformation numérique vécue il y a une dizaine d’années : l’arrivée du cloud.

La transformation vers le cloud a profondément changé le développement logiciel, obligeant les équipes à repenser leurs processus et à accélérer leur rythme face à des technologies émergentes comme l’infrastructure as code (IaC) et les conteneurs.

De la même manière, les technologies d’IA vont changer notre façon de créer des logiciels. Les développeurs peuvent utiliser l’IA pour générer du code en une fraction du temps qu’il leur faudrait pour l’écrire manuellement. La transformation vers le cloud avait déjà apporté les mêmes gains de vitesse et d’efficacité.

Mais beaucoup d’entre nous connaissent aussi les difficultés liées à ce type de changement technologique, comme les nouveaux risques de sécurité et le manque de clarté quant aux responsabilités. L’IA peut représenter un grand bond en avant pour certaines entreprises, mais elle n’est pas si différente des autres transformations que nous avons déjà vécues. Les leçons tirées du passage au cloud il y a dix ans peuvent tout à fait s’appliquer aux changements induits aujourd’hui par les nouvelles technologies d’IA.

Les leçons tirées de la transformation vers le cloud

Pour de nombreuses entreprises, la transformation vers le cloud a mis en lumière des problèmes déjà présents. Les transmissions inefficaces entre équipes ou les outils obsolètes pouvaient passer inaperçus dans un environnement sur site. Mais ces inefficacités sont devenues impossibles à ignorer une fois le passage au cloud effectué. Les entreprises ont vite compris qu’elles devaient évoluer dans trois domaines.

Adopter les outils DevOps

En adoptant une approche DevOps dans le cloud, les entreprises ont vite constaté que bon nombre de leurs outils existants, conçus pour les environnements sur site, ne suffisaient plus. Les équipes de sécurité, en particulier, devaient passer à des outils capables de suivre le rythme rapide des changements propres à une approche DevOps itérative. Faute de quoi, elles risquaient de frustrer les développeurs et de nuire à l’efficacité de l’entreprise.

Pour s’adapter à ce nouveau rythme, les entreprises se sont tournées vers le DevSecOps, en intégrant les tests de sécurité tout au long du cycle de développement logiciel, plutôt que d’attendre la fin du processus. La transition vers le DevSecOps a amené les équipes à abandonner les outils traditionnels au profit d’outils cloud spécialement conçus à cet effet. Ces outils doivent permettre des tests rapides, s’intégrer aux processus agiles comme le CI/CD et fonctionner parfaitement avec les éléments propres au cloud, tels que les conteneurs et le code open source.

Leçon à retenir : pour réussir une transformation numérique, adoptez des outils conçus spécifiquement pour les nouvelles technologies et capables de s’intégrer naturellement aux workflows agiles. 

Les nouvelles technologies d’IA exigent elles aussi une stack technologique adaptée. Les équipes doivent choisir leurs outils en fonction de leur compatibilité avec les solutions d’IA modernes. Ces outils doivent également être conçus pour répondre aux spécificités du code généré par l’IA, avec notamment des fonctionnalités permettant de distinguer le code généré par l’IA de celui écrit par des humains.

Encourager le partage des responsabilités

La migration vers le cloud a également transformé la façon dont les entreprises partagent les responsabilités. Par exemple, l’infrastructure informatique est passée de structures physiques gérées par l’équipe IT à l’infrastructure as code (IaC), que les équipes de développement doivent désormais provisionner. Elles ont également dû assumer la responsabilité de la sécurité tout au long du cycle de vie logiciel, en analysant leur code et en corrigeant les problèmes.

Pour favoriser le partage des responsabilités dans les différents aspects du SDLC, les entreprises ont commencé à mettre en place des centres d’excellence cloud et des programmes de Security Champions. Ces programmes de formation ont permis aux équipes de collaborer pour créer des applications sécurisées et de haute qualité dans un environnement cloud.

Leçon à retenir : pour réussir une transformation numérique, déployez des programmes de formation et des centres d’excellence afin de diffuser les bonnes pratiques dans toute l’entreprise. 

Pour adopter l’IA sans compromettre la sécurité ni la qualité, les équipes d’aujourd’hui doivent également envisager des programmes de formation axés sur les bonnes pratiques en matière d’IA, voire la création d’un centre d’excellence dédié à l’IA.

Créer des processus intégrés

En passant d’un modèle en cascade à une approche DevSecOps, les équipes ont dû combler les lacunes de leurs processus, notamment en intégrant les tests de sécurité aux workflows de développement. Les transitions entre les étapes du développement devaient être fluides et limiter au maximum les changements de contexte. Les équipes ont ainsi commencé à utiliser des outils et des processus de sécurité intégrés aux outils de développement courants, comme ceux du CI/CD, les dépôts et les interfaces CLI. Ces intégrations fluides ont favorisé une approche plus complète, permettant aux équipes de tirer pleinement parti du cloud pour gagner en rapidité et en capacité de collaboration.

Leçon à retenir : pour réussir une transformation numérique, comblez les lacunes des processus en limitant les changements de contexte et en intégrant la sécurité aux workflows existants des développeurs. 

Utiliser l’IA en toute sécurité nécessite également des processus intégrés, comme la mise en place d’un compagnon de sécurité qui s’insère dans les workflows GenAI existants. Si les développeurs doivent effectuer trop d’étapes supplémentaires pour sécuriser le code généré par l’IA, l’objectif initial — gagner en rapidité grâce à l’IA — est compromis.

S’adapter à la vitesse de l’IA

L’IA fait exactement ce que le cloud a fait il y a dix ans : elle décuple la capacité des entreprises à créer des applications plus rapidement et efficacement. Mais comme lors de la migration vers le cloud, les entreprises doivent prendre des mesures réfléchies pour s’adapter à ces changements en douceur et en toute sécurité.

Snyk a récemment annoncé une collaboration unique avec Gemini Code Assist pour accompagner les entreprises dans leur transition vers le développement assisté par l’IA. Ce partenariat intègre les fonctionnalités de Snyk Code aux workflows existants des équipes de développement qui utilisent Gemini. Les développeurs peuvent ainsi analyser en quelques secondes le code généré par l’IA et l’évaluer dans le contexte du reste de l’application. Ils reçoivent ensuite des suggestions de correction détaillées directement dans leur IDE. En détectant et en corrigeant les vulnérabilités de leur code généré par l’IA dès qu’ils le valident, les développeurs peuvent continuer à profiter de la rapidité offerte par l’IA sans compromettre la sécurité.

En savoir plus sur notre partenariat avec Gemini Code Assist.

Publié dans: