Différences entre Apigee Edge et Apigee X

Vous consultez la documentation d'Apigee Edge.
Accédez à la documentation sur Apigee X.
info

Cette rubrique décrit en quoi Apigee X (parfois simplement appelé "Apigee") diffère d'Apigee Edge. Ces informations sont destinées aux clients Apigee Edge existants qui envisagent de migrer vers Apigee X.

Pour plus d'informations sur les fonctionnalités d'Apigee X, consultez le résumé des fonctionnalités d'Apigee X.

Le tableau suivant répertorie les produits de gestion d'API Apigee comparés sur cette page :

Produit Emplacement d'hébergement Géré par
Apigee Edge for Public Cloud Cloud d'Apigee Apigee
Apigee Edge pour le cloud privé Centre de données privé du client Client
Apigee X Google Cloud Apigee
Apigee hybrid Google Cloud et centre de données privé du client Apigee gère le plan de gestion et le client gère le plan d'exécution.

Comparaison des fonctionnalités d'Apigee Edge et d'Apigee X

Les sections suivantes comparent les fonctionnalités de cloud public/privé d'Apigee Edge avec la disponibilité des fonctionnalités dans Apigee X et le cloud hybride.

Notez que les limites d'Apigee X diffèrent également des limites d'Apigee Edge.

Récapitulatif des différences de fonctionnalités actuelles

Le tableau suivant décrit les différences au niveau des fonctionnalités entre Apigee X (et hybride) et Apigee Edge pour les plates-formes de cloud public et privé.

Fonctionnalité Apigee Edge Compatibilité avec Apigee X et Apigee hybrid
Révisions du proxy d'API

Immuable lors du déploiement

Vérifications d'état actives Compatible avec les MIG externes (qui utilisent des VM). Non compatible avec Private Service Connect. Pour plus d'informations sur les types de routage, consultez la section Configurer le routage.
Adaptateur Apigee pour Istio Obsolète : Nous vous recommandons d'utiliser plutôt Apigee Adapter for Envoy.
Entreprises et développeurs

Une solution similaire, mais pas identique, est disponible. Consultez Utiliser AppGroups pour organiser la propriété d'une application.

CwC (Code with Config)

Planifié

Déploiements
  • Déploiements asynchrones
  • La récupération de l'état du déploiement est basée sur la dernière fois que le plan d'exécution a consulté le plan de gestion.
Environnements
  • Compatibilité avec les groupes d'environnement
  • Libre-service via l'UI et les API Apigee
  • Plus de flexibilité dans la topologie de diffusion
  • Un pod de processeur de messages ne peut diffuser qu'un seul environnement.

Pour en savoir plus, consultez la section À propos des environnements et des groupes d'environnements.

Cibles hébergées

Veuillez utiliser Cloud Run ou Cloud Functions.

Gestion des noms de champs d'en-tête HTTP/1.1 Convertit les noms de champs d'en-tête HTTP/1.1 en minuscules lorsqu'ils sont transmis au backend. Dans Apigee Edge, la casse des noms des champs d'en-tête est conservée.
Rôles IAM pour un contrôle des accès basé sur les rôles précis

Planifié

JSONPath avec [@.length-x]

L'utilisation de [@.length-x] dans les expressions JSONPath n'est pas prise en charge dans Apigee X. La spécification JSONPath indique que les expressions dépendent du langage de script sous-jacent. length-x est une construction JavaScript, et non Java, et [@.length-x] n'a pas été implémenté dans la spécification. Dans Apigee X, l'expression [@.length-x] est remplacée par le schéma d'indexation ([-x]).

Pour cet exemple :

{
    "books": [
      {
        "name": "A",
      },
      {
        "name": "B",
      }
    ]
}

L'entrée $.books[@.length-1] renvoie {“name”: “B”} dans Apigee Edge et [{“name”: “B”}] dans Apigee X.

Keystores/truststores

Northbound géré en tant que secrets Kubernetes

Mappages clé-valeur
  • Vous pouvez créer des KVM chiffrées au niveau de l'environnement dans l'interface utilisateur d'Apigee. Les KVM sont toujours chiffrées. Vous ne pouvez pas ajouter, mettre à jour ni afficher d'entrées de mappage clé-valeur dans l'UI.
  • Utilisez l'attribut private. avec toutes les variables lorsque vous accédez à une KVM avec la commande GET pour masquer les informations de la KVM dans une session de débogage (Trace). Si l'attribut private. n'est pas utilisé, la KVM est toujours chiffrée. Toutefois, ses informations apparaissent déchiffrées dans la session de débogage (Trace) et aucune exception ne sera générée.
  • Vous pouvez gérer les entrées KVM à l'aide de l'API keyvaluemaps.entries ou de la règle KeyValueMapOperations.
  • Vous pouvez utiliser des ensembles de propriétés pour certains des mêmes cas d'utilisation que les mappages clé-valeur. Consultez la page Utiliser les ensembles de propriétés.
  • L'élément <MapName> permet à la règle KeyValueMapOperations d'identifier la KVM à utiliser de manière dynamique, au moment de l'exécution.

Pour en savoir plus sur la création de KVM dans l'UI, consultez la page Utiliser les mappages clé-valeur. Consultez également la page Accéder aux données de configuration pour savoir comment choisir le mécanisme de persistance des données approprié.

Microgateway Nous vous recommandons d'utiliser plutôt Apigee Adapter for Envoy.
Monétisation Consultez Différences avec la monétisation
Node.js
  • Les proxys d'API Node.js ne sont pas acceptés.
  • Apigee vous recommande d'héberger des applications Node.js en tant que conteneurs distincts dans Kubernetes (même cluster ou cluster différent).
mTLS Northbound Compatible avec les équilibreurs de charge Google Cloud. Consultez Authentification TLS mutuelle nord-sud Apigee X à l'aide d'un équilibreur de charge d'application externe.
OAuth Une nouvelle règle RevokeOAuthv2 révoque par ID d'utilisateur final, ID d'application ou les deux. Cette règle remplace l'API Apigee Edge pour révoquer les jetons OAuth2.
Règles
  • Nouvelles règles :
    • Règle AssertCondition : évalue une instruction conditionnelle au moment de l'exécution dans les flux de requêtes ou de réponses.
    • Règle CORS : permet aux appels XMLHttpRequest (XHR) JavaScript exécutés sur une page Web d'interagir avec les ressources de domaines extérieures au domaine d'origine.
    • Règle DataCapture : remplace la règle StatisticsCollector.
    • Règle ExternalCallout : envoie des requêtes gRPC à votre serveur gRPC pour mettre en œuvre un comportement personnalisé non compatible avec les règles Apigee.
    • Règle GraphQL : analyse les charges utiles GraphQL en variables de flux de messages, vérifie les requêtes GraphQL par rapport à un schéma, ou les deux.
    • Règle PublishMessages : publie les informations sur le flux de proxy de l'API dans un sujet Google Cloud Pub/Sub.
    • Règle RevokeOAuthv2 : révocation par ID utilisateur, ID d'application ou les deux.
    • Règle TraceCapture : ajoute des variables supplémentaires aux données de trace de votre environnement d'exécution Apigee.
  • Règle non compatible :
    • Règle StatisticsCollector (remplacée par la nouvelle règle DataCapture)
  • Règles modifiées:
reasonPhrase Non compatible.
Ressources Impossible d'utiliser les ressources au niveau de l'organisation
Rôles et autorisations
  • Gestion via le service IAM de Google Cloud Console
  • Certains rôles sélectionnés prêts à l'emploi sont disponibles.
  • Vous pouvez créer des rôles personnalisés pouvant inclure d'autres autorisations Google Cloud.

Pour en savoir plus, consultez la page Utilisateurs et rôles.

Sense Utilisez Advanced API Security.
Services SOAP dans l'assistant de création de proxy Non compatible Consultez wsdl2apigee, un projet Open Source qui fournit des utilitaires SOAP à utiliser avec Apigee.
Sessions de trace/débogage Consultez la section Différences avec Trace.
Hôtes virtuels

Apigee hybrid :

  • L'entrée est mise en œuvre via Anthos Service Mesh.
  • Les clés et les certificats sont déployés directement dans Kubernetes.

Pour Apigee X :

  • Chaque instance expose un point de terminaison HTTPS via un certificat autosigné. L'autorité de certification peut être téléchargée en interrogeant l'organisation.

Différences avec Trace

Le tableau suivant compare les différences de fonctionnement de Trace dans Apigee X et Apigee hybrid par rapport à Apigee Edge Cloud:

Fonctionnalité Apigee Edge Cloud Apigee X et Apigee hybride
Rapidité Temps réel, synchrone Léger retard, asynchrone
Nom/ID de session Accepte le nom de session de l'utilisateur. N'accepte pas le nom de session de l'utilisateur.
Filtres Compatibilité avec les filtres de base, tels que le filtrage des en-têtes et des paramètres de requête. Compatibilité avec la logique de filtrage complexe, y compris les opérations logiques "AND" et "OR". Accès à toute variable de flux mentionnée dans la documentation de référence sur les variables de flux. La syntaxe est identique à celle utilisée avec les conditions, comme indiqué dans la documentation de référence sur les conditions.
Délai avant expiration de la session

Définit la durée de la session de débogage, ainsi que la durée de conservation des données.

La valeur par défaut est de 20 minutes lorsqu'elle est lancée via des appels d'API et de 10 minutes lorsqu'elle est lancée dans l'UI.

Ne définit que la durée de la session de débogage. Le point de départ est le moment où le processeur de messages reçoit la requête d'exécution en mode de débogage.

La valeur par défaut est de 5 minutes si la session a été lancée avec l'API, et de 10 minutes si elle a été lancée dans l'UI.

Les données sont conservées pendant 24 heures avant que hybrid ne les supprime automatiquement.

Validité de la session

Durée pendant laquelle la requête de création de session est valide. Si la session de débogage ne démarre pas dans ce délai, les synchronisateurs peuvent ignorer la requête de création de session. Veillez à maintenir la synchronisation des horloges de vos synchronisateurs, comme décrit dans la section Prérequis.
Nombre de requêtes Trace Maximum 20 par processeur de message. La valeur par défaut est de 10 par processeur de messages. La valeur maximale est de 15.
API Apigee Edge Cloud Apigee X
Apigee X expose l'API Debug Session et l'API Debug Session Data, mais n'accepte pas les éléments suivants via les API Apigee X :
Arrêter la session de débogage

Supprimer des transactions spécifiques

Différences avec la monétisation

Le tableau suivant compare les principales fonctionnalités entre la monétisation Apigee Edge et la monétisation Apigee X.

Monétisation Apigee Edge Monétisation Apigee X/hybride
Les plans tarifaires sont associés à des groupes de produits d'API pouvant être associés à plusieurs produits d'API Les plans tarifaires sont associés à des produits d'API (relation un à un)
Les développeurs d'applications achètent des plans tarifaires Les développeurs d'applications achètent des produits d'API
Les quotas sont gérés au niveau du proxy d'API Les quotas sont gérés au niveau du produit d'API (au niveau de l'entreprise)
Les plans tarifaires publiés peuvent uniquement être expirés ; il est impossible de les modifier ou de les supprimer Les plans tarifaires publiés peuvent être expirés, modifiés, placés à l'état de brouillon ou supprimés
Configuration complexe (pas d'assistant ni d'outil de prévisualisation) Configuration simplifiée des plans tarifaires à l'aide de l'assistant et de l'outil de prévisualisation
La règle MonetizationLimitsCheck bloque l'accès après le premier appel d'API traité si le développeur de l'application n'a pas souscrit d'abonnement La règle MonetizationLimitsCheck bloque l'accès immédiatement si le développeur de l'application n'a pas souscrit d'abonnement ou dépasse le quota
Les données de monétisation des transactions peuvent être capturées à l'aide de variables personnalisées spécifiées dans la règle d'enregistrement des transactions. Apigee capture automatiquement les données de monétisation. Les données de monétisation des transactions peuvent être remplacées à l'aide de la règle DataCapture. Pour en savoir plus, consultez Capturer les données de monétisation.
Les comptes avec prépaiement et post-paiement peuvent être configurés à la fois pour les développeurs et pour les plans tarifaires. Les comptes avec prépaiement et post-paiement ne peuvent être configurés que pour les développeurs.

Quelles fonctionnalités Apigee Edge ne sont pas compatibles avec Apigee X ?

Google ne prévoit pas d'assurer les fonctionnalités suivantes :

  • Extensions Apigee Edge
  • Magasin de spécifications OpenAPI
  • API permettant de rechercher ou de révoquer les jetons d'accès OAuth (car les jetons sont hachés)
  • Règle OAuth v1 ou OAuth OAuthv1.0a
  • Trireme (fin de vie le 10/10/2019)
  • Les en-têtes précédés du préfixe "X-Apigee-" ne sont pas compatibles avec Apigee X et sont supprimés des requêtes et des réponses avant d'être envoyés aux cibles et aux clients.

Comparatif des API

En général, la plupart des API Apigee Edge disposent d'équivalents d'API Apigee. Cette section fournit les informations suivantes :

Récapitulatif des changements d'utilisation de l'API

Vous trouverez ci-dessous la liste des modifications apportées au comportement de toutes les API Apigee X par rapport aux API Apigee Edge.

Comportement API Apigee Edge API Apigee X
Domaine de base api.enterprise.apigee.com apigee.googleapis.com
Types de contenu application/json
application/xml
application/json
Authentification OAuth2, SAML, Basic OAuth2
Horodatage dans les clés Format int64
{
  "createdAt": 1234,
  "lastModifiedAt": 5678
}
Format String
{
  "createdAt": "1234",
  "lastModifiedAt": "5678"
}
Structure du paramètre de requête expand=false
[
        "helloworld",
        "weather"
      ]
{
  "proxies": [
    {
      "name": "helloworld"
    },
    {
      "name": "weather"
    }
  ]
}
Paramètres de requête précédés du trait de soulignement Compatible (_optimal=true) Non compatible (optimal=true)
Propriétés des charges utiles :
  • created_by
  • modified_by
  • self
Compatible Non compatible
Valeurs par défaut dans les charges utiles Inclus Non incluses
Structure de traitement des erreurs
{
        "code": "...",
        "message": "..",
        "contexts": []
      }
{
  "error": {
    "code": 409,
    "message": "...",
    "status": "ABORTED",
    "details": [...]
  }
}
Réponse de suppression du cache Renvoie : 200 OK et les détails du cache Renvoie 204 No Content
Opérations d'API de mise en cache Options répertorier, créer, obtenir, mettre à jour, supprimer, tout effacer, et effacer. Répertorier et Supprimer uniquement. Un cache L1 de courte durée est automatiquement créé lorsque vous déployez un proxy d'API. Pour plus d'informations, consultez la section Composants internes du cache.

Différences entre les API de métriques Apigee Edge et Apigee X

Le récapitulatif des modifications effectuées à l'aide de l'API répertorie les différences générales entre l'API Apigee Edge et l'API Apigee X. Le tableau suivant répertorie les différences spécifiques aux API de métriques :

Fonctionnalité API Apigee Edge API Apigee X
Point de terminaison de l'API api.enterprise.apigee.com apigee.googleapis.com
E-mails d'analyse quotidiens Aucune API compatible
API Async Query List Obtenir la liste des requêtes d'analyse asynchrones La propriété userId est omise de la réponse. Consultez la page Method: organizations.environments.queries.list.
API de rapports personnalisés API Reports Les propriétés createdBy et lastModifiedBy ont été supprimées de la réponse. Consultez la page concernant l'API Reports.

API Apigee Edge non compatibles

Le tableau suivant répertorie les API Apigee Edge non compatibles (qui ne possèdent pas d'équivalent d'API Apigee X).

Catégorie d'API API Apigee Edge non compatibles
Surveillance des API Aucune API compatible
Proxys d'API
  • Forcer l'annulation du déploiement du proxy d'API
  • Obtenir les dépendances npm
  • Gérer les modules npm
Audits Utiliser l'API Stackdriver Logging
Journaux mis en cache Aucune API compatible
Entreprises Aucune API compatible
Applications d'entreprise Aucune API compatible
Famille d'applications d'entreprise Aucune API compatible
Clés d'applications d'entreprise Aucune API compatible
Sessions de débogage
  • Impossible d'arrêter les sessions de trace
  • Impossible de supprimer des transactions individuelles

Pour en savoir plus, consultez la section Différences avec Trace.

Application de développeur Obtenir le nombre de ressources d'API
Famille d'applications de développeur Aucune API compatible
Extensions Aucune API compatible
Keystore : truststore Tester un keystore ou un truststore
LDAP Aucune API compatible
Monétisation Aucune API compatible
OAuth V2 Aucune API compatible
Règles Aucune API compatible
Fichiers de ressources
  • Champ d'application de la révision du proxy API
  • Champ d'application de l'organisation
Sense Aucune API compatible
Utilisateurs et rôles utilisateur Utilisez les API liées à IAM (Google Identity and Access Management) décrites dans la page Gérer les utilisateurs, les rôles et les autorisations à l'aide d'API
Hôtes virtuels Aucune API compatible

Apigee Edge pour le cloud privé/Apigee hybrid

Le tableau suivant compare Apigee Edge for Private Cloud et Apigee hybrid:

Service Produit ou catégorie de fonctionnalités Apigee
Apigee Edge pour le cloud privé Apigee hybrid
Analytics Serveurs Qpid et Postgres Un pod de collecte de données dans le plan d'exécution utilise fluentd et UDCA (Universal Data Collection Agent, agent de collecte des données universel) pour recueillir des données analytiques et alimenter les données dans la plate-forme d'analyse unifiée (UAP, Unified Analytics Platform) dans le plan de gestion.
Passerelle de proxy d'API Processeur de messages Le processeur de messages traite les requêtes entrantes. Les processeurs de messages sont mis en œuvre sous la forme d'une ou plusieurs applications en conteneur dans le plan d'exécution.
Persistance Nœud ou anneau Cassandra Cassandra assure la persistance des fonctionnalités des services de gestion des clés, des mappages clé-valeur, des quotas et du cache.
Déploiement ZooKeeper Le synchronisateur garantit que les configurations de proxy d'API, les informations de l'environnement et d'autres données sont à jour entre le plan de gestion et le plan d'exécution.
Interface utilisateur administrative L'UI Apigee Edge est hébergée sur le serveur de gestion. L'UI Apigee est hébergée sur le plan de gestion.
Équilibrage de charge Routeur Un contrôleur d'entrée Istio envoie des requêtes à l'application en conteneur Message Processor (MP) dans le plan d'exécution.
API Serveur de gestion Les API Apigee X sont accessibles via le serveur de gestion et MART. MART interagit avec le datastore Cassandra local et sert de fournisseur d'API pour que les API Apigee X puissent accéder aux entités des données d'exécution et les gérer.
Métriques Chaque composant configuré avec JMX Géré par un seul serveur Prometheus par cluster pour tous les services.