Une plateforme de développement interne, qu'est-ce que c'est ?

Copier l'URL

Une plateforme de développement interne est constituée d'un ensemble standardisé d'outils et de technologies en libre-service qui permettent aux équipes de développement de rédiger et déployer du code. Son objectif est de faciliter la gestion des tâches, de renforcer l'efficacité et de favoriser la collaboration au quotidien au sein des équipes de développement, en unifiant et en simplifiant le processus de développement.

Remarque : la pile technologique d'une entreprise peut inclure un portail de développement interne. Celui-ci permet aux équipes de développement d'accéder à l'ensemble de la plateforme d'applications, comprenant une plateforme de développement interne et un système de conteneurs. Chez Red Hat, nous proposons la solution Red Hat® Developer Hub comme portail de développement interne adapté aux entreprises, qui permet d'accéder à l'ensemble de la plateforme comprenant Red Hat® OpenShift® Platform Plus et Red Hat® Ansible® Automation Platform.  

En savoir plus sur l'expérience de développement

Les équipes de développement d'applications sont les principaux utilisateurs des plateformes de développement internes, tandis que les équipes d'ingénierie de plateforme se chargent de la configuration initiale et de la maintenance. Pour les équipes d'ingénierie de plateforme, une plateforme de développement interne peut être considérée comme un produit intégré dont le but est de fournir aux développeurs les outils dont ils ont besoin pour rendre une application opérationnelle tout au long de son cycle de vie.

L'architecture des plateformes de développement internes peut être divisée en plusieurs couches fonctionnelles spécifiques, ou plans :

  • Plan de contrôle du développement : principal point d'interaction pour les utilisateurs. Cette couche comprend le portail de développement, les catalogues de composants logiciels, les interfaces d'utilisation et les interfaces en ligne de commande. 
  • Plan d'intégration et de distribution : moteur de configuration. Il s'articule souvent autour d'un orchestrateur de plateforme. Il reçoit les intentions de développement issus du plan de contrôle et les transforme en workflows automatisés pour créer, stocker, configurer et déployer des applications.
  • Plan de ressources : infrastructure de base standardisée et environnements d'exécution nécessaires pour héberger les applications, y compris les ressources d'orchestration des conteneurs, de calcul, de stockage et de mise en réseau.
  • Plans de sécurité et d'observabilité : couche qui couvre l'ensemble de la plateforme pour protéger les informations sensibles, gérer les secrets, appliquer le contrôle d'accès basé sur les rôles et fournir en temps réel des indicateurs de mesure de la surveillance et de la journalisation pour les applications et l'infrastructure.

Même si chaque entreprise a une infrastructure unique, toute plateforme de développement interne s'appuie sur un ensemble de composants essentiels qui fonctionnent ensemble pour créer un parcours rationalisé, sécurisé et efficace du développement à la production. Ces éléments de base forment une architecture qui sépare les interfaces d'utilisation de la plateforme des systèmes back-end automatisés.

Principes de l'architecture

Au-delà de ses couches fonctionnelles, une architecture de développement interne efficace repose sur des principes de base qui doivent favoriser la productivité des équipes de développement, alléger la charge cognitive et permettre l'évolution de l'entreprise :

  • Extensibilité et intégration : une plateforme de développement interne d'entreprise permet de connecter des outils formant souvent une chaîne fragmentée. L'un des principes architecturaux essentiels de ce type de plateforme est sa capacité d'extensibilité et d'intégration facilitée des pipelines de CI/CD existants, des outils DevSecOps et de gestion des vulnérabilités, des systèmes de suivi des problèmes et des ressources cloud.
  • Modèles de référence : les équipes de développement peuvent avoir recours à des modèles de référence, qui reposent sur des schémas préconfigurés et conformes aux meilleures pratiques. Ces modèles de référence peuvent provisionner automatiquement du code générique, des fichiers d'infrastructure en tant que code et des mesures de sécurité intégrées, ce qui permet d'éliminer les goulets d'étranglement tout en appliquant la standardisation à l'échelle de l'entreprise.

Les plateformes de développement internes peuvent aider à résoudre de nombreux problèmes, notamment au niveau de la standardisation du développement, de la productivité des équipes de développement, de la collaboration, de l'intégration de nouveaux membres, du libre-service, de l'évolutivité et de la gouvernance. 

Les entreprises qui comptent plusieurs équipes de développement peinent souvent à relever leurs multiples défis : assurer le respect des normes de sécurité et de conformité, résoudre les conflits de priorités, gérer un ensemble varié d'outils et de technologies ainsi qu'adopter les meilleures pratiques. 

  • Standardisation : toutes les équipes disposent d'un ensemble standardisé d'outils et de services, ce qui réduit le risque d'incohérences et d'erreurs.
  • Productivité : la plateforme facilite l'automatisation du paramétrage et de la gestion des environnements de développement, de la configuration des pipelines de versions et du déploiement des applications. Les équipes de développement peuvent ainsi se concentrer sur la rédaction du code et la distribution rapide des fonctions.
  • Collaboration : sur la base d'une plateforme commune, les équipes de développement peuvent travailler ensemble ainsi qu'avec les équipes d'exploitation et de sécurité, avec à la clé une amélioration de la communication et de la collaboration.
  • Intégration et libre-service : la plateforme améliore l'expérience des débutants et réduit le temps qu'il leur faut pour devenir productifs et créer de la valeur à l'aide des outils appropriés.
  • Évolutivité : évolutive et capable de suivre la croissance de l'entreprise, la plateforme permet aux nouvelles équipes de s'intégrer rapidement, en plus de garantir à toutes les équipes l'accès aux mêmes outils et services.
  • Gouvernance : la plateforme établit un cadre qui apporte de la flexibilité aux entreprises et qui facilite l'adoption des meilleures pratiques respectant les exigences de sécurité et de conformité. Elles peuvent ainsi surveiller et gérer efficacement les environnements de développement.

Les outils d'ingénierie de plateforme, qu'est-ce que c'est ?

La mise en place d'une plateforme de développement interne peut aider les équipes à adopter durablement une culture DevOps. Le DevOps est une approche de la culture, de l'automatisation et de la conception des plateformes qui vise à promouvoir une meilleure relation de travail entre les équipes de développement et d'exploitation, pour augmenter la vitesse et la fréquence de distribution des applications logicielles et des fonctions associées. 

En savoir plus sur le lien entre l'ingénierie de plateforme et le DevOps

En association avec Red Hat Developer Hub, Red Hat® OpenShift® offre aux équipes d'ingénierie de plateforme les outils nécessaires pour créer et gérer efficacement des plateformes de développement internes, ainsi que pour créer les modèles de projet, la documentation et les workflows permettant l'élaboration de modèles de référence. 

Découvrir Red Hat OpenShift pour l'ingénierie de plateforme

Voici ce que nous proposons.

Solutions sécurisées et conformes : Red Hat Developer Hub regroupe des outils et composants vérifiés et sélectionnés avec soin pour favoriser la collaboration entre les équipes d'exploitation et de développement, au sein d'un environnement centralisé et cohérent. Ces outils permettent d'augmenter la productivité, d'éliminer des obstacles et de simplifier la gouvernance grâce à des fonctions en libre-service et à des mesures de sécurité.

Meilleure expérience de développement : nous faisons bénéficier nos clients de l'expertise et de l'expérience de notre écosystème de partenaires et de projets Open Source.

Autogestion et maintenance : nous donnons accès à une gamme d'outils de développement courants qui facilitent la création de services et d'applications cloud-native, tout en améliorant la productivité des équipes.

Prise en charge de correctifs de bogues essentiels et de nouvelles fonctions : Red Hat Developer Hub centralise l'accès aux versions récentes des fonctions, architectures système et documentations sur les applications, pour garantir leur disponibilité continue.

Intégration simplifiée : de nouveaux outils et services pré-intégrés (via l'offre Red Hat Plug-ins for Backstage) améliorent l'extensibilité et l'évolutivité, et offrent une expérience unique et cohérente qui rassemble les outils d'infrastructure, les ressources, les normes, les propriétaires, les contributeurs et les administrateurs.

Vidéo sur le rôle des équipes d'ingénierie de plateforme (durée : 2 min 31 s)

Ressource

État de l'ingénierie de plateforme à l'ère de l'IA

Cette présentation détaillée offre une analyse complète de l'enquête « État de l'ingénierie de plateforme à l'ère de l'IA », menée par Illuminas. Découvrez la présentation détaillée.

Red Hat Advanced Developer Suite

Gamme de solutions qui aide les spécialistes de l'ingénierie de plateforme à améliorer la productivité des équipes de développement et la sécurité des applications.

En savoir plus

Un modèle de référence pour le développement logiciel, qu'est-ce que c'est ?

Cet article présente les modèles de référence, des méthodes strictes, documentées et recommandées pour développer et déployer des logiciels au sein d'une entreprise.

Les outils d'ingénierie de plateforme, qu'est-ce que c'est ?

Les outils d'ingénierie de plateforme sont des ressources utilisées en libre-service par les équipes de développement pour renforcer leur productivité.

Ingénierie de plateforme et DevOps

Cet article explique les différences entre l'ingénierie de plateforme et le DevOps pour identifier l'approche qui permettra à une entreprise d'atteindre ses objectifs.

Platform engineering : ressources recommandées