5 façons pour les ingénieurs de plateforme d’aider les développeurs à créer des API performantes
Emanuel Burgess
Developer Advocate, Google
David Rush
Customer Engineer
Contactez-nous
Si vous êtes une entreprise et que vous souhaitez vous développer, découvrez comment gagner en productivité avec Google Cloud ou contactez notre équipe commerciale.
Commencer iciPour concevoir des applications modernes, il faut des développeurs capables de créer des API en un temps record qui offrent à la fois des fonctionnalités complexes et de très hautes performances. Il faut aussi des ingénieurs de plateforme (platform engineers). Véritables piliers des architectures modernes, héros discrets mais pourtant essentiels des applications modernes, ils fournissent aux développeurs les bons outils et les bonnes pratiques pour leur simplifier la tâche.
En tant qu’ingénieur de plateforme, vous pouvez influencer la conception des API en adoptant cinq stratégies fondamentales. Plus concrètement, vous pouvez aider vos développeurs :
- En traitant les API et les plateformes internes comme des « produits »
- En intégrant la gestion des API dans votre plateforme interne
- En construisant des pipelines CI/CD pour vos proxies et vos politiques
- En simplifiant la consommation des API par vos développeurs en leur proposant une « voie royale »
- En tirant parti d'Apigee pour la gestion et l'automatisation des API
1. Traiter les API et les plateformes internes comme des produits
Aujourd’hui, toute expérience numérique connectée de qualité repose sur des API, autrement dit des mécanismes qui permettent aux applications de communiquer entre elles. En termes simples, les API sont des solutions logicielles pour intégrer des services. Comme toute autre solution logicielle, les API doivent être testées, sécurisées, déployées et gérées en s’appuyant sur des process systématiques, tels que le cycle de vie du développement logiciel (ou SDLC pour Software Development Life Cycle). Des plateformes internes permettent de mettre en place de véritables processus de livraison des API. Elles fournissent aux développeurs un ensemble d’outils communs et des modèles clairement définis. Par exemple, si votre organisation a décidé que toutes les applications doivent accéder aux API en présentant un jeton OAuth, l’ingénieur plateforme peut tout à fait simplifier et fluidifier le travail du développeur en mettant à sa disposition un pipeline de flux partagé, utilisé pour associer une politique OAuth v2 au proxy à l'aide d'une règle FlowCallout.
Tout comme les API, les plateformes internes sont des solutions logicielles. L’une des principales missions de toute équipe d’ingénierie plateforme qui se respecte est de briser les silos internes afin de pouvoir travailler harmonieusement avec les autres équipes de l’entreprise et mieux comprendre les besoins de chacun. Fondamentale, cette collaboration permet au final aux développeurs de disposer de meilleurs outils.
2. Intégrer la gestion des API dans votre plateforme interne
En tant qu’ingénieur plateforme, votre première mission consiste à créer des plateformes en interne que vos développeurs peuvent utiliser. Ces plateformes favorisent l’autonomie des développeurs en leur donnant directement accès à des modèles et des outils validés et standardisés par votre organisation. En créant de tels outils et modèles et en les intégrant à votre plateforme, vous assurez une bonne gestion et prise en compte de tous les aspects clés d’une API, à commencer par la normalisation, la sécurité, les quotas, la surveillance ou encore le déploiement automatisé.
3. Construire des pipelines CI/CD pour vos proxies et vos politiques
Les API étant des solutions logicielles, elles doivent être créées et gérées avec du code. Une des tâches courantes de l’ingénieur plateforme est de créer des pipelines CI/CD afin d'automatiser le cycle de vie du développement des API. Un pipeline CI/CD standard est composé de plusieurs étapes : analyse statique du code, tests unitaires, déploiement, et tests d’intégration.
De manière générale, un développeur code localement un proxy et utilise Git pour transférer le code de ce proxy vers un dépôt de code source. Un commit déclenche alors un pipeline automatisé qui effectue des tests et fournit des retours. Si cela réussit, le code est transféré dans différents environnements jusqu'à sa mise en production.
Après avoir construit vos API, vous souhaitez naturellement qu'elles soient découvrables par d'autres dans votre organisation. L’« API Hub » d’Apigee est idéale pour la découverte interne des API.
Parallèlement, un « portail des développeurs » peut automatiquement être généré avec la documentation de vos API pour offrir aux développeurs externes (ceux de vos clients) un moyen de les découvrir, d’apprendre à les utiliser, d’en réclamer l’accès, de les essayer, etc.
4. Simplifier la consommation des API par vos développeurs en leur proposant une « voie royale »
Le principe de la « voie royale » est assez simple : l’objectif est de proposer des modèles qui intègrent le code et l’outillage afin d’accélérer au maximum les temps de développement. Vous aidez ainsi le développeur à construire rapidement son chemin vers la livraison logicielle – d’où cette notion de voie royale – en lui proposant des workflows et des modèles accessibles en libre-service. Ces modèles englobent des tâches courantes et des stratégies prédéfinies. Si vous développez des API avec Apigee, cette voie royale peut comprendre les éléments suivants :
- Un guide pour bien démarrer
- Un modèle pour construire le proxy / des stratégies prédéfinies / une simulation de backend
- Des configurations pour des flux partagés standards directement exploitables
- Un pipeline CI/CD pour les tests et le déploiement
- Des modèles pour l’ « API Registry » (qui regroupe des descriptions standardisées, lisibles par des machines et programmes, des différentes API).
5. Tirer parti d'Apigee pour la gestion et l'automatisation des API
Un mot sur la pièce maîtresse de votre stratégie : Apigee. Plateforme de gestion des API, Apigee propose aux ingénieurs de plateforme une solution pour construire, administrer et sécuriser les API. Apigee peut être utilisé pour gérer vos API tout au long de leur cycle de vie. Dans Apigee, tout commence par un proxy, autrement dit une interface numérique située entre le client et la logique métier (ou backend). Le proxy sert également de point d'attache pour les politiques d'API (les règles et comportements associés à une API) afin de programmer et personnaliser le comportement de l'API.
Les proxys permettent également de découpler l’API en évitant un accès direct au backend et en masquent la complexité. En tant qu'ingénieur de plateforme, vous aidez les développeurs à créer de meilleures API en leur permettant de se concentrer sur la création de proxys. Votre plateforme doit dès lors être préalablement paramétrée afin d’arrêter une stratégie de fonctionnement des API.
Certains outils d’Apigee, tels que Shared Flows, vous permettent de normaliser et préserver la cohérence de vos politiques. Les politiques FlowCallout et les flow hooks permettent d'attacher ces politiques aux proxys et de les réutiliser dans les différentes API créées.
6. Concevoir de meilleures API
En traitant les API et les plateformes internes comme des « produits », en intégrant la gestion des API à votre plateforme, en exploitant Apigee pour la gestion et l'automatisation des API, en construisant des pipelines CI/CD pour vos proxies et vos politiques, et en créant des voies royales pour faciliter la consommation des API, vous aidez indubitablement vos développeurs à créer de meilleures API avec Apigee.
Si vous souhaitez obtenir plus de conseils sur le sujet et aider davantage vos développeurs, consultez ce livre blanc qui détaille la démarche. Si vous n’utilisez pas encore Apigee, n’hésitez pas à consulter notre documentation pour en savoir plus ou rendez-vous directement sur ce lien pour tester notre plateforme d’API Management.