Chaque client est important
L’un des principaux principes de l’ingénierie de plateforme est d’optimiser vos clients. Considérez les développeurs comme votre client principal et concentrez-vous sur leurs besoins en premier lors du choix des chemins de développement que vous souhaitez ouvrir. Les développeurs utilisent tous différents outils pour accomplir leur travail. Pour commencer, commencez petit et évaluez si vous pouvez améliorer les écrans et surfaces existants avant d’implémenter une toute nouvelle plateforme de développement interne.
Permettre aux développeurs d’utiliser une plateforme interne centrée sur le client
La réflexion sur les développeurs en tant que client principal de votre plateforme de développement interne est essentielle à son succès. Nous référencerons ces clients en tant que développeurs, mais ils peuvent être membres de ce que le modèle Topologies d’équipe fait référence à des équipes alignées sur des flux , incluant des rôles tels que des professionnels du Machine Learning ou des scientifiques des données.
Une pratique d’ingénierie de plateforme réussie permet aux développeurs et aux opérateurs. Les développeurs et les opérateurs ont l’autonomie de prendre des décisions qui offrent une valeur métier tout en respectant les normes, la gouvernance et les règles de sécurité établies. Les parties prenantes critiques, les équipes et les experts dans des sous-systèmes spécifiques (opérations, sécurité, conformité et architecture) collaborent avec l’équipe qui crée cette plateforme interne pour codifier leur expertise et leurs meilleures pratiques en modèles et fonctionnalités système. Le déplacement de ces connaissances dans un système réduit simultanément la charge cognitive pour les développeurs, améliore la sécurité, la conformité et la qualité, et améliore la mise à l’échelle de ces autres rôles pour résoudre des problèmes vraiment uniques. Toutefois, il s’agit de l’expérience du développeur qui garantit que votre plateforme retourne le plus d’avantages pour tout le monde impliqué.
Cela signifie suivre une approche centrée sur le client pour planifier et hiérarchiser vos efforts d’ingénierie de plateforme.
Identifier les chemins de développement optimaux pour simplifier les meilleures pratiques
Même si votre organisation peut avoir différents chemins de développement pour la production aujourd’hui, une étape précoce de votre parcours d’ingénierie de plateforme consiste à comprendre les chemins que vous souhaitez que les développeurs utilisent. L’appel est important, car il vous permet de concentrer votre énergie sur la mise en place d’un chemin efficace à travers eux qui répond toujours aux exigences de développement, d’exploitation et de gouvernance.
Ces chemins pavés représentent un ensemble particulier d’outils de développement et d’observabilité, de langages, de sdk et de services mis en forme pour s’adapter à ce que le développement, les opérations et d’autres parties prenantes acceptent comme représentant leurs meilleures pratiques. Les chemins pavés doivent inclure des approches visant à simplifier l’intégration, la modération et la défense de la réutilisation interne. Vous n’avez pas besoin de penser à ces chemins pavés comme étant restrictifs ou forcés, mais plutôt de réduire l’il des développeurs au point que les équipes de développement veulent rester au sein d’eux.
Toutefois, l’astuce consiste à comprendre non seulement quels chemins se concentrer, mais quelles parties du chemin doivent d’abord être pavées.
Rencontrer les utilisateurs où ils sont
Bien qu’il puisse être tentant de commencer avec un portail unifié pour tout dans votre plateforme de développement interne, ce n’est pas le meilleur point de départ.
Vos professionnels des opérations, ingénieurs de fiabilité de site (SRE) et développeurs utilisent tous différents outils pour accomplir leur travail. Le codage se produit dans un IDE, des systèmes d’ingénierie tels que GitHub et Azure DevOps utilisent des interfaces de ligne de commande, et la collaboration en temps réel se produit dans Teams et Slack. Souvent, ces utilisateurs sont satisfaits de ces écrans et sont méfiants d’une autre interface utilisateur à se soucier.
Démarrez petit et évaluez si vous pouvez améliorer vos écrans et surfaces existants, créer des plug-ins ou des extensions avant de commencer à créer de nouvelles expériences personnalisées. Demandez-vous que les gens réagissent mieux à une autre nouvelle expérience utilisateur ou à une version améliorée de quelque chose que vous avez maintenant ? Si vous décidez de créer un portail à partir de zéro pour commencer, prenez en compte l’idée que vous voudrez probablement prendre en charge plusieurs interfaces via une API. Cela déverrouille également les options telles que l’utilisation de frameworks à faible code afin que vous n’ayez pas besoin de créer et d’héberger une expérience de portail à partir de zéro.