Avant le Platform Engineering, il y avait le DevOpsEnsemble de techniques permettant l'intégration, les tests et le déploiement d'une application. ! Non pas que le DevOps n'existe plus, mais disons que le Platform Engineering vient colmater les problématiques du DevOps.
Pour rappel, le DevOps a pour but de rapprocher les équipes de développement de la partie opérations (intégration, déploiement), ce qui permet de réduire les temps d'attente entre ces deux équipes. Décliné concrètement à l’aide de différents outils, le DevOps fait gagner beaucoup de temps aujourd’hui sur les projets de développement, mais apporte également son lot de limites.
C'est à partir de ce postula que le Platform Engineering a été imaginé.
Les limites du DevOps ne viennent pas de sa philosophie, mais plutôt du fait qu'il n'y ait pas d'explication concrète sur “comment le mettre en place”.
Le but du devOps étant que ce soit les développeurs qui réalisent la partie opérations (intégration, déploiement, etc.), si chaque équipe DevOps fait les choses à sa façon et utilise des outils différents, cela à tendance à augmenter la complexité pour comprendre son système d’informations. C’est généralement pour cela que ça devient complexe au fil du temps !
De plus, les équipes DevOps dans les entreprises sont généralement celles qui doivent mettre en place les outils, les maintenir, les administrer, mais aussi les utiliser. Aussi, au-delà de la charge de travail que cela nécessite, il faut pas mal de connaissances techniques !
L’idée principale derrière le Platform Engineering est que, le fait de donner plus de droits aux équipes DevOps a certes, fait gagner du temps, mais en contrepartie, a augmenté la charge de travail des équipes pour livrer les applications. Des équipes qui restent des développeurs et qui ne sont pas des experts en infrastructure.
Le Platform Engineering, se veut de penser la solution à ce problème via la mise en place d’une plateforme interne pour les développeurs (d’où son nom) pour aider les développeurs. Cette plateforme regrouperait plein de fonctionnalités qui permettraient de simplifier les tâches répétitives, simplifier la mise en place de l’infrastructure, créer des templates qui suivraient des règles de l’organisation (de sécurité, des bonnes pratiques) et de centraliser toutes les données DevOPS à un seul endroit.
Mettre en place le Platform Engineering dans son entreprise, et plus précisément dans ses projets informatiques, a plusieurs intérêts majeurs à nos yeux :
Il faut voir le Platform Engineering comme un produit. Aussi, dans la gestion de la mise en place, on peut l’assimiler à un projet informatique.
Pour mettre en place le Plateform Engineering au sein de votre SILe SI désigne le système d'informations d'une organisation., on vous recommande ainsi de créer une équipe en charge du sujet, et qui aura pour rôle, la création, la mise en place, et le maintien d’outils.
Cela dit, avant de constituer son équipe, il faut déjà se mettre d'accord sur l'objectif du Platform Engineering au sein de son organisation ! Et c’est pour cela qu’on parle de plateforme interne. Le but n’est pas de créer une plateforme standard, comme tout le monde, mais de créer sa propre plateforme qui répond à ses besoins.
Pour ce faire, avant de démarrer les travaux, il faut donc se poser quelques questions au regard de notre organisation ! Par exemple :
Il faut également avoir bien conscience que la mise en place de cette pratique vient, dans la majorité des cas, modifier les habitudes des développeurs.
Comme tout changement, il y a parfois de la résistance au sein des équipes ! Aussi, soyez pédagogues pour expliquer ce que les développeurs vont gagner à terme avec ce projet, écoutez-les pour bien identifier ce dont ils ont besoin, et allez-y petit à petit avec un accompagnement rapproché.
Une fois cette étape de préparation passée, on rentre dans le dur du sujet, la réalisation !
Bien souvent, le Platform Engineering se traduit par la création d'une application qui centralise les outils et fournit un niveau d'abstraction permettant de simplifier l'usage des outils pour les développeurs.
Cela peut passer par la réalisation de :
La majorité des outils du Platform Engineering sont les mêmes que le DevOps ! On retrouve donc les outils :
À cela, il faut rajouter tout ce qui permettra de construire les liens entre ces outils, mais aussi, les liens entre les équipes et ces outils (par exemple : documentation, scripts, templates, etc.).
Pour mettre en place le platform engineering au sein du SI d’une entreprise, on met généralement en place un portail développeur (justement pour faire le lien entre équipes et outils).
Son but est de :
Notons tout de même que la mise en place d’un tel portail en interne n’est pas si simple ! Amenée à être utilisée dans la durée au sein de l’entreprise, il faut imaginer cette application pour son besoin actuel et celui des prochaines années. Car oui, ce type d’application doit pouvoir évoluer en fonction des besoins futurs de l’organisation, mais aussi des modifications en lien avec les outils utilisés.
A ce jour, sachez qu’il existe des outils sur le marché qui fournissent des solutions de portail développeur, mais qu’elles ne sont, à l’heure où on se parle, peu adaptées au besoin de chacun. C’est notamment pour cela que des outils comme Backstage de Spotify existent. Au lieu d’être un véritable portail, cet outil fournit une base et des outils pour simplifier la réalisation d’un portail développeur.
Depuis plusieurs années chez AXOPEN, nous appliquons les principes DevOps. Au fil du temps, et des différents projets informatiques, nous nous sommes heurtés aux problématiques de mauvaises utilisations et pratiques liées au DevOps. Pour pallier à ça, nous avons conçu en interne notre propre solution.
Lorsque nous avons découvert le Platform Engineering, et que nous avons commencé à étudier le sujet, cela nous a tout d’abord conforté sur le fait que nous étions parti dans la bonne direction avec notre solution, mais cela nous a surtout permis de nous ouvrir à de nouveaux aspects que nous avions négligés et d’enrichir nos process internes !
Aujourd’hui, nous avons une équipe responsable de maintenir nos outils et simplifier leur usage notamment via :
Aujourd’hui encore, nous faisons évoluer notre package interne en l’étoffant et en le rendant plus simple à utiliser ! Et vous, vous vous êtes lancés dans le Plateform Engineering en entreprise ? Si vous voulez poursuivre la discussion sur le sujet, n’hésitez pas à nous appeler.
Le DevOps n’est pas un outil mais des références et plateformes intègrent des fonctionnalités qui vont aider à faire vivre cette philosophie qui reste très ouverte. Dans cet article, on compare Azure DevOps, GitLab, Jenkins, GitHub !
La fonction SelectFile() permet, dans du code OJS, de demander à l’utilisateur le nom complet (répertoire + nom) d’un fichier que l’on souhaite pouvoir traiter (importer, lire, analyser...) dans P5.
Comment réaliser des requêtes avec de telles fonctions dans la clause SELECT en Hibernate 4 ? C'est ce que nous vous proposons de voir dans cet article.