Publication : 29 novembre 2023
Contributeurs : Chrystal R. China, Michael Goodwin
La surveillance des API est le processus qui consiste à observer les performances, la disponibilité et les fonctionnalités des interfaces de programmation des applications(API) d’entreprise.
Plus précisément, la surveillance des API consiste à évaluer les réponses des API en production pour s’assurer qu’elles répondent aux critères de performance d’une organisation et à alerter les parties concernées en cas de problème. Alors que les entreprises s’orientent de plus en plus vers des infrastructures informatiques numérisées, une connectivité fluide entre les parties et les systèmes est primordiale. C’est là que les API entrent en scène.
Les API constituent les éléments constitutifs de la plupart des applications mobiles et Web ainsi que le centre d’harmonisation des données pour les différents processus, protocoles et applications qui composent la plupart des écosystèmes informatiques. Elles facilitent la communication entre les applications et entre les applications et les clients, ce qui permet une intégration transparente des différents services.
Plus de 75 % des entreprises déclarent disposer de 26 API (en moyenne) par application déployée.1 Et plus d’un tiers déclarent que toutes leurs applications utilisent des API, un chiffre qui devrait atteindre plus de 50 % dans les années à venir.1
Les performances des API constituent donc une réelle préoccupation pour la plupart des entreprises. Si elles ne sont pas gérées correctement, les API compromises ou obsolètes peuvent avoir un impact significatif sur l’expérience de l’utilisateur final et les fonctionnalités générales des applications, ainsi que sur les résultats de l’entreprise. Des pratiques de surveillance vigilantes des API peuvent aider les entreprises à résoudre rapidement les problèmes de performance et de fonctionnalité des API avant qu’ils n’aient des conséquences graves (voire catastrophiques).
Demandez une démonstration d’IBM Instana Observability pour découvrir comment vous pouvez obtenir une observabilité et une surveillance complètes en quelques minutes.
Abonnez-vous à la newsletter IBM
Les API d’aujourd’hui peuvent faciliter les processus d’intégration complexes des systèmes, des applications et des microservices, mais même les API les plus avancées nécessiteront des équipes pour implémenter des pratiques de surveillance rigoureuses. Heureusement, il existe de nombreuses stratégies de surveillance des API qui peuvent aider à garantir l’efficacité et l’efficience des API d’entreprise à long terme.
Le contrôle du temps de fonctionnement envoie un ping à un terminal d’API (c’est-à-dire le lieu d’échanges de données d’API) à intervalles réguliers pour s’assurer qu’il est accessible et réactif (c’est-à-dire « actif »). Si l’API ne répond pas ou met trop de temps à répondre, le système envoie une alerte.
Les indicateurs d’API pour le contrôle du temps de fonctionnement comprennent le pourcentage de disponibilité (la proportion de temps pendant laquelle une API est accessible) et la durée du temps d’arrêt (la durée pendant laquelle une API est inaccessible). Il n’est pas rare que les accords de niveau de service (SLA) spécifient des pourcentages de temps de fonctionnement requis, souvent de l’ordre de 99,9 % (« trois neuf ») ou plus.
Le contrôle des performances quantifie la rapidité et la fiabilité avec lesquelles une API répond aux demandes et permet d’identifier les inefficacités, les problèmes de réseau et les surcharges des serveurs. Les performances sont généralement mesurées par des indicateurs tels que le temps de réponse (le temps nécessaire à une API pour traiter et répondre aux demandes/appels), la latence (le temps nécessaire pour transmettre une demande de l’expéditeur au destinataire) et le débit (le nombre de demandes traitées par unité de temps). Le contrôle des performances permet également de suivre les taux d’erreur, qui indiquent le pourcentage de demandes conduisant à des erreurs.
La surveillance synthétique est un processus qui imite le chemin qu’un utilisateur final peut emprunter lorsqu’il utilise une application. Elle utilise des scripts pour simuler des scénarios utilisateur, des types d’appareils et la localisation géographique, parmi d’autres éléments, afin d’indiquer aux équipes les performances d’une application.
Comme la surveillance synthétique, RUM permet aux équipes de voir des données détaillées sur les performances et les fonctionnalités des applications. Cependant, au lieu de surveiller les expériences des utilisateurs simulés, il observe les expériences réelles des vrais utilisateurs, offrant une full-stack observability pour l’expérience utilisateur et facilitant une prise de décision plus détaillée.
Le contrôle de validation évalue si une API se comporte comme prévu en envoyant des scripts de test pour vérifier les réponses API correctes, les formats de données et les codes d’état et si les appels système renvoient les données appropriées. C’est particulièrement utile pour identifier les problèmes liés aux processus en plusieurs étapes ou à la logique sous-jacente ou au traitement de données d’une API.
Environ 35 % des entreprises ont connu au moins un incident d’API security au cours de l’année dernière et plus de la moitié déclarent avoir été confrontées à plusieurs incidents.1 Parce que les API exposent les données au monde extérieur, elles font partie des cibles les plus susceptibles de faire l’objet de cyberattaques.
Le contrôle de la sécurité se concentre sur la sécurisation des API contre les attaques malveillantes des mauvais acteurs en mettant en œuvre des pratiques telles que le suivi des tentatives de connexion infructueuses, l’analyse des anomalies dans les modèles d’appel d’API et la vérification des violations de données. Il implique souvent l’utilisation de protocoles de chiffrement, de validation et d’authentification (par exemple, OAuth 2.0, clés API, validation de schéma JSON, etc.) pour garantir que seuls les utilisateurs autorisés peuvent accéder aux données de l’API. Ces systèmes garantissent également une transmission sécurisée des données entre les systèmes frontaux et principaux, protégeant ainsi contre les cybermenaces telles que le piratage, le vol de données et les attaques DDoS.
Les applications comme Slack et d’autres applications et services Web dépendent généralement des API gérées et tierces, ce qui peut créer des problèmes de transmission de données. Le contrôle de l’intégration résout ces problèmes en testant les interactions entre une API et les autres applications et systèmes avec lesquels elle communique, en s’assurant que toutes les parties d’un système fonctionnent ensemble comme prévu et en identifiant les problèmes aux interfaces entre les systèmes. Ce type de contrôle est particulièrement utile pour travailler dans une architecture de microservices, où plusieurs services indépendants interagissent par le biais d’API.
Les API, en particulier celles qui fonctionnent dans les secteurs médical et financier, transmettent souvent des données sensibles sur les utilisateurs et les entreprises, ce qui augmente la nécessité de mettre en place des processus de contrôle de la conformité.
Le contrôle de la conformité garantit qu’une API respecte les normes de confidentialité pertinentes (comme la HIPAA), les normes spécifiques au secteur (comme la norme PCI DSS pour le traitement des paiements) et même les normes internes de l’entreprise. Les équipes peuvent suivre les pratiques de traitement des données, les normes de chiffrement et les mécanismes de contrôle des accès, entre autres, afin de maintenir la conformité juridique et la confiance des clients.
Les API évoluent au fil du temps : elles ajoutent de nouvelles fonctionnalités, suppriment les anciennes et modifient le fonctionnement de certaines d’entre elles. Lorsque ces modifications surviennent, il est important de surveiller la transition afin que les applications qui s’appuient sur l’API ne soient pas affectées négativement par les mises à jour. Le contrôle des versions permet aux équipes de suivre les modifications apportées à l’API au fil du temps, généralement en examinant chaque nouvelle version.
Le contrôle des versions peut impliquer la comparaison des fonctionnalités entre les versions, le suivi des taux d’adoption d’une nouvelle version d’API, le contrôle des taux d’erreur liés aux fonctionnalités supprimées et le suivi de l’utilisation des API entre les versions d’une application. Ce type de contrôle est utile pour identifier les problèmes qui surviennent lors des modifications de structure ou de fonctionnalité de l’API et peut servir de base à de futures modifications de l’API.
Quelle que soit l’approche retenue, les équipes doivent donner la priorité à la surveillance en temps réel pour obtenir des commentaires instantanés sur les performances des applications et résoudre les problèmes avant qu’ils n’entraînent des interruptions de service pour les utilisateurs et les partenaires. En outre, la surveillance en temps réel est souvent visualisée depuis des tableaux de bord et des pages de statut qui peuvent fournir des informations immédiates et automatiser les alertes système, deux processus cruciaux pour gérer la haute disponibilité ou les workflows critiques.
Les API sont le ciment qui unit les architectures d’applications modernes et les workflows d’automatisation. Les maintenir en parfait état peut donc rendre une infrastructure informatique plus rapide et plus agile. Pour mettre en œuvre un processus de surveillance des API efficace et complet, les équipes DevOps et de sécurité peuvent :
Avant de mettre en place des protocoles de surveillance, les équipes doivent établir des objectifs clairs. Cela implique de définir des indicateurs de performance clés pour des aspects tels que la disponibilité, le temps de réponse, le débit et les taux d’erreur. Naturellement, les KPI doivent s’aligner sur les objectifs organisationnels et les besoins des consommateurs.
Compte tenu de l’immensité de certains réseaux d’API, s’appuyer sur des outils de surveillance des API est une évidence. Les plateformes avancées d’observabilité des données API (comme Postman, Datadog et IBM Instana Observability) peuvent automatiser et rationaliser le processus de surveillance, à l’aide de fonctionnalités telles que les vérifications des mots-clés HTTP et la surveillance des serveurs DNS. Lors de l’évaluation des services de surveillance, tenez compte de leurs fonctionnalités, de leur facilité d’utilisation, de la compatibilité et des coûts de la pile technologique pour garantir un bon ajustement.
Ce processus varie en fonction des outils de surveillance, mais il implique généralement trois tâches clés : la configuration des terminaux, la définition des tests d’API et la planification de la surveillance.
La configuration des terminaux nécessite que les équipes fournissent l’URL du terminal de l’API, le code de réponse HTTP et tous les en-têtes ou paramètres requis afin que l’outil de surveillance sache où et comment exécuter les scripts de test. Comme l’indique l’expression, la définition des tests est le processus de configuration des outils de surveillance des tests qui s’exécuteront pour valider les performances de l’API. La définition d’un calendrier de surveillance nécessite simplement que l’équipe décide de la fréquence à laquelle l’outil exécute les tests choisis.
Les alertes sont un élément critique de tout système de surveillance, car elles fournissent des notifications instantanées des problèmes du système et permettent aux équipes de résoudre les problèmes avant qu’ils n’affectent les utilisateurs. La plupart des outils de surveillance permettent aux utilisateurs de configurer des alertes en fonction de diverses conditions, par exemple lorsque le temps de réponse de l’API dépasse un certain seuil ou lorsqu’un certain nombre d’erreurs se produisent au cours d’une période donnée.
Les API évoluent, il est donc important d’examiner régulièrement les données et les informations relatives aux performances des API afin de s’assurer que les protocoles de surveillance sont toujours pertinents. Recherchez des tendances et des modèles dans les données historiques qui pourraient indiquer des problèmes sous-jacents. Par exemple, si le temps de réponse d’une API est constamment élevé pendant certaines heures, cela peut indiquer un besoin de ressources supplémentaires pendant ces périodes.
IBM Instana démocratise l’observabilité en fournissant une solution que chacun peut utiliser pour obtenir les données souhaitées dans le contexte dont il a besoin. Spécialement conçue pour le cloud natif mais indépendante de la technologie, la plateforme fournit automatiquement et en continu des données hautement fiables (précision d’une seconde et traces de bout en bout) dans le contexte de dépendances logiques et physiques entre les appareils mobiles, le Web, les applications et l’infrastructure.
Avec IBM Instana Observability, la surveillance des API vous permet d’assurer la disponibilité, la fiabilité et les performances de vos API pour une expérience numérique fluide.
IBM nommé leader dans le rapport Gartner Critical 2023: Critical Capabilities for API Management (critique des capacités pour la gestion des API).
Les API REST offrent un moyen flexible et léger d’intégrer des applications. Elles se sont imposées comme la méthode la plus courante pour connecter des composants dans les architectures de microservices.
La modernisation des applications consiste principalement à transformer des applications monolithiques existantes en applications cloud basées sur une architecture de microservices.