L'ingénierie de plateforme vise à rationaliser les processus de développement et de déploiement de logiciels en fournissant un système standardisé avec des garde-fous et des mécanismes de contrôle. Cependant, il s'agit d'une entreprise coûteuse, les experts prévoyant que l'ingénierie de plateforme absorbera une part importante des budgets informatiques à l'avenir. Upsun propose une solution PaaSgérée , en faisant valoir ses avantages pour simplifier les complexités de l'infrastructure et accélérer les processus de développement.
Comme toute nouvelle appellation - et celle-ci a à peine un an - il faut du temps pour que la poussière retombe et qu'une définition commune émerge. Mais pour l'ingénierie de plateforme, nous pouvons aller directement à la source avec une définition de Gartner, Inc. Paul Delory, analyste vice-président de Gartner, dans son article 2023 What is Platform Engineering ?
"L'ingénierie de plateforme est apparue en réponse à la complexité croissante des architectures logicielles modernes. Aujourd'hui, on demande souvent aux utilisateurs finaux non experts d'exploiter un ensemble de services compliqués et obscurs. Pour aider les utilisateurs finaux et réduire les frictions liées au travail précieux qu'ils effectuent, les entreprises avant-gardistes ont commencé à construire des plateformes d'exploitation qui s'interposent entre l'utilisateur final et les services d'appui dont il dépend."
L'industrie a compris que le fait de rassembler quelques douzaines de services avec un énorme décalage d'impédance entre eux et sans plan réel mène au chaos. Les organisations veulent désormais définir des règles de base communes. J'ai évoqué dans de précédents articles de blog les cycles du chaos et de la créativité par rapport à la normalisation et au contrôle - voir le chapitre 1 : Upsun et les décennies du web. L'ingénierie de plateforme accueille un nouveau cycle d'urbanisation informatique.
En tant que pratique, l'ingénierie de plateforme signifie que votre organisation peut définir la manière dont vous développez et déployez, et vous permet d'intégrer ce processus dans un système robuste :
Plus important encore, l'idée de l'ingénierie de plateforme est d'envelopper l'ensemble du système, non seulement le code mais aussi l'organisation qui le produit, des chefs de produit au personnel d'assistance. Cela implique de multiples boucles opérationnelles qui se chevauchent, de la qualité du code à l'excellence opérationnelle.
D'une certaine manière, l'ingénierie de plateforme est une prise de contrôle par DevOps. Auparavant, on partait du principe que les ingénieurs logiciels concevaient un système complexe avec potentiellement des dizaines de services en interaction (internes, sous-jacents et externes). Aujourd'hui, les praticiens de DevOps sont chargés de mécaniser tout cela. Automatiser le provisionnement, la construction, les déploiements, la mise à l'échelle et la réponse de sécurité. Les praticiens DevOps devraient également ajouter des mécanismes d'amélioration continue (où tout est mesuré et mis à jour) tout en acceptant des changements dans la conception du système sous-jacent - l'agilité de bout en bout.
Le contraste entre ce que Gartner a dit sur l'ingénierie de plateforme aujourd'hui - comme cité ci-dessus - et ce qu'il a dit sur DevOps dans son communiqué de presse de 2015, Gartner Says by 2016, DevOps will Evolve From a Niche to a Mainstream Strategy Employed by 25 Percent of Global 2000 Organizations, est frappant :
" Les organisations qui pratiquent le développement agile seront plus lentes à adopter DevOps sur l'ensemble du cycle de vie des applications. La résistance culturelle et les faibles niveaux de discipline des processus entraîneront des taux d'échec significatifs pour les initiatives DevOps, en particulier lorsque les processus en cascade représentent encore une part dominante du portefeuille de développement. Néanmoins, la majorité des entreprises qui tenteront d'adopter une approche agile au cours des cinq prochaines années reconnaîtront la nécessité des initiatives DevOps".
À l'époque, Gartner avait raison. Tout était devenu incontrôlable. Nous voulons revenir à un semblant d'ordre. À partir de ce désordre tentaculaire, nous définissons les principaux modèles. Nous créons un système capable de les reproduire. Et nous disons maintenant à l'ingénierie : "C'est votre terrain de jeu, ce sont vos règles." Il faut d'abord l'automatiser. Mais contrairement aux moments de contrôle précédents, le produit final doit être en libre-service.
L'ingénierie des plates-formes propose un compromis. Les mécanismes et les garde-fous constituent une couche commune à tous les efforts d'ingénierie. Si vous restez dans ces limites, vous n'avez pas besoin de demander quoi que ce soit à l'équipe d'exploitation.
Je pense que l'ingénierie de plateforme est apparue à cause de Kubernetes (K8S) - parce que les gens se sont trompés sur son rôle dans la pile. K8S a remplacé Linux, le système d'exploitation (ou du moins une partie), mais ce n'était pas la plateforme que les gens croyaient. Ils pensaient qu'il suffirait de créer un diagramme Helm et que les choses seraient entièrement automatisées en aval. Mais K8S n'a jamais eu la sémantique pour cela. Il n'a pas été conçu pour être une plateforme. Il a été conçu pour être un moteur d'exécution. Et parce que les concepts d'exécution exposés sont de bas niveau et complexes, vous avez toujours besoin de plus d'outils et de processus autour d'eux. Les gens veulent une plateforme.
Selon l'article " What is Platform Engineering ?2023 ", Gartner Inc. prévoit que d'ici 2026, "80 % des grandes organisations d'ingénierie logicielle mettront en place des équipes d'ingénierie de plateforme en tant que fournisseurs internes de services, de composants et d'outils réutilisables pour la fourniture d'applications". L'ingénierie de plateforme résoudra en fin de compte le problème central de la coopération entre les développeurs de logiciels et les opérateurs. Mais elle comporte des risques :
Chez Upsun, nous pensons que l'ingénierie de plate-forme n'est pas seulement utile, mais que les exigences de presque toutes les organisations et les charges de travail varient peu. Il y aura des compromis, mais pas de l'ampleur que les praticiens DevOps imaginent.
Upsun est un PaaS unique, entièrement géré et en libre-service, qui permet aux équipes de développement d'expérimenter facilement et en toute sécurité, d'itérer rapidement et de déployer en toute confiance des applications à grande échelle.
Nous fournissons une plateforme qui élimine la complexité de l'infrastructure et permet ainsi aux développeurs de se concentrer sur le code. Ils apportent leur code, nous gérons le reste. Ils sont moins dépendants de l'informatique pour leur fournir un environnement de développement. Ils ne perdent pas leur temps à effectuer des tâches manuelles et répétitives à faible valeur ajoutée. Au lieu de cela, ils peuvent accélérer l'innovation et la mise sur le marché.
Nous fournissons une plateforme qui vous permet
d'avoir une standardisation des langages et des services à travers tous les environnements sur une seule plateforme
En fin de compte, il s'agit d'une infrastructure cloud composable. L'ingénierie des plates-formes se résume à " PaaS est mort, vive juste le P ". L'idée était géniale, mais on ne peut pas l'obtenir en tant que service. Il faut donc en construire un. Ce qui est parfois vrai. Nous partageons l'idée que vous devez déterminer dans votre propre cas d'utilisation si vous devez construire votre propre plateforme ou si vous pouvez en utiliser une (hé, comme nous) en tant que service - une plateforme qui a déjà une maturité opérationnelle.