Qu'est-ce qu'Apigee Edge ?

Vous consultez la documentation d'Apigee Edge.
Consultez la documentation Apigee X.
en savoir plus

Apigee Edge est une plate-forme permettant de développer et de gérer des API. En faisant face aux services avec une couche proxy, Edge fournit une abstraction ou une façade pour vos API de service de backend, et assure la sécurité, la limitation du débit, les quotas, les analyses, etc.

Par exemple, vous pouvez regarder un webcast expliquant comment Walgreens utilise les API et Apigee Edge pour fournir un riche écosystème d'applications autour du tirage photo, des ordonnances et des autres services qu'il propose.

Créez votre premier proxy !

Accélération numérique

Cette vidéo vous donne un bref aperçu de la manière dont Apigee vous aide à faire évoluer votre activité numérique.

Choisir entre la gestion des services et la gestion des API

Cette vidéo vous aide à comprendre les différences importantes entre la gestion des services et la gestion des API. entreprise.

Mettre à disposition vos services sur le Web

Aujourd'hui, les entreprises souhaitent mettre leurs services de backend à disposition sur le Web, afin que ces services soient utilisés par les applications exécutées sur les appareils mobiles et les ordinateurs de bureau. Une entreprise peut souhaiter exposer des services fournissant des informations sur le prix et la disponibilité des produits, des services de vente et de commande, des services de suivi des commandes, ainsi que tout autre service requis par les applications clientes.

Les entreprises exposent souvent des services sous la forme d'un ensemble de points de terminaison HTTP. Les développeurs d'applications clientes envoient ensuite des requêtes HTTP à ces points de terminaison. Selon le point de terminaison, le service peut ensuite renvoyer des données, au format XML ou JSON, vers l'application cliente.

Les applications clientes qui exploitent ces services peuvent être implémentées en tant qu'applications autonomes pour un appareil mobile ou une tablette, sous forme d'applications HTML5 s'exécutant dans un navigateur ou sous forme de tout autre type d'application pouvant envoyer une requête à un point de terminaison HTTP et consommer des données de réponse. Ces applications peuvent être développées et publiées par l'entreprise qui a exposé les services ou par des développeurs d'applications tiers qui utilisent des services accessibles au public.

L'image suivante montre ce type de modèle :

Plusieurs types d'applications, tels que les applications mobiles, les applications de point de vente, les partenaires et les applications Web, se connectent aux services de backend, tels que ESB, SOA, les serveurs d'applications et les bases de données.

Étant donné que les fournisseurs proposent leurs services sur le Web, ils doivent s'assurer qu'ils ont pris toutes les mesures nécessaires pour sécuriser et protéger leurs services contre tout accès non autorisé. En tant que fournisseur de services, vous devez tenir compte des points suivants :

  • Sécurité : comment allez-vous contrôler l'accès à vos services pour empêcher tout accès non autorisé ?
  • Compatibilité : vos services fonctionneront-ils sur différentes plates-formes et appareils ?
  • Mesurabilité : comment pouvez-vous surveiller vos services pour vous assurer qu'ils sont disponibles ?
  • Monétisation:comment suivre et facturer l'accès des clients à vos services ?
  • Et bien d'autres considérations

Après la publication d'une application cliente qui accède à des services, le fournisseur de services est tenu de garantir que ces services continuent à fonctionner au fur et à mesure qu'ils ajoutent, modifient ou suppriment ces services. Le fournisseur de services doit également pouvoir informer les développeurs d'applications de toute modification apportée aux services, afin de s'assurer que les applications clientes restent synchronisées avec ces services.

Les développeurs d'applications clientes sont confrontés à des défis lorsqu'ils tentent d'exploiter des services de différents fournisseurs. De nombreuses technologies sont actuellement disponibles pour être utilisées par un fournisseur de services afin d'exposer ses services. La même application cliente peut devoir utiliser un certain mécanisme pour exploiter un service provenant d'un fournisseur, et un autre mécanisme pour exploiter un service provenant d'un autre fournisseur. Les développeurs d'applications peuvent même faire face à une situation dans laquelle ils doivent utiliser différents mécanismes pour exploiter des services du même fournisseur.

Rendre les services disponibles via Apigee Edge

Apigee Edge vous permet de fournir un accès sécurisé à vos services à l'aide d'une API bien définie et cohérente sur tous vos services, quelle que soit leur mise en œuvre. Une API cohérente :

  • permet aux développeurs d'applications de consommer facilement vos services ;
  • permet de modifier la mise en œuvre du service de backend sans affecter l'API publique ;
  • Vous permet de tirer parti de l'analyse, de la monétisation, du portail des développeurs et d'autres fonctionnalités intégrées à Edge.

L'image suivante montre une architecture dans laquelle Edge gère les requêtes des applications clientes vers vos services de backend:

Apigee Edge se situe entre les applications clientes et les services de backend.

Au lieu de demander aux développeurs d'applications de consommer vos services directement, ils accèdent à un proxy d'API créé sur Edge. Le proxy d'API fonctionne comme un mappage d'un point de terminaison HTTP accessible au public à votre service de backend. En créant un proxy d'API, vous permettez à Edge de gérer les tâches de sécurité et d'autorisation requises pour protéger vos services, ainsi que pour analyser, surveiller et monétiser ces services.

Étant donné que les développeurs d'applications envoient des requêtes HTTP à un proxy d'API plutôt qu'à vos services directement, les développeurs n'ont pas besoin d'en savoir plus sur la mise en œuvre de vos services. Le développeur a uniquement besoin de savoir ce qui suit :

  • L'URL du point de terminaison du proxy d'API
  • Tous les paramètres de requête, en-têtes ou paramètres de corps transmis dans une requête
  • Tous les identifiants d'authentification et d'autorisation requis
  • Le format de la réponse, y compris le format des données de réponse, tel que XML ou JSON

Le proxy d'API isole le développeur d'applications de votre service de backend. Par conséquent, vous êtes libre de modifier la mise en œuvre du service tant que l'API publique reste cohérente. Grâce à la cohérence de l'API frontend, les applications clientes existantes continueront de fonctionner quelles que soient les modifications apportées au backend.

Vous pouvez utiliser des règles sur le proxy d'API pour ajouter des fonctionnalités à un service sans avoir à modifier le service de backend. Par exemple, vous pouvez ajouter des règles à votre proxy pour effectuer des transformations et filtrer des données, ajouter des règles de sécurité, exécuter une logique conditionnelle ou un code personnalisé, et effectuer de nombreuses autres actions. La chose importante à retenir est que vous mettez en œuvre des stratégies sur Edge et non sur votre serveur backend.

Pour en savoir plus, consultez la page Comprendre les API et les proxys d'API.

Créer un produit d'API

Un proxy d'API est le point de terminaison HTTP sur Apigee Edge que les développeurs utilisent pour accéder à vos services de backend. Bien que cela soit possible, vous ne mettez généralement pas à disposition des proxys d'API individuels. À la place, vous regroupez un ou plusieurs proxys d'API dans un produit d'API.

Un produit d'API est un ensemble de serveurs proxy d'API associés à un forfait. Ce forfait peut définir des limites d'accès sur les proxys d'API, assurer la sécurité, autoriser la surveillance et l'analyse, et proposer des fonctionnalités supplémentaires. Les produits d'API constituent également le mécanisme central utilisé par Edge pour les autorisations et le contrôle des accès à vos API.

Vous êtes très flexible lors de la création de produits d'API. Par exemple, plusieurs produits d'API peuvent partager le même proxy d'API. La figure suivante illustre trois produits d'API. Notez que tous les produits autorisent l'accès au proxy d'API 3, mais que seul le produit A autorise l'accès au proxy d'API 1.

Le produit A accède aux proxys 1 et 3. Le produit B accède au proxy 3.
    Le produit C accède au proxy 2, 3 et 4.

Vous pouvez définir différentes propriétés pour chaque produit d'API. Par exemple, vous pouvez proposer un produit d'API avec une limite d'accès faible, telle que 1 000 requêtes par jour, à un prix attractif. Vous publiez ensuite un autre produit d'API donnant accès au même proxy d'API, mais avec une limite d'accès beaucoup plus élevée, à un prix plus élevé. Vous pouvez également créer un produit d'API sans frais permettant l'accès en lecture seule à vos services, puis vendre un produit d'API aux mêmes proxys d'API permettant un accès en lecture/écriture.

Pour plus d'informations, consultez Gérer les produits d'API.

Autoriser une application côté client à accéder à votre produit d'API

Lorsque les développeurs d'applications décident d'accéder à vos services, ils doivent d'abord enregistrer leur application cliente auprès de votre produit d'API.

Une application cliente nécessite une clé pour appeler une API associée à un produit d'API.

Lors de l'enregistrement, un développeur d'applications reçoit une clé API qu'il doit ensuite inclure dans chaque requête adressée à un proxy d'API inclus dans le produit d'API. Cette clé est authentifiée et, si l'authentification réussit, la requête est autorisée à accéder à votre service de backend.

Vous pouvez révoquer la clé à tout moment pour que l'application cliente n'ait plus accès à vos services. Vous pouvez également définir une limite de temps sur une clé de sorte que le développeur doive l'actualiser après un délai spécifique.

Vous choisissez comment gérer les requêtes d'enregistrement des développeurs pour accéder à vos produits d'API. En utilisant les services pour les développeurs Apigee Edge, vous pouvez automatiser le processus d'enregistrement ou contrôler les accès à l'aide d'un processus manuel.

Créer des produits d'API et les mettre à la disposition des développeurs

  1. Créez un ou plusieurs proxys d'API qui associent des URL accessibles au public à vos services de backend.
  2. Créez un produit d'API qui regroupe vos proxys d'API.
  3. Déployez les proxys d'API et les produits d'API.
  4. Indiquez à vos développeurs que le produit d'API est disponible.

Une fois que les développeurs d'applications sont au courant de la disponibilité de votre produit API, ils pourront :

  1. enregistrer leurs applications clientes dans votre produit d'API ;
  2. recevoir une clé API pour le produit d'API.
  3. Vous pouvez envoyer des requêtes à vos services via des proxys d'API (intégrés au produit d'API), puis transmettre la clé API à chaque requête.

Composants d'Apigee Edge

Apigee Edge comprend des services d'exécution, de surveillance et d'analyse d'API, ainsi que des services pour les développeurs qui, ensemble, fournissent une infrastructure complète pour la création, la sécurité, la gestion et les opérations des API.

La figure suivante montre les services Edge:

Les développeurs accèdent à l'écosystème des développeurs, qui comprend SmartDocs, le portail personnalisable, la gestion des clés en libre-service et les SDK. Les applications et les services accèdent à l'environnement d'exécution des API, qui comprend la passerelle, les connecteurs, le code personnalisé, la sécurité et les API de gestion. Les ingénieurs en charge des opérations accèdent à la surveillance et aux analyses, y compris aux rapports d'entreprise, à la surveillance des performances, aux rapports personnalisés et au traçage.

Environnement d'exécution de l'API Edge

Les services d'API Apigee Edge permettent de créer et de consommer des API, que vous créiez des proxys d'API en tant que fournisseur de services ou que vous utilisiez des API, des SDK et d'autres services pratiques en tant que développeur d'applications.

Le serveur de gestion des API fournit des outils permettant d'ajouter et de configurer vos proxys d'API, de configurer les produits d'API et de gérer les développeurs d'applications et les applications clientes. Cela décharge de nombreux problèmes de gestion courants de vos services de backend. Lorsque vous ajoutez un proxy d'API, vous pouvez appliquer des règles au proxy d'API pour l'ajout de fonctionnalités de sécurité, de limitation du débit, de médiation, de mise en cache, etc. Vous pouvez également personnaliser le comportement de votre proxy d'API en appliquant des scripts personnalisés, en appelant des API et des services tiers, etc. Voir Comprendre les API et les proxys d'API pour plus d'informations.

Si vous êtes un développeur Node.js, vous pouvez facilement ajouter vos modules Node.js à Edge pour créer des API et des applications composites d'API, tout en tirant parti des avantages offerts par Edge, de la transformation des messages à l'analyse.

Surveillance et analyse en périphérie

Apigee Edge API Analytics fournit des outils puissants pour afficher les tendances d'utilisation à court et à long terme de vos API. Vous pouvez segmenter votre audience en fonction des meilleurs développeurs et applications, comprendre l'utilisation par méthode API pour savoir où investir, et créer des rapports personnalisés sur les informations au niveau de l'entreprise ou des opérations.

Lorsque les données transitent par Edge, plusieurs types d'informations par défaut sont collectés, notamment l'URL, l'adresse IP, l'ID utilisateur pour les informations sur les appels d'API, la latence, les données d'erreur, etc. Vous pouvez créer des règles pour ajouter d'autres informations, telles que des en-têtes, des paramètres de requête et des parties d'une requête ou d'une réponse extraite de XML ou de JSON. Ces informations sont collectées de manière asynchrone à partir du flux réel de requête/réponse et n'ont donc aucun effet sur les performances de l'API.

L'interface utilisateur de gestion vous permet d'afficher plusieurs métriques et variables dans un navigateur, comme illustré dans la figure suivante :

Un tableau de bord de données analytiques affichant le nombre d'erreurs liées aux règles sous forme de graphique et de tableau

Cependant, vous pouvez également accéder au service d'analyse et le contrôler via une interface de ligne de commande ou via les API RESTful. Consultez la page Présentation d'API Analytics pour en savoir plus.

Écosystème de développeurs en périphérie

Apigee Edge fournit des services pour les développeurs qui vous permettent de:

  • Gérez la communauté des développeurs d'applications qui utilisent vos services.
  • Travailler avec des développeurs internes et externes, et formaliser les relations avec les modèles financiers.
  • Intégrer des développeurs et créer un portail des développeurs. Les développeurs d'applications se connectent à votre portail pour accéder à la documentation de l'API afin d'en savoir plus sur vos produits d'API accessibles au public et de gérer les clés API.

Chaque client Edge peut créer son propre portail des développeurs, dans le cloud ou sur site avec Apigee Edge for Private Cloud.

Apigee Edge vous permet de créer deux types de portails:

Monétisation

Les fonctionnalités de monétisation fournissent l'infrastructure et les relations financières nécessaires pour faire de votre communauté de développeurs une véritable chaîne dédiée à vos ressources numériques. Avec la monétisation, vous pouvez créer divers plans tarifaires qui facturent des frais aux développeurs pour l'utilisation de vos produits d'API ou qui vous permettent de les payer dans le cadre de scénarios de partage des revenus.

Les forfaits comprennent des forfaits prépayés, des forfaits post-payés, des forfaits à frais fixes, des forfaits variables, les forfaits "freemium", des forfaits adaptés à des développeurs spécifiques, des forfaits couvrant des groupes de développeurs, etc. De plus, la monétisation inclut les fonctionnalités de reporting et de facturation.

Pour en savoir plus, consultez Vue d'ensemble de la monétisation.

Saveurs de la périphérie

Apigee Edge est disponible dans les versions suivantes:

  • Cloud public:version SAAS hébergée dans laquelle Apigee gère l'environnement, ce qui vous permet de vous concentrer sur la création de vos services et la définition des API de ces services.
  • Cloud privé:installation sur site dans laquelle vous contrôlez l'environnement matériel et êtes responsable de l'installation, de la mise à niveau, de la maintenance et d'autres processus administratifs.

Si vous êtes intéressé par notre version Apigee hybrid, consultez les rubriques suivantes sur Apigee X:

D'un point de vue fonctionnel, les versions du cloud public et du cloud privé sont très similaires. Cependant, la version de cloud privé n'est pas compatible avec toutes les fonctionnalités de la version de cloud public. Les fonctionnalités suivantes ne sont pas compatibles avec le cloud privé:

  • Cibles hébergées
  • Extensions
  • Portails de développeurs intégrés (Remarque: les portails pour développeurs basés sur Drupal sont pris en charge)
  • Surveillance des API
  • Sense

Pour obtenir la liste des différences entre les types de produit, consultez la page Comparer les produits Apigee.

Il existe également des différences mineures entre les API, comme décrit dans la section Différences entre l'API Edge for Public Cloud et l'API Private Cloud.

Le cloud public est compatible avec les comptes sans frais et payants. Le cloud privé nécessite des comptes payants.

Pour assurer une installation sur site complète, la version du cloud privé inclut des composants tels que le serveur de gestion Apigee, une base de données NoSQL Apache Cassandra, un serveur OpenLDAP, un routeur de messages et un processeur de messages.