L’IDP n’est pas un simple outil : c’est un ensemble de capacités qui fonctionnent ensemble pour répondre à des besoins précis des développeurs et offrir une expérience développeur plus fluide. Les implémentations varient, mais voici les composants les plus courants.
Portail développeurs : souvent appelé portail interne pour développeurs, ou « Developer portal », il constitue l’interface principale avec laquelle les développeurs interagissent. Souvent conçu à l’aide d’outils open source comme Backstage, il fournit un tableau de bord central, un catalogue de services, de la documentation, des modèles, des plugins et des workflows. C’est le panneau de pilotage en libre-service de la plateforme pour les développeurs.
Catalogue de services : le catalogue de services est un inventaire structuré de tous les services, systèmes et ressources. Il définit les responsabilités, les dépendances et d’autres métadonnées, afin que chacun sache qui est responsable de quoi et comment les services interagissent entre eux.
Scaffolding et modèles : il s’agit de blueprints prédéfinis pour créer de nouveaux services, qui permettent aux utilisateurs de créer rapidement des référentiels GitHub, de configurer des pipelines CI/CD, d’appliquer des configurations standard, d’intégrer la journalisation et le monitoring, et plus encore. Les pipelines sont préconfigurés et réutilisables, avec les bonnes pratiques déjà intégrées, ce qui évite aux développeurs de les concevoir de zéro.
Provisionnement de l’infrastructure : cette couche prend en charge la création et la gestion des environnements, des ressources et des workloads applicatifs dans des architectures hybrides ou multicloud, auprès de différents fournisseurs cloud, souvent en s’appuyant sur les principes GitOps pour automatiser les opérations.
Gestion des environnements : dans de nombreuses entreprises, les environnements de développement, de staging et de production finissent par diverger au fil du temps en raison d’écarts de configuration, de dépendances incompatibles et de données incohérentes. Une IDP y remédie en favorisant l’homogénéité des environnements, en levant les ambiguïtés et en rendant les environnements plus prévisibles.
Observabilité : la visibilité sur le comportement du système est prévue par défaut, avec des informations en temps réel telles que les logs, les métriques et les traces.
Gestion des secrets et des configurations : les clés d’API, les identifiants et les variables d’environnement sont gérés de manière sécurisée, afin d’éviter que les secrets soient codés en dur et de garantir un accès contrôlé et auditable.
Gouvernance : les politiques de sécurité et de conformité sont appliquées automatiquement, tandis que des contrôles de gouvernance comme les scorecards et le contrôle d’accès basé sur les rôles (RBAC) définissent qui peut déployer, qui peut accéder à quoi et comment les workflows sont approuvés.
Documentation : au lieu d’être dispersée, la documentation est rattachée aux services et peut être retrouvée via le portail.