
En bref
|
Point clé : standardise le parcours du code jusqu’à la mise en production. Tout le reste relève d’une décision d’équipe, pas d’un problème de plateforme.
La plupart des problèmes de déploiement d’applications ne viennent pas d’une mauvaise ingénierie. Ils viennent d’un excès de variations.
Une équipe provisionne les environnements manuellement. Une autre conserve les notes de déploiement dans un wiki. Une troisième dispose d’une configuration de préproduction que seul un ingénieur comprend. Les revues de sécurité ont lieu tardivement car la plateforme ne met pas clairement en évidence la voie la plus sûre.
Le résultat est prévisible :
La dérive des environnements, c’est quand les environnements de développement, de préproduction et de production ne se comportent plus de la même manière. Le code peut être identique, mais les services, les données, la configuration, les autorisations ou les routes diffèrent suffisamment pour rendre les tests peu fiables.
La standardisation ne résout ce problème que lorsqu’elle cible la bonne couche. L’objectif est de standardiser le parcours entre le code et la production.
Point clé : le coût d’une plateforme interne, ce n’est pas sa mise en place. C’est le personnel permanent, la maintenance et le coût d’opportunité liés à sa mise à jour.
Construire une plateforme interne pour développeurs (IDP), une couche en libre-service qui dissimule la complexité de l’infrastructure aux développeurs d’applications, demande plus qu’un simple effort d’ingénierie initial. Ça nécessite une prise en charge continue.
Le vrai coût de la mise en place d’une IDP, c’est tout ce qui vient après : les correctifs de sécurité, les mises à jour des dépendances, la dette technique et l’intégration de nouveaux ingénieurs dans un système que seules trois personnes comprennent vraiment. Ce travail ne disparaît pas ; il augmente avec la plateforme.
Et voici le problème qui s’aggrave : la raison pour laquelle la plupart des équipes veulent une plateforme, c’est justement pour éviter que les développeurs passent du temps sur l’infrastructure au lieu de se consacrer au produit. Une plateforme interne n’élimine pas cette perte de temps. Elle la transfère de tes équipes d’application vers l’équipe chargée de la plateforme, que tu dois désormais embaucher, fidéliser et financer indéfiniment.
Les risques s’accumulent rapidement :
Point clé : le principal argument en faveur d’une plateforme d’applications cloud, c’est le travail reproductible lié à l’exécution des applications, pas la logique métier qui fait la différence de ton entreprise.
Une plateforme d’applications cloud est un environnement d’exécution d’applications géré, doté de fonctionnalités intégrées pour gérer le cycle de vie des applications. Elle prend généralement en charge des opérations de type cloud, comme le libre-service, sans que les équipes aient à gérer directement le provisionnement de l’infrastructure ou les conteneurs.
Cette distinction est importante. Une plateforme d’applications cloud ne remplace pas le jugement architectural. Elle ne supprime pas la nécessité d’une gouvernance.
Elle offre aux équipes un modèle opérationnel standard pour la couche de déploiement.
Pour Upsun, ce modèle repose sur Git. Git est l’outil principal pour gérer ce dont une application a besoin pour fonctionner, la configuration étant contrôlée via des fichiers YAML qui décrivent ton infrastructure, de manière transparente et avec un contrôle de version. Ça offre aux responsables informatiques un juste milieu pratique :
Upsun prend également en charge les environnements à la demande liés aux branches Git. Les nouveaux environnements peuvent hériter des données et des services d’un environnement parent, notamment les bases de données, le stockage réseau, les files d’attente et les configurations de routage.
C’est pratique, car la standardisation s’intègre au processus, et ne fait plus l’objet d’une réunion de gouvernance à part.
Point clé : la plupart des équipes ont besoin du même ensemble de fonctionnalités de base. Surdimensionner le système pour couvrir des cas de figure extrêmes que tu n’as pas encore rencontrés est une erreur courante.
Tout n’a pas besoin d’être sur mesure. La plupart des équipes ont besoin :
Ces quatre éléments couvrent la grande majorité de ce que les équipes de plateforme développent à partir de zéro. Si la plupart de tes processus sont standardisables, l’achat d’une solution toute faite est une bonne option. Si tes processus sont très personnalisés, le développement en interne peut se justifier. La plupart des équipes surestiment à quel point leurs processus sont réellement personnalisés.
Découvre à quoi ressemble une architecture de livraison standardisée dans la pratique
Avant de développer : des questions auxquelles il faut répondre honnêtement
À retenir : si tu ne peux pas expliquer clairement quel problème tu résous, à qui revient la responsabilité de la solution et comment tu vas mesurer son succès, ne te lance pas tout de suite dans le développement.
Avant de te lancer dans le développement, réponds honnêtement à ces questions :
Standardiser la livraison des applications ne nécessite pas de reconstruire ton infrastructure à partir de zéro. Il faut simplement déterminer avec précision à quel niveau du problème tu t’attaques réellement.
Fais le point sur ton processus de déploiement actuel. Identifie les incohérences. Puis pose-toi la question suivante : s’agit-il d’un problème de configuration, d’un problème de processus ou d’un manque d’outils ? La réponse te dira si tu dois développer, acheter ou faire un peu des deux.
Qu’est-ce qu’une plateforme de développement interne (IDP) ?
Une plateforme interne pour développeurs est une couche en libre-service qui masque la complexité de l’infrastructure aux développeurs d’applications. Elle permet généralement aux développeurs de provisionner des environnements, de déployer des applications et d’accéder à l’infrastructure sans avoir à créer de tickets ni à attendre l’intervention d’un ingénieur d’exploitation. La plateforme est développée et maintenue en interne, ce qui signifie qu’elle nécessite une prise en charge dédiée pour rester à jour.
Faut-il créer ou acheter une plateforme de développement interne ?
Développe-la si tes exigences en matière de conformité, de sécurité ou de processus ne peuvent vraiment pas être satisfaites par un produit existant, et si tu disposes d’une équipe dédiée pour en assurer la gestion à long terme. Achète ou utilise une plateforme gérée si la mission principale de ton équipe est la livraison de produits et si tes besoins en infrastructure sont relativement standard. La plupart des équipes surestiment à quel point leurs processus sont réellement personnalisés.
Qu’est-ce que la dérive d’environnement et pourquoi est-ce important ?
La dérive d’environnement se produit lorsque les environnements de développement, de préproduction et de production ne se comportent plus de la même manière. Le code peut être identique, mais des différences au niveau des services, de la configuration, des autorisations ou du routage rendent les tests peu fiables et augmentent les risques en production. C’est l’une des causes les plus courantes des échecs du type « ça marche sur ma machine ».
De quelles capacités la plupart des équipes ont-elles réellement besoin pour standardiser la livraison d’applications ?
La plupart des équipes ont besoin de quatre choses : une configuration d’environnement cohérente entre le développement, la préproduction et la production ; des déploiements reproductibles liés aux branches Git ; un provisionnement d’environnement en libre-service ; et des points de surveillance pour les logs, les métriques et les alertes par défaut. Ces quatre fonctionnalités couvrent la majeure partie de ce que les équipes de plateforme développent en interne à partir de zéro.