Face à la montée en complexité des processus de développement et de déploiement d’applications, le platform engineering s’impose comme une réponse stratégique. Il offre aux développeurs une structure simplifiée, où les tâches répétitives sont automatisées, permettant une concentration accrue sur la création et l’innovation.
Le platform engineering, approche stratégique pour orchestrer les processus DevOps à l’échelle, suscite de plus en plus d’intérêt. Motivée non seulement par la nécessité de réduire des coûts, mais surtout par des gains de productivité réels pour les développeurs, elle s’explique par la complexité croissante des opérations et du déploiement d’applications. Les développeurs consacrent en effet trop souvent des efforts excessifs à la gestion de l’environnement de développement plutôt qu’à la création du code. Pourtant, l’efficacité des processus est devenue primordiale et le temps passé à entretenir la chaîne d’outils est un véritable frein à l’innovation.
Standardiser pour unifier les procédures de développement
Au fil des ans, les équipes DevOps ont automatisé les processus de développement d’applications. Cependant, ces efforts se sont principalement adressés à des structures relativement petites, chacune concevant ses propres procédures. Instaurer une suite normalisée conçue grâce au platform engineering permet ainsi d’affiner le développement et de simplifier l’expérience du développeur.
Le platform engineering fournit donc un plan systémique pour unifier la gestion des processus DevOps à échelle, permettant finalement aux développeurs de se concentrer davantage sur la conception d’applications novatrices. En établissant un ensemble normalisé pour automatiser la mise en œuvre de la chaîne d’outils, ils libèrent le temps de construction et de maintenance requis pour le codage.
L’objectif du platform engineering est de construire un écosystème intégré adapté au développement, au test et à la mise à jour des applications. Ce cadre permet aux développeurs de satisfaire eux-mêmes leurs besoins en matière d’outils tout en respectant des lignes directrices bien définies. Il ne s’agit pas d’une obligation d’en utiliser exclusivement certains, mais plutôt de souligner les avantages à tirer de l’adhésion à des processus standard communément reconnus. Si ces normes exigent certains compromis pour les développeurs, elles présentent également de nombreux bénéfices, notamment sur la productivité, la transition vers les architectures cloud native et les microservices, la personnalisation, l’amélioration continue, la gouvernance, l’intégration de l’IA ou encore le développement des talents en interne.
Convaincre et réunir les équipes internes
Même si certains développeurs sont désireux d’expérimenter de nouveaux outils, la motivation pour intégrer ceux liés au platform engineering doit aller au-delà des intérêts personnels. Si le gain de productivité peut en justifier le déploiement, ces outils peuvent également être supervisés par l’équipe de platform engineering. Jusqu’ici, leur sélection hasardeuse conduisait à une augmentation des coûts ainsi qu’à une prolongation des délais de déploiement. Étant donné la nature collaborative du développement d’applications modernes, les différents choix d’outils entre les équipes exacerbent les tensions dans le processus.
Les entreprises qui adoptent le platform engineering peuvent en effet être confrontées à un certain scepticisme. De nombreuses équipes sont passées de la méthode en cascade du DevOps en raison de la rigidité du processus existant. Une équipe de platform engineering doit alors démontrer sa capacité à gérer des processus DevOps à grande échelle sans nuire à l’innovation afin de garder la confiance du reste de l’entreprise.
Les progrès de l’analyse des données, des technologies de jumeaux numériques ou de l’IA sont sur le point de faciliter la conception et le respect des normes de platform engineering qui optimisent la productivité des développeurs. Plus ils perçoivent les gains de temps pour le codage, plus ils seront ouverts à ce concept. Avoir davantage de temps pour les tests de logiciels, grâce aux processus automatisés orchestrés par l’équipe de platform engineering, contribuera in fine à renforcer la qualité et la sécurité de l’application.
La transition vers le platform engineering sera différente d’une entreprise à l’autre et il n’est pas réaliste de tenter de transformer du jour au lendemain toute une culture IT. Il est donc conseillé de se concentrer sur un groupe sélectionné d’équipes de développement qui peuvent, au fil du temps, partager leurs expériences positives à l’ensemble de l’organisation. L’adoption sera ainsi naturelle, plutôt qu’imposée. Dans le même temps, les équipes DevOps devront collaborer pour définir les pratiques optimales de platform engineering qui peuvent être rapidement mises en œuvre et servir de base aux futures avancées.
____________________________
Par Hope Lynch, Senior Director Platform chez CloudBees