Présentation
La gestion des API fait référence aux processus de distribution, de contrôle et d'analyse des interfaces de programmation d'application (API) qui font le lien entre les applications et les données au sein de l'entreprise et entre les différents clouds. Une API permet à deux applications de partager des données en temps réel. Cette communication repose sur un ensemble d'outils, de définitions et de protocoles qui facilite l'intégration des services et logiciels d'applications.
L'objectif de la gestion des API est de permettre aux entreprises qui créent ou utilisent ces API d'en surveiller l'activité et de s'assurer que les besoins des équipes de développement et des applications qui les exploitent sont satisfaits. Grâce aux outils de gestion des API, les entreprises peuvent partager des configurations d'API, contrôler les accès, recueillir et analyser les statistiques d'utilisation, et imposer des politiques de sécurité sur leur réseau ainsi qu'aux utilisateurs des API.
Les entreprises mettent en œuvre des stratégies pour gérer leurs API afin d'être en mesure de répondre à l'évolution rapide des demandes des clients. Dans la majorité des cas, ces entreprises adoptent une architecture de microservices pour répondre aux demandes en accélérant le développement logiciel.
Pour assurer une interaction synchrone entre les différentes architectures de microservices, la méthode désormais privilégiée est l'utilisation d'API basées sur le protocole HTTP. Les API REST facilitent quant à elles la gestion des clés d'API et des points de terminaison d'API privés, la validation des requêtes ainsi que leur limitation par client. Ce sont elles qui connectent tous les microservices entre eux. En gérant ces API, les entreprises peuvent s'assurer que celles-ci sont utilisées en conformité avec leurs politiques. Elles ont aussi les moyens de mettre en place une gouvernance qui applique divers niveaux de sécurité adaptés aux différents services.
Objectifs de la gestion des API
La gestion des API vise essentiellement à centraliser le contrôle de vos API, notamment au niveau des analyses, des contrôles d'accès, de la monétisation, des workflows de développement, etc. Avec une solution de gestion des API, telle que Red Hat 3scale API Management, vous pouvez bénéficier de hauts niveaux de fiabilité, de flexibilité, de qualité et de rapidité. Une solution de gestion des API efficace doit au moins inclure un contrôle d'accès, des limites de débit et des politiques d'utilisation, pour s'assurer que les API publiques et internes sont exploitables et sécurisées. La plupart des solutions de gestion des API incluent aussi les fonctionnalités suivantes :
Un portail pour les développeurs : la création d'un portail réservé aux développeurs est une bonne pratique très répandue pour la gestion des API. Ce type de portail donne généralement accès à de la documentation sur les API ainsi qu'à des processus d'intégration des développeurs tels que l'inscription et l'administration des comptes.
Une passerelle d'API : la passerelle d'API est un point d'entrée unique pour tous les clients. Elle détermine également la façon dont les clients interagissent avec les API via l'application de politiques.
- Des fonctions de gestion du cycle de vie des API : vous devez être en mesure de gérer vos API dès leur conception, tout au long de leur mise en œuvre et jusqu'à leur retrait. La solution Red Hat 3scale API Management est l'une des plus efficaces en matière de gestion du cycle de vie des API.
Fonctions d'analyse : il est important de pouvoir suivre l'activité des API et identifier, par exemple, quel client ou quelle application appelle quelle API et à quelle fréquence. Il est également essentiel de connaître le nombre et la raison des dysfonctionnements des API.
La prise en charge de la monétisation des API : monétisez l'accès aux microservices des API avec des contrats d'utilisation. La gestion des API vous permet d'élaborer des contrats d'utilisation basés sur des données chiffrées, comme le nombre d'appels d'API. Vous pouvez également définir des segments et des profils d'utilisateur associés à des niveaux d'accès et de services spécifiques.
Ces fonctionnalités sont prises en compte lors de la conception d'une API pour qu'elle puisse exploiter des composants cloud ou autogérés afin d'assurer le contrôle du trafic, la sécurité et l'application des politiques d'accès. Des API bien conçues peuvent être partagées, sécurisées, distribuées, contrôlées et monétisées sur une plateforme d'infrastructure qui tient compte des performances, du contrôle des utilisateurs et de la croissance future.
Ressources Red Hat
Gestion des API et microservices
Pour développer rapidement des composants d'applications novateurs et capables de répondre aux nouveaux besoins métier, les microservices et les API sont devenus indispensables. Cette approche, appelée développement d'applications cloud-native, présente toutefois certaines difficultés.
Le principal défi technique posé par la mise en place de microservices consiste à décomposer les systèmes volumineux en éléments plus petits. Les API permettent à ces éléments de se connecter à des sources de données ainsi qu'entre eux.
Autre défi : comment coordonner de nombreux microservices soumis à des changements fréquents ? La découverte des services facilite cette tâche. Les services de gestion des API fournissent les mécanismes de découverte nécessaires pour s'assurer que les microservices disponibles sont détectables et que la documentation concernant leur utilisation est accessible sur le portail des développeurs.
Les microservices imposent d'adopter une approche intégrée en matière de sécurité. Les mécanismes de sécurité ne sont pas les mêmes pour toutes les API : les services externes nécessitent des mécanismes de sécurité différents des services internes. Pour les API moins importantes, la protection qu'offrent les clés d'API est généralement suffisante. Pour les API externes ou essentielles, vous devez recourir à un protocole plus sûr, par exemple OAuth.
Avantages d'une plateforme de gestion des API
Une plateforme de gestion des API comprend plusieurs éléments essentiels qui fournissent des services de bout en bout pour faciliter l'intégration, la gestion, la sécurisation et la surveillance des API.
La connexion des services back-end est assurée par une passerelle d'API qui intercepte et transmet les requêtes entrantes des clients par l'intermédiaire du système de gestion des API.
Le portail pour les développeurs est un tableau de bord web via lequel les équipes de développement peuvent accéder en libre-service à de la documentation sur les API, ainsi qu'à des échantillons de code, kits de développement logiciel (SDK) et autres ressources qui leur sont destinées.
La gestion des API consiste notamment à faciliter la gestion et la surveillance de l'ensemble du cycle de vie des API. Les outils de gestion du cycle de vie des API incluent des fonctions pour concevoir des API conformes aux spécifications du secteur, gérer leurs différentes versions et les processus de contrôle des modifications, ainsi que surveiller leur utilisation et leurs performances.
Les plateformes de gestion des API intègrent les éléments de sécurité et de contrôle d'accès nécessaires à l'application des politiques d'authentification, d'autorisation et de sécurité qui protègent les API et les données sensibles contre tout accès non autorisé ou abusif. Elles comprennent notamment des fonctions basées sur les normes de gestion des accès et des identités OAuth et OpenID.
Pour que l'offre soit complète, la plateforme doit aussi proposer des outils d'analyse et de surveillance qui fournissent des informations sur l'utilisation, les performances et le comportement des API. Ces outils surveillent le volume de trafic, les temps de réponse, les taux d'erreur et les points de terminaisons courants des API en temps réel. Grâce aux données d'historique et aux analyses de tendances fournies par ces outils, il est possible identifier d'éventuels problèmes de performances, d'optimiser l'utilisation des API et de mesurer les effets de celles-ci sur les objectifs de l'entreprise.
Enfin, pour être efficace, la solution de gestion des API devra offrir la possibilité d'élargir l'écosystème en s'intégrant en externe avec d'autres systèmes ou solutions de partenaires ou en interne avec des systèmes du réseau de l'entreprise.
Concevoir une API pour des microservices
Commencez par répondre aux questions suivantes :
- Comment contrôler l'accès à l'API ?
- Comment collecter des données chiffrées et gérer les alertes ?
- Comment gérer les pics d'utilisation ?
- Qui est responsable du taux de disponibilité de l'API ?
- Comment gérer les utilisations indésirables de l'API ?
Mesurer la réussite d'une stratégie de gestion des API
Si vous n'avez pas mis en place de moyen pour mesurer les résultats de vos efforts, vous serez dans l'impossibilité d'évaluer votre réussite. Les analyses fournissent des données sur les activités de l'API, mais il vous reste à définir vos critères de réussite. Voici les cinq objectifs de performances pour vos API dont vous devez tenir compte :
- Fiabilité : la fiabilité correspond au taux de disponibilité de l'API pour les développeurs. Pour la mesurer, vous pouvez utiliser les temps d'arrêt. L'API est-elle toujours disponible ? Vous pouvez aussi utiliser le quota, qui précise le nombre d'appels d'API qu'un développeur peut effectuer pendant une certaine durée. Le quota protège les API contre les abus et rend leur gestion plus prévisible. Le modèle économique et la grille de tarification de certains fournisseurs d'API sont d'ailleurs basés sur des quotas.
- Flexibilité : la flexibilité fait référence aux options dont disposent les développeurs lorsqu'ils adoptent des API. Une flexibilité plus importante implique des efforts (et des coûts) supplémentaires pour l'entreprise qui gère l'API.
- Qualité : la qualité désigne la fiabilité avec laquelle le comportement de l'API se conforme aux attentes des développeurs. C'est un moyen de mesurer la satisfaction des développeurs à l'égard de l'API.
- Vitesse : la vitesse se mesure avec la latence d'accès et le débit. Elle peut être modifiée par des techniques comme la limitation des requêtes ou la mise en cache.
- Coût : en déterminant le coût, vous pouvez fournir aux développeurs le meilleur rapport qualité-prix. Les quatre autres objectifs contribuent tous, d'une manière ou d'une autre, à atteindre l'objectif qui cible le coût.
Nos solutions
Plateforme de cloud hybride basée sur Kubernetes, Red Hat® OpenShift® rassemble des services fiables et testés pour faciliter le développement, la modernisation, le déploiement, l'exécution et la gestion des applications. Notre solution prend en charge les charges de travail les plus exigeantes, notamment l'intelligence artificielle, l'apprentissage automatique et l'edge computing. Combinée aux solutions de notre vaste écosystème de partenaires technologiques, elle permet d'automatiser le déploiement et la gestion du cycle de vie des applications. Red Hat OpenShift peut être déployé sur site, dans un cloud hybride ou un multicloud, ou intégré de manière native aux principaux services cloud.
Basée sur le projet Open Source Istio, la solution Red Hat® OpenShift® Service Mesh fournit un outil unique pour connecter, gérer et surveiller les applications basées sur des microservices. Elle offre une expérience de développement d'architectures complète et plus efficace pour ces applications, évitant ainsi aux équipes de développement la mise en œuvre complexe de services réseau spécifiques pour leurs applications et la logique métier.
La solution Red Hat Application Foundations fournit aux entreprises l'ensemble complet d'outils et de technologies nécessaire pour sécuriser la création, le déploiement et l'exploitation des applications à grande échelle dans le cloud hybride. Elle permet aux équipes de partager, sécuriser, distribuer et contrôler les API sur l'ensemble de leur cycle de vie, essentiellement grâce aux fonctions de gestion centralisée, de contrôle des accès, de limitation de l'utilisation, d'analyse et de génération de rapports d'utilisation.
Le blog officiel de Red Hat
Découvrez les dernières informations concernant notre écosystème de clients, partenaires et communautés.