Qu’est-ce qu’une « bonne » ingénierie de plateforme ?

Une approche d'ingénierie de plate-forme fait gagner du temps aux développeurs et les équipes peuvent éliminer des catégories entières de demandes courantes de la part des développeurs.

Traduit de Platform Engineering : À quoi ressemble le « bon » ? , auteur Dormain Drewitz.

Pour améliorer l'expérience des développeurs, de plus en plus d'organisations se tournent vers l'ingénierie de plate-forme pour réduire le travail fastidieux et se concentrer sur les fonctionnalités et l'innovation génératrices de revenus.

L’ingénierie de plateforme apporte deux avantages principaux. La première est l’introduction de fonctionnalités en libre-service qui permettent aux membres de l’organisation d’essayer de nouveaux logiciels. La seconde est l’intégration d’opérations d’infrastructure automatisées pour garantir que les expériences sont menées dans un environnement bien géré.

Les avantages sont si importants que Gartner estime que d’ici 2026, 80 % des grandes organisations d’ingénierie logicielle disposeront d’équipes d’ingénierie de plateforme . Mais qu’y a-t-il derrière ce battage médiatique ?

Qu’est-ce que l’ingénierie de plateforme ?

Une approche d'ingénierie de plateforme complète DevOps . La « plateforme » est un environnement interne créé pour permettre aux développeurs de créer et d'exécuter des logiciels (tels que des applications, des outils et des flux de travail) dans un environnement sécurisé et conforme.

L'objectif principal de l'ingénierie de plateforme est d'adapter efficacement le travail des développeurs tout en atténuant les risques de sécurité et de disponibilité. Les plates-formes de développement répondent aux coûts énormes et aux complexités qui peuvent accompagner le développement à grande échelle. La raison la plus courante de ces coûts est que les développeurs créent des environnements distincts pour chaque projet (ou même des cas de test individuels au sein d'un projet). Un autre avantage est la probabilité accrue de pouvoir travailler à grande échelle grâce à la possibilité d'automatiser les processus opérationnels qui fonctionnent au sein d'une plate-forme unifiée.

Pour que cette approche réussisse, le logiciel doit être déployé au sein de la même plateforme. En apparence, cela peut donner l’impression qu’une approche d’ingénierie de plate-forme constitue une contrainte de productivité, mais elle peut en réalité libérer la créativité des développeurs et réduire considérablement le travail fastidieux quotidien.

Construire ou acheter : comment les organisations le mettent-elles en œuvre ?

Pour qu’un projet de plateforme réussisse, la plateforme doit être mise en œuvre correctement. Étant donné que les organisations exigent une personnalisation de leurs plateformes, il n’est pas possible d’acheter simplement des produits prêts à l’emploi. Dans le même temps, il existe une multitude de produits ponctuels et de projets open source disponibles pour répondre à la myriade d'infrastructures, de CI/CD, de sécurité et d'autres « tâches à effectuer » qui surviennent lors du déploiement et de l'exécution de logiciels en production.

Cela signifie que les organisations devront plutôt effectuer des travaux d'ingénierie sur les produits qu'elles achètent ou sur les logiciels open source qu'elles ont adoptés. Mais la question est : dans quelle mesure votre propre conception est-elle appropriée ? L’ingénierie des plateformes peut détourner l’attention des objectifs commerciaux plutôt que de déterminer ce qui différencie ces organisations.

La solution à ce problème consiste pour les organisations à créer la plateforme la plus simple possible. Les équipes d'ingénierie de plate-forme ne doivent pas créer à partir de zéro ; les plates-formes doivent être construites sur d'autres plates-formes. Les organisations ne s'attendent pas à ce que leurs équipes logicielles fassent tout, du branchement des serveurs à la livraison des produits, et elles ne devraient certainement pas s'attendre à ce que les équipes d'ingénierie de plate-forme mettent entièrement en œuvre une plate-forme à partir de zéro.

Au lieu de cela, ces équipes doivent s’appuyer sur les épaules de géants. Pour mettre en œuvre cette approche, les organisations doivent acheter autant d'outils de plateforme en tant que service (PaaS) et de logiciel en tant que service (SaaS) que possible et les regrouper pour créer une plateforme finie et viable. Il y a suffisamment de travail pour maintenir, intégrer et mettre à jour l’expérience de plate-forme la plus élémentaire. Cela inclut la création d'interfaces et d'API que les ingénieurs internes utiliseront, ce qui peut atténuer le verrouillage du fournisseur.

Dans ce modèle, la plate-forme de chaque organisation est construite sur mesure, mais elle s'appuie sur des outils existants, pris en charge et achetables. Grâce à cette approche, les organisations peuvent échapper au dilemme « construire ou acheter » et se concentrer sur le réglage précis de leur plateforme pour répondre à leurs besoins.

Que faut-il pour que cela devienne la norme ?

De nombreuses organisations ont du mal à adopter DevOps car les rôles et les responsabilités peuvent sembler écrasants. Si les développeurs sont responsables de tout ce qui se trouve dans leur pile, chaque jour en production, ils peuvent s'enliser dans un travail fastidieux qui n'apporte pas de valeur commerciale. Mais les équipes d'architecture et d'exploitation traditionnelles ne mesurent souvent pas l'efficacité des développeurs, de sorte que ceux-ci peuvent uniquement soumettre des tickets et attendre.

Pour que l’ingénierie de plateforme réussisse, elle nécessite le soutien total de l’organisation. Pour créer une meilleure expérience pour les utilisateurs internes, les silos doivent être éliminés. L’ingénierie de plateforme nécessite sa propre équipe pour réussir ; elle ne peut pas être considérée comme une simple extension de l’informatique.

Outre les changements opérationnels, l'ingénierie de plateforme nécessite un changement culturel au sein des équipes de développement afin de donner la priorité aux exigences non fonctionnelles telles que la convivialité et la sécurité, en plus des fonctionnalités individuelles. La plate-forme doit faciliter la tâche, mais la responsabilité doit être partagée entre l'équipe de la plate-forme Lean et ses utilisateurs (l'équipe de développement logiciel).

Comme c'est toujours le cas lorsqu'une organisation revoit ses processus de travail, faire les choses à moitié ne suffit pas. Les entreprises ne peuvent pas mettre en œuvre avec succès l’ingénierie de plateforme sans le soutien total de tous les développeurs de l’organisation, ainsi que l’adhésion des membres seniors de l’équipe.

Pourquoi les développeurs devraient-ils s’en soucier ?

Il est facile pour les grandes organisations de génie logiciel de disposer de piles technologiques volumineuses et complexes. Cela peut faire de la maintenance un cauchemar et conduire à des cycles de publication longs et lents et à des pannes stressantes. L'adoption de l'ingénierie de plate-forme échange la complexité contre une pile beaucoup plus légère, supprimant les parties sans importance ou encombrantes. Les décideurs ne doivent pas avoir peur de mettre hors service des outils ou de fermer des environnements dont ils n’ont pas besoin, voire d’automatiser ce processus une fois que les développeurs font confiance à la plateforme qu’ils utilisent. En fait, l’automatisation peut intégrer le déclassement au cycle de vie de la plateforme, en l’intégrant aux processus existants pour économiser du temps et de l’argent.

Une approche d’ingénierie de plateforme peut également faire gagner un temps considérable aux développeurs ainsi qu’aux équipes d’infrastructure et d’exploitation. Ces équipes peuvent éliminer des catégories entières de demandes courantes des développeurs. Les équipes de plateforme automatisent les tâches routinières et répétitives telles que le lancement de nouveaux environnements, la gestion de l'infrastructure, la création et la configuration de référentiels et la gestion des pipelines CI/CD pour fluidifier les cycles de développement et réduire le travail fastidieux.

Les développeurs peuvent économiser du temps et des efforts en déchargeant le travail sur la plate-forme, ce qui peut constituer une incitation majeure à migrer les applications existantes vers la plate-forme. Ces avantages peuvent également conduire à des économies significatives pour les entreprises, à mesure que les développeurs deviennent plus productifs, éliminant ainsi le besoin de sous-traitants et de personnel supplémentaires pour augmenter les services.

Ingénierie des plateformes du futur

En fin de compte, l’objectif de l’ingénierie de plateforme est d’encourager les développeurs, quelle que soit leur équipe ou leur fonction, à utiliser la plateforme plutôt que d’expérimenter en dehors de celle-ci. Lorsqu'ils travaillent dans le cadre de cette configuration avec des chaînes d'outils et des flux de travail entièrement implémentés, les développeurs peuvent se concentrer sur le codage sans se soucier de l'infrastructure. Cela réduit considérablement leur charge de travail quotidienne, leur permettant de s’épanouir plutôt que de simplement survivre.

Cet article a été publié pour la première fois sur Yunyunzhongsheng ( https://yylives.cc/ ), tout le monde est invité à le visiter.

Un programmeur né dans les années 1990 a développé un logiciel de portage vidéo et en a réalisé plus de 7 millions en moins d'un an. La fin a été très éprouvante ! Des lycéens créent leur propre langage de programmation open source en guise de cérémonie de passage à l'âge adulte - commentaires acerbes des internautes : s'appuyant sur RustDesk en raison d'une fraude généralisée, le service domestique Taobao (taobao.com) a suspendu ses services domestiques et repris le travail d'optimisation de la version Web Java 17 est la version Java LTS la plus utilisée Part de marché de Windows 10 Atteignant 70 %, Windows 11 continue de décliner Open Source Daily | Google soutient Hongmeng pour prendre le relais des téléphones Android open source pris en charge par Docker ; Electric ferme la plate-forme ouverte Apple lance la puce M4 Google supprime le noyau universel Android (ACK) Prise en charge de l'architecture RISC-V Yunfeng a démissionné d'Alibaba et prévoit de produire des jeux indépendants pour les plates-formes Windows à l'avenir
{{o.name}}
{{m.nom}}

Je suppose que tu aimes

Origine my.oschina.net/u/6919515/blog/11086682
conseillé
Classement