Comment Palo Alto aborde l’ingénierie des plates-formes
Ramesh Nampelly, directeur principal de l’infrastructure cloud et de l’ingénierie des plates-formes chez Palo Alto, a récemment écrit sur la façon dont Palo Alto aborde l’ingénierie des plates-formes. Ils ont construit leur propre plateforme de développement interne (IDP) basée sur l’outil open source Backstage. Leur plate-forme couvre le provisionnement de l’infrastructure, la gestion des politiques, l’observabilité et la gestion des coûts.
Nampelly explique que Palo Alto avait des problèmes avec les pratiques héritées conduisant à des approches d’automatisation indépendantes avec une documentation disparate. Gary Nieman, chef de produit chez Spotify, a noté une fragmentation similaire au sein des équipes de développement de Spotify et a partagé que cela conduisait à une forme de « développement axé sur les rumeurs » où « la seule façon de savoir comment faire quelque chose était de demander à votre collègue ».
L’objectif de Palo Alto avec sa plate-forme était d’encourager les outils de développement en libre-service. Dans cette optique, l’une des premières pièces qu’ils ont abordées était un catalogue de services pour « aider les développeurs ou les SRE à connaître facilement et rapidement les détails d’un service de production donné ». Matthew Skelton, fondateur de Conflux, partagé une idée similaire selon laquelle simplifier la recherche d’informations est un moyen efficace d’améliorer le flux :
Et si la partie la plus importante de « l’ingénierie de la plate-forme » consistait à maintenir un wiki de haute qualité avec des modèles éprouvés et empathiques à suivre par les équipes alignées sur le Stream ?
En construisant cela, Nampelly note que l’équipe a dû décider de construire l’outillage en interne ou d’acheter quelque chose sur étagère. Il a été décidé que l’outil devrait être construit en interne pour répondre à leurs cas d’utilisation spécifiques. Ils ont décidé d’utiliser Backstage comme point de départ : « [w]nous avons déboursé [B]ackstage OSS code et ajouté les abstractions requises et l’a nommé « Palo Alto Networks DevClues ». »
Nampelly a partagé qu’ils classent les capacités et les outils de leur plate-forme en trois phases (sur la base du rapport Gartner Innovation Insight for Internal Developer Portals 2022) : découvrir et créer, intégrer et déployer, et exploiter et améliorer. Découvrez et créez des couvertures d’activités « jour 0 » axées sur la « partie initiale du cycle de vie du développement, y compris l’intégration, la formation, le démarrage, le développement local ».
L’intégration et le déploiement couvrent les tâches du « jour 1 » axées sur le déploiement de l’application dans des environnements de préproduction et de production. Cela comprend à la fois la gestion de l’infrastructure et des applications. La phase d’exploitation et d’amélioration couvre les tâches continues associées à l’exploitation d’un service, notamment l’automatisation, l’observabilité et la gestion des incidents.
Cependant, la construction des bons outils n’est qu’une partie du problème. Comme Galo Navarro, ingénieur logiciel principal chez Midokura, l’a résumé succinctement, la valeur de l’ingénierie de plate-forme ne réside pas dans les outils construits, mais dans les résultats générés :
On nous dit rarement « construire cet outil », mais plutôt « renforcer les équipes produit », et on s’attend à ce que nous parcourions l’organisation pour comprendre les défis auxquels les équipes produit sont confrontées et ceux qui valent la peine d’être résolus.
L’équipe de Nampelly s’est efforcée de responsabiliser ses équipes grâce à des modèles de service axés sur l’amélioration des tâches courantes :
Palo Alto Networks DevClues fournit aux développeurs des modèles de service prêts à l’emploi pour créer de nouvelles applications logicielles, des services et des composants d’infrastructure avec les meilleures pratiques intégrées.
Des équipes de plate-forme efficaces travaillent également pour recueillir les commentaires continus de leurs utilisateurs afin d’aider à définir l’orientation de la plate-forme. Adam Hansrod, ingénieur principal chez Equal Experts, déclare que « la construction progressive de la plate-forme sur la base des commentaires des équipes clientes favorise une adoption plus forte de la plate-forme ». Nampelly note que l’équipe de la plate-forme de Palo Alto « se concentre et s’engage à innover en permanence les capacités IDP en gérant son adoption, sa feuille de route, [and by] recueillir les commentaires de nos équipes d’ingénieurs. »
Vous trouverez plus d’informations sur la plate-forme de développement interne de Palo Alto sur le blog de Palo Alto.