L’ingénierie de plateforme est devenue une discipline fondamentale dans les entreprises axées sur les données, mais un acronyme continue de semer la confusion. IDP désigne deux termes différents : la plateforme interne de développement et le developer portal interne. Les deux concepts sont liés, mais ils ne sont pas identiques, et les confondre pourrait conduire une entreprise à mettre en place des expériences développeur incomplètes ou à ne pas soutenir adéquatement la livraison de logiciels modernes.
Une plateforme interne de développement (IDP) est un ensemble centralisé d’outils, de services et de workflows internes qu’une entreprise met en place pour aider les développeurs à créer, déployer et exploiter des logiciels plus facilement, sans avoir à gérer eux‑mêmes toute l’infrastructure sous-jacente.
Un portail développeur interne(également désigné par l’acronyme IDP, source de confusion) est une interface qui permet aux ingénieurs de découvrir et d’accéder aux outils, aux workflows, aux API, à la documentation et aux intégrations dont ils ont besoin pour développer et maintenir des logiciels. Le portail centralise les processus de développement et les connaissances institutionnelles d’une entreprise, afin que les développeurs puissent travailler efficacement selon un modèle en libre‑service.
Ces deux concepts sont souvent confondus simplement parce qu’ils partagent le même acronyme et qu’ils concernent tous deux l’habilitation des développeurs.
Les environnements de livraison de logiciels modernes sont de plus en plus complexes. Les développeurs doivent naviguer entre les clusters Kubernetes, les pipelines CI/CD, l’infrastructure cloud, les outils d’observabilité, les référentiels d’infrastructure en tant que code (IaC), les exigences de conformité, etc. À mesure que les entreprises se développent, le nombre de services internes et de dépendances tout au long du cycle de vie du développement logiciel (SDLC) augmente. Cela est particulièrement vrai pour les entreprises qui exploitent des architectures de microservices distribuées sur plusieurs fournisseurs de cloud.
L’ingénierie de plateforme est née en réponse à cette complexité, dans le prolongement d’initiatives DevOps plus larges. Plutôt que d’imposer à chaque équipe de développement de devenir experte en infrastructure et en opérations, les entreprises mettent en place des équipes de plateforme centralisées, chargées de créer des systèmes réutilisables et des parcours de référence qui masquent la complexité des tâches opérationnelles répétitives. L’objectif est de réduire la charge cognitive des développeurs et de favoriser le libre‑service, afin qu’ils puissent se concentrer sur la création et la livraison de logiciels.
Cette tendance a donné naissance à deux couches distinctes mais interconnectées : la plateforme de développement interne et le developer portal interne.
Restez au fait des tendances les plus étonnantes du secteur dans le domaine de l’IA, de l’automatisation, des données et bien d’autres avec la newsletter Think. Consultez la Déclaration de confidentialité d’IBM.
La plateforme est l’épine dorsale opérationnelle qui permet la distribution de logiciels standardisés et en libre‑service pour les développeurs. Toutes les technologies et tous les outils permettent d’atteindre ces objectifs. Elle intègre généralement les composants suivants :
Automatisation de l’infrastructure (comme Terraform)
Pipelines CI/CD
Abstractions de Kubernetes
Contrôles des identités et des accès
Systèmes de provisionnement d’environnements
Garde‑fous de sécurité
Modèles d’infrastructure en tant que code
Orchestration cloud native
Intégrations GitHub
Observabilité en temps réel
Systèmes d’application des politiques
La force de la plateforme est l’absence d’interactions directes des développeurs avec la plupart de ces systèmes. La plateforme prend en charge les tâches complexes liées à la livraison de logiciels. Elle est généralement gérée par une équipe d’ingénierie de plateforme dédiée. Son objectif est d’exposer les workflows et les modèles d’infrastructure approuvés dans un format réutilisable, évolutif et sécurisé.
Le portail est l’interface utilisateur qui permet aux développeurs de découvrir les fonctionnalités de la plateforme et d’interagir avec elles. Il s’apparente à un tableau de bord pour l’écosystème d’ingénierie. Il intègre généralement ces composants :
Catalogues de services
Centres de documentation
Découverte d’API
Formulaires de demande d’infrastructure
Tableaux de bord de déploiement
Métadonnées de propriété
Tableaux de bord et diagnostics d’intégrité
Modèles
Workflows en libre‑service
Liens vers les outils opérationnels
Ces composants sont souvent unifiés via la technologie open source dénommée Backstage, un cadre des exigences de portail frontend apprécié pour son extensibilité. Il ne s’agit pas d’une plateforme complète : les entreprises ont toujours besoin d’automatisation, d’orchestration et d’outils d’infrastructure backend pour fournir des capacités en libre‑service.
Le portail centralise l’accès aux ressources d’ingénierie qui seraient sinon dispersées entre des dizaines de systèmes. Il n’exécute pas les workflows ; il fournit simplement une interface conviviale qui permet de les déclencher ailleurs sur la plateforme, laquelle assure la fonctionnalité opérationnelles effective.
Une plateforme de développement interne peut exister sans portail. Les développeurs peuvent interagir directement via des interfaces de ligne de commande, des API, des workflows GitOps ou des référentiels d’infrastructure. De même, un portail peut exister sans une plateforme sophistiquée sous‑jacente. Dans ce cas, le portail n’est guère plus qu’un catalogue de services ou une couche de documentation.
Les petites équipes d’ingénierie peuvent tirer un avantage considérable d’un portail léger, ne serait‑ce que pour centraliser la documentation, les métadonnées, les API et la découverte de services. Un tel portail limité, servant de source d’information unique, permet d’obtenir des résultats rapides en consolidant les connaissances opérationnelles, bien que cela nécessite une gouvernance solide.
L’entreprise mature axée sur les données comptant des centaines ou des milliers de développeurs a besoin à la fois d’un portail et d’une plateforme. Ensemble, ces systèmes créent une expérience plus conviviale pour les ingénieurs qui, sinon, devraient naviguer manuellement entre des chaînes d’outils et des workflows fragmentés.
En pratique, de nombreuses entreprises entament leur parcours d’ingénierie de plateforme en mettant en œuvre un portail comme Backstage, car l’interface visuelle crée de la visibilité et une dynamique organisationnelle.
La plateforme devient essentielle pour des cas d’utilisation tels que :le provisionnement d’infrastructure en libre‑service
Workflows de déploiement standardisés
Orchestration multicloud
Les parcours de référence sécurisés
Application des politiques
Gouvernance des coûts
L’automatisation de l’environnement
Infrastructure Gestion du cycle de vie
Expériences de développement cohérentes pour les différentes équipes
Sans la standardisation fournie par les plateformes, la productivité des développeurs en pâtirait, car ceux‑ci devraient se charger de tâches annexes interrompant leurs workflows essentiels. Cette standardisation facilite également l’intégration.
Ensemble, le portail et la plateforme proposent un libre‑service, ce qui signifie que les développeurs peuvent découvrir des ressources de manière indépendante et à la demande via le portail, et qu’ils peuvent exécuter des tâches opérationnelles via la plateforme.
L’IA est en train de remodeler ces deux composants. Au sein de la plateforme, l’IA peut automatiser des tâches opérationnelles telles que le provisionnement d’infrastructure, l’optimisation CI/CD, l’application des politiques, l’analyse des incidents et la gestion des coûts, entre autres tâches opérationnelles.
Dans le portail, l’IA améliore la découverte et la convivialité. Les développeurs peuvent utiliser des requêtes en langage naturel pour localiser les API, la documentation, les modèles, les informations de propriété et les workflows opérationnels sans avoir à naviguer manuellement entre plusieurs systèmes. Un assistant IA comme IBM Bob peut guider l’intégration, répondre aux questions sur les outils internes et recommander des parcours de référence approuvés fondés sur les normes de l’entreprise.
Avec l’IA, le libre‑service n’a jamais été aussi efficace, et l’application de l’IA aux portails et aux plateformes permet aux développeurs de se concentrer sur leurs responsabilités essentielles.
Accélérez la livraison de logiciels grâce à Bob, votre partenaire IA pour un développement sécurisé et sensible aux intentions.
Optimisez les initiatives de développement logiciel à l’aide d’outils fiables pilotés par l’IA qui minimisent le temps consacré à l’écriture de code, au débogage, à la refactorisation ou à la complétion du code et laissent plus de place à l’innovation.
Réinventez les workflows et les opérations critiques en ajoutant l’IA pour optimiser les expériences, la prise de décision et la valeur métier en temps réel.