L'ingénierie de plateforme regroupe les bonnes pratiques et les composants nécessaires aux équipes de développement. Elle gagne en importance à mesure que les pratiques et frameworks DevSecOps sont de plus en plus intégrés au sein des entreprises. En normalisant et en optimisant les workflows des développeurs, elle crée des « golden paths » optimisés pour les tâches courantes tout en offrant la flexibilité nécessaire pour les charges de travail plus uniques et spécialisées.
Selon un rapport Gartner®, « 80 % des grandes entreprises d'ingénierie logicielle disposeront d'équipes d'ingénierie de plateforme d'ici 2026, contre 45 % en 2022. Ces équipes agiront comme des fournisseurs internes de services, de composants et d'outils réutilisables pour la livraison d'applications » [1]. Cette approche stratégique permet aux entreprises, en particulier aux plus grandes, de faire évoluer leurs pratiques DevSecOps de manière efficace et rentable, un avantage essentiel à l'heure où les entreprises sont de plus en plus contraintes d'en faire plus avec moins de moyens.
Principaux avantages de l'ingénierie de plateforme
Accélération de la mise sur le marché : l'ingénierie de plateforme offre aux entreprises la possibilité de livrer des logiciels de meilleure qualité, plus rapidement et à moindre coût. Au fil du temps, cela se traduit par une innovation plus rapide, une réduction des coûts liés aux outils et d'importantes économies à long terme.
Amélioration de la sécurité et de la conformité : utiliser moins d'outils et des workflows plus cohérents aide les entreprises à réduire les risques de conformité et à minimiser la surface d'attaque. Selon le rapport IBM sur le coût d'une violation de données, le coût moyen mondial d'une violation de données en 2023 pouvait atteindre 4,45 millions de dollars. Une ingénierie de plateforme efficace peut améliorer considérablement les temps de réponse en matière de sécurité et minimiser l'impact des incidents de sécurité.
Amélioration de l'expérience développeur : la DevEx est une priorité croissante, les entreprise s'efforçant d'attirer et de retenir les meilleurs talents. L'ingénierie de plateforme améliore cette expérience en automatisant les workflows, en créant des golden paths et en supprimant les tâches répétitives de la charge de travail des développeurs. Un tel processus simplifie leur quotidien et leur permet de compiler, tester et déployer efficacement des applications, tout en se concentrant sur des activités à forte valeur ajoutée.
Bonnes pratiques de l'ingénierie de plateforme
Instaurez une culture axée sur le produit
Le concept de « plateforme » décrit ce qu'il faut construire, l'« ingénierie » renvoie aux processus pour concevoir et mettre en œuvre la plateforme. Trop d'entreprises se précipitent pour acheter et installer des technologies sans tenir compte de l'évolution nécessaire de leur culture en interne pour garantir le succès de cette adoption.
Les équipes d'ingénierie de plateforme doivent se considérer comme des « product owners », les développeurs étant leurs clients. Elles doivent étudier les besoins des développeurs, puis contacter les utilisateurs finaux afin de les aider à tirer parti des ressources disponibles. Cela nécessite des compétences internes en marketing, communication et service clientèle, souvent insuffisantes au sein des équipes techniques.
Il s'agit de favoriser un état d'esprit et une culture axés sur le produit. Les équipes d'ingénierie de plateforme doivent se concentrer sur la création de valeur pour les utilisateurs finaux (développeurs), recueillir continuellement leurs retours d'expérience et construire une plateforme qui évolue en fonction de leurs besoins. Les dirigeants doivent créer un environnement qui permet aux équipes d'ingénierie de plateforme de traiter les développeurs comme des clients (internes) qu'il faut aider. Leur priorité consiste à faciliter au maximum l'adoption de leurs services, par le biais d'interfaces en libre-service ou d'API programmables.
La création de valeur commerciale avant tout
Lorsque les entreprises lancent une initiative d'ingénierie de plateforme, elles peuvent être tentées d'imiter les pratiques des équipes très productives. Cependant, l'accent est trop souvent mis sur la structure de l'équipe et sur les outils utilisés sans comprendre pourquoi ces équipes étaient initialement efficaces. Les dirigeants doivent d'abord se concentrer sur les résultats commerciaux qu'ils souhaitent obtenir, puis déterminer les outils et structures d'équipe adéquats pour atteindre ces objectifs.
Définissez l'objectif de votre pratique d'ingénierie de plateforme en termes d'impact commercial. Développer des logiciels plus rapidement est un bon point de départ, mais pourquoi est-ce nécessaire ? Quel est l'objectif commercial ?
Augmenter la rapidité et l'agilité, par exemple, est un objectif courant, mais cela peut viser d'autres objectifs commerciaux. Le lancement trop lent d'un nouveau produit peut vous faire passer à côté d'une demande du marché. Il faut alors faire des choix difficiles pour savoir quels produits privilégier. Les entreprises capables d'agir rapidement sont également mieux préparées à s'adapter aux évolutions du marché. En termes de sécurité, le défi majeur est d'être en mesure de réagir rapidement et efficacement en cas d'incident.
Les indicateurs de productivité et de réactivité sont utiles, mais les dirigeants doivent s'efforcer de les traduire en valeur monétaire pour clarifier l'impact de la plateforme sur les objectifs commerciaux. Par exemple, si une ingénierie de plateforme réussie permet de réduire le temps nécessaire à un nouveau développeur pour réaliser son premier projet de mise en production, l'entreprise économise alors un certain pourcentage de son salaire annuel. Elle économise également une partie du salaire de ses collègues qui l'aident à s'intégrer. Par ailleurs, elle est susceptible d'améliorer son taux de rétention et de réduire son besoin d'embauches coûteuses (publicité, recruteurs et longs cycles d'entretien).
Il est donc important pour les dirigeants de garder en tête la valeur commerciale lors de la mise en œuvre d'initiatives d'ingénierie de plateforme.
L'importance des indicateurs
Suivre les progrès de l'équipe d'ingénierie de plateforme et comprendre l'adoption (ou pas) des services par les développeurs est essentiel. Ces informations permettent d'identifier les domaines à améliorer et de promouvoir les efforts de marketing interne pour favoriser l'adoption de la plateforme.
Voici quelques indicateurs à prendre en compte :
-
Taux d'adoption : nombre de développeurs qui utilisent activement la plateforme.
-
Durée de création de valeur : le temps nécessaire à un nouveau développeur pour commencer à fournir du code sur la plateforme.
-
Engagement communautaire : pourcentage de composants au sein de la plateforme fourni par la communauté. (Par exemple, lorsqu'une équipe développe un nouveau job CI, si le script est bien conçu, il peut bénéficier à toute l'entreprise. Le partage-t-elle avec l'équipe d'ingénierie de plateforme pour favoriser son utilisation et centraliser sa gestion ?)
Construire pour la majorité
Bien que les premiers utilisateurs puissent fournir un retour d'information précieux, n'oubliez pas qu'ils ne représentent qu'une petite partie, généralement moins de 20 % du personnel de l'entreprise. Ils peuvent avoir des besoins très différents de ceux de la majorité des utilisateurs qui tireront pleinement parti de la plateforme. Lorsque vous définissez les golden paths appropriés pour votre entreprise, construisez pour la majorité, et pas seulement pour les utilisateurs précoces.
Un bon point de départ est de créer un pipeline CI/CD qui couvre chaque étape du développement logiciel et qui optimise des fonctionnalités spécifiques sur un ensemble de plateformes cibles (telles que Kubernetes). Une fois ce processus de base pris en charge, il constitue une base solide pour les autres processus, et la plateforme peut véritablement apporter de la valeur. Définissez les golden paths prioritaires de votre entreprise en fonction des résultats commerciaux qu'ils peuvent générer.
La plateforme DevSecOps : le socle de l'ingénierie de plateforme
Une plateforme DevSecOps fournit une interface utilisateur, un magasin de données unifié et une sécurité intégrée tout au long du cycle de vie DevSecOps. Elle offre aux entreprises la possibilité de d'initier l'ingénierie de plateforme avec des workflows en tant que service pour l'ensemble du processus de développement logiciel.
Voici les éléments essentiels d'une plateforme DevSecOps dans le cadre de l'ingénierie de plateforme :
-
Planification et collaboration : l'ingénierie de plateforme nécessite des processus fluides et transparents. Rassembler les équipes sur une seule plateforme facilite la communication et permet aux développeurs de s'aligner sur la stratégie et la portée de leur projet. Cela permet d'améliorer l'efficacité des étapes de planification, de compilation, de tests, de sécurisation, de déploiement et de surveillance du code.
-
Pipeline CI/CD et orchestration : l'orchestration est au cœur de l'ingénierie de plateforme. Une plateforme aide les développeurs à vérifier la qualité du code et à le mettre en production. Elle fournit également un mécanisme de génération de modèles qui permet de s'assurer que les bonnes pratiques sont intégrées et que chaque modification est soumise à un processus qualité cohérent.
-
Expérience développeur : la DevEx consiste à simplifier le quotidien des développeurs en automatisant les tâches manuelles et en éliminant les décisions inutiles. Avec une plateforme DevSecOps, l'ensemble du code est centralisé. Les développeurs ont tout à portée de main sans changement de contexte important. Offrir aux développeurs des modèles réutilisables et des fonctionnalités alimentées par l'IA, comme des suggestions et des explications de code, élimine une partie des problèmes techniques qu'ils peuvent rencontrer. Les nouvelles recrues, quant à elles, s'intègrent plus rapidement au sein de l'équipe de développement et créent de la valeur immédiatement.
-
Sécurité intégrée : avec une plateforme DevSecOps, le scanning de sécurité automatisé garantit que le code respecte une politique de référence et, par-dessus tout, que les développeurs disposent d'un accès en libre-service à ces données. Pas besoin d'attendre le déploiement en production pour finalement découvrir que l'équipe de sécurité a détecté une vulnérabilité critique.
-
Indicateurs et analyses : pour garantir le succès d'une initiative d'ingénierie de plateforme, il est essentiel que l'entreprise comprenne les objectifs commerciaux du projet. Et il est important de mettre en place des mécanismes pour évaluer si l’initiative d'ingénierie de plateforme progresse dans la bonne direction. Les tableaux de bord et les rapports d'analyse à chaque étape du cycle du développement logiciel permettent de suivre facilement les indicateurs clés, d'évaluer l'impact des améliorations apportées aux processus et d'éliminer les blocages rencontrés. Les dirigeants peuvent ainsi identifier rapidement les tendances et les goulots d'étranglement afin de concentrer leurs efforts sur les projets à risque.
Découvrez comment GitLab accélère le développement logiciel en offrant un portail en libre-service unique regroupant des outils et des workflows, qui permettent de réduire la charge cognitive des équipes DevSecOps et de rendre la livraison de logiciels plus évolutive.
[1] Gartner, 10 principales tendances technologiques stratégiques de Gartner pour l’année 2024, Bart Willemsen, Gary Olliffe et Arun Chandrasekaran, 16 octobre 2023. GARTNER est une marque déposée et une marque de service de Gartner Inc. et/ou de ses sociétés affiliées aux États-Unis et à l'étranger. Elle est utilisée ici avec autorisation. Tous droits réservés.
Rapport Global DevSecOps 2024
Découvrez les conclusions de notre enquête menée auprès de plus de 5 000 professionnels DevSecOps dans le monde entier et l'évolution des comportements à l'égard de la sécurité, de l'IA et de l'expérience développeur.