Diferencias entre Apigee Edge y Apigee X

Estás viendo la documentación de Apigee Edge.
Ve a la documentación de Apigee X.
info

En este tema, se describe en qué se diferencia Apigee X (a veces, también conocida simplemente como "Apigee") de Apigee Edge. Esta información está dirigida a clientes existentes de Apigee Edge que estén considerando migrar a Apigee X.

Para obtener información adicional sobre las funciones de Apigee X, consulta el resumen de funciones de Apigee X.

En la siguiente tabla, se enumeran los productos de administración de la API de Apigee que se comparan en este tema:

Producto Cuándo se aloja Administrado por
Apigee Edge para la nube pública Nube de Apigee Apigee
Apigee Edge para la nube privada El centro de datos privado del cliente Cliente
Apigee X Google Cloud Apigee
Apigee Hybrid Google Cloud y el centro de datos privado del cliente Apigee administra el plano de administración y el cliente administra el plano de entorno de ejecución.

Comparación de funciones de Apigee Edge y Apigee X

En las siguientes secciones, se comparan las funciones de la nube pública o privada de Apigee Edge con la disponibilidad de funciones en Apigee X y Apigee Hybrid.

Ten en cuenta que los límites de Apigee X también difieren de los límites de Apigee Edge.

Resumen de las diferencias actuales de las características

En la siguiente tabla, se describen las diferencias en el nivel de las funciones entre Apigee X (y Apigee Hybrid) y Apigee Edge para las plataformas de nube pública y privada.

Característica de Apigee Edge Compatibilidad con Apigee X y Apigee Hybrid
Revisiones del proxy de API

Inmutable cuando se implementa

Verificaciones de estado activas Se admite para MIG externos (que usan VMs). No se admite cuando se usa Private Service Connect. Para obtener información sobre los tipos de enrutamiento, consulta Configura el enrutamiento.
Adaptador de Apigee para Istio Obsoleto: Te recomendamos que uses el adaptador de Apigee para Envoy.
Empresas y desarrolladores

Hay una solución similar, pero no idéntica, disponible. Consulta Usa AppGroups para organizar la propiedad de las apps.

CwC (código con configuración)

Planificada

Deployments
  • Implementaciones asíncronas
  • La obtención del estado de implementación se basa en la última vez que el plano de entorno de ejecución "se registró" con el plano de administración.
Entornos
  • Compatibilidad con grupos de entornos
  • Autoservicio a través de la IU y las API de Apigee
  • Más flexibilidad en la topología de entrega
  • Un pod de MP solo puede entregar un entorno

Para obtener más información, consulta Información acerca de los entornos y grupos de entornos.

Destinos alojados

Usa Cloud Run o Cloud Functions

Manejo de nombres de campo del encabezado HTTP/1.1 Convierte los nombres de los campos de encabezado HTTP/1.1 a minúsculas cuando se reenvían al backend. En Apigee Edge, se conserva el caso de los nombres de los campos de encabezado.
Roles de IAM para un control de acceso detallado según la función

Planificada

JSONPath con [@.length-x]

El uso de [@.length-x] en expresiones JSONPath no es compatible con Apigee X. La especificación JSONPath establece que las expresiones dependen del lenguaje de secuencia de comandos subyacente. length-x es una construcción de JavaScript, no de Java, y [@.length-x] no se implementó como parte de la especificación. En Apigee X, el esquema de indexación ([-x]) reemplaza la expresión [@.length-x].

Para este ejemplo:

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

La entrada: $.books[@.length-1] muestra {“name”: “B”} en Apigee Edge y [{“name”: “B”}] en Apigee X.

Almacéne de claves/Truststores

Extremos ascendentes administrados como secretos de Kubernetes

KVM
  • Puedes crear KVM encriptadas con alcance de entorno en la IU de Apigee. Los KVM siempre están encriptados. No puedes agregar, actualizar ni ver entradas de KVM en la IU.
  • Usa el atributo private. con todas las variables cuando accedas a un KVM con el comando GET para ocultar la información de KVM en una sesión de depuración (Trace). Si no se usa el atributo private., la KVM aún está encriptada. Sin embargo, la información de KVM aparecerá desencriptada en la sesión de depuración de Trace) y no se lanzará ninguna excepción.
  • Puedes administrar las entradas de KVM mediante la API de keyvaluemaps.entries o la política de KeyValueMapOperations.
  • Puedes usar conjuntos de propiedades para algunos de los mismos casos de uso que KVM. Consulta Cómo usar conjuntos de propiedades.
  • El elemento <MapName> habilita la política KeyValueMapOperations para identificar qué KVM se usará de forma dinámica en el entorno de ejecución.

Si deseas obtener más información para crear KVM en la IU, consulta Usa mapas de clave-valor. Consulta también Cómo acceder a los datos de configuración para obtener información sobre cómo elegir el mecanismo de persistencia de datos correcto.

Microgateway En cambio, te recomendamos que uses el adaptador de Apigee para Envoy.
Monetización Consulta Diferencias con la monetización.
Node.js
  • Los proxies de API de Node.js no son compatibles.
  • Apigee recomienda que alojes aplicaciones de Node.js como contenedores independientes en Kubernetes (mismo o diferente clúster).
mTLS hacia el norte Es compatible con los balanceadores de cargas de Google Cloud. Consulta TLS mutua de Apigee X orientada al norte con el balanceador de cargas de aplicaciones externo.
OAuth Nueva política de RevokeOAuthv2 revoca por ID de usuario final, ID de la app o ambos Esta política reemplaza la API de Apigee Edge para revocar los tokens de OAuth2.
Políticas
  • Políticas nuevas:
    • La política AssertCondition evalúa una declaración condicional en el entorno de ejecución en los flujos de solicitud o respuesta.
    • Política CORS: Permite que las llamadas XMLHttpRequest (XHR) de JavaScript ejecutadas en una página web interactúen con recursos de dominios sin origen.
    • Política DataCapture: Reemplaza la política StatisticsCollector.
    • Política de ExternalCallout: Envía solicitudes de gRPC a tu servidor de gRPC para implementar un comportamiento personalizado que no sea compatible con las políticas de Apigee.
    • Política de GraphQL: Analiza las cargas útiles de GraphQL en variables de flujo de mensajes, verifica las solicitudes de GraphQL con un esquema o ambos.
    • Política PublishMessages: Publica la información del flujo de proxy de API en un tema de Google Cloud Pub/Sub.
    • Política RevokeOAuthv2: Revocación por ID de usuario, ID de app o ambos.
    • Política TraceCapture: Agrega variables adicionales a los datos de seguimiento de tu entorno de ejecución de Apigee.
  • Política no compatible:
    • Política de StatisticsCollector (se reemplazó por la nueva política de DataCapture)
  • Políticas modificadas:
reasonPhrase No compatible.
Recursos No se pueden usar los recursos a nivel de organización
Funciones y permisos
  • Administrado a través del servicio de IAM de la consola de Google Cloud
  • Se encuentran disponibles algunas funciones listas para usar
  • Puedes crear roles personalizados que puedan incluir otros permisos de Google Cloud.

Para obtener más información, consulta Usuarios y funciones.

Sense Usa Advanced API Security.
Servicios de SOAP en el asistente de compilación de un proxy No compatible. Consulta wsdl2apigee, un proyecto de código abierto que proporciona utilidades de SOAP para su uso con Apigee.
Sesiones de seguimiento o depuración Consulta Diferencias con Trace.
Hosts virtuales

Para Apigee Hybrid:

  • La entrada se implementa a través de Anthos Service Mesh.
  • Las claves y los certificados se implementan de forma directa en Kubernetes.

Para Apigee X:

  • Cada instancia expone un extremo HTTPS a través de un certificado autofirmado. Para descargar la CA del certificado, consulta a la organización.

Diferencias con Trace

En la siguiente tabla, se comparan las diferencias en la forma en que funciona Trace en Apigee X y Apigee Hybrid frente a Apigee Edge Cloud:

Función Apigee Edge Cloud Apigee X y Apigee Hybrid
Oportunidad Tiempo real; síncrono Retraso leve; asíncrono
Nombre/ID de la sesión Acepta el nombre de sesión del usuario. No se acepta el nombre de la sesión del usuario.
Filtros Compatibilidad básica de filtros, como el filtrado de encabezados y parámetros de búsqueda Compatibilidad con la lógica de filtrado compleja, incluidas las operaciones lógicas AND y OR. Acceso a cualquier variable de flujo mencionada en la referencia de variables de flujo. La sintaxis es la misma que se usa con condicionales, como se muestra en la referencia de condiciones.
Tiempo de espera de sesión

Define la duración de la sesión de depuración y el tiempo que se conservan los datos.

El valor predeterminado es de 20 minutos cuando se inicia a través de llamadas a la API y 10 minutos cuando se inicia en la IU.

Define solo la duración de la sesión de depuración. El punto de partida es cuando Message Processor recibe la solicitud para ejecutarse en modo de depuración.

El valor predeterminado es de 5 minutos si la sesión se inició con la API y 10 minutos si se inició en la IU.

Los datos se conservan durante 24 horas antes de que se borren de forma automática.

Validez de la sesión

Período durante el cual la solicitud de creación de sesión es válida. Si la sesión de depuración no comienza en este período, los Synchronizers pueden ignorar la solicitud de creación de sesión. Asegúrate de que los relojes de Synchronizers estén sincronizados, como se describe en Requisitos previos.
Recuento de solicitudes de seguimiento Máximo de 20 por Message Processor El valor predeterminado es 10 por Message Processor y el máximo es 15.
API Apigee Edge Cloud Apigee X
Apigee X expone la API de sesión de depuración y la API de datos de sesión de depuración, pero no admite lo siguiente a través de las API de Apigee X:
Detener la sesión de depuración

Borrar transacciones específicas

Diferencias con la monetización

En la siguiente tabla, se muestra una comparación de las características clave entre la monetización de Apigee Edge y la de Apigee X.

Monetización de Apigee Edge Monetización de Apigee X/híbrido
Los planes de tarifas están asociados con paquetes de productos de API que se pueden adjuntar a varios productos de API Los planes de tarifas están asociados con los productos de API (relación uno a uno)
Los desarrolladores de apps compran planes de tarifas Los desarrolladores de apps compran productos de API
Las cuotas se administran a nivel del proxy de API. Las cuotas se administran a nivel del producto de API (nivel de empresa)
Los planes de tarifas publicados solo pueden vencerse, no se pueden editar ni borrar. Los planes de tarifas publicados pueden vencerse, editarse, moverse a borrador o eliminarse.
Configuración compleja (sin asistente ni herramienta de vista previa) Configuración simplificada de los planes de tarifas con el asistente y la herramienta de vista previa
La política MonetizationLimitsCheck bloquea el acceso una vez procesada la primera API, si el desarrollador de apps no compró una suscripción La política MonetizationLimitsCheck bloquea el acceso de inmediato si el desarrollador de apps no compró una suscripción o supera la cuota
Los datos de monetización de transacciones se pueden captar mediante variables personalizadas en la política de grabación de transacciones. Apigee captura automáticamente los datos de monetización, y los datos de monetización para transacciones se pueden anular mediante la política DataCapture. Consulta Cómo capturar datos de monetización para obtener más información.
Se pueden configurar cuentas prepagadas y de pospago para los desarrolladores y los planes de tarifas. Las cuentas prepagadas y de pospago solo pueden configurarse para desarrolladores.

¿Qué funciones de Apigee Edge no son compatibles con Apigee X?

Google no planea admitir las siguientes funciones:

  • Extensiones de Apigee Edge
  • Almacén de OpenAPI Specification
  • APIs para buscar o revocar tokens de acceso de OAuth (porque los tokens tienen codificación hash).
  • Política de OAuth v1 o OAuthv1.0a
  • Trireme (EOL' el 10/10/2019)
  • Los encabezados con el prefijo “X-Apigee-” no son compatibles con Apigee X y se quitan de las solicitudes y respuestas antes de enviarlos a los destinos y clientes.

Comparación de API

En general, la mayoría de las API de Apigee Edge tienen equivalentes a la API de Apigee. Esta sección proporciona lo siguiente:

Resumen de los cambios mediante la API

A continuación, se enumeran los cambios en el comportamiento en todas las API de Apigee, en comparación con las API de Apigee Edge.

Comportamiento API de Apigee Edge API de Apigee X
Dominio base api.enterprise.apigee.com apigee.googleapis.com
Tipos de medios application/json
application/xml
application/json
Autenticación OAuth2, SAML, Básico OAuth2
Marcas de tiempo en claves Formato int64
{
  "createdAt": 1234,
  "lastModifiedAt": 5678
}
Formato String
{
  "createdAt": "1234",
  "lastModifiedAt": "5678"
}
Estructura del parámetro de búsqueda expand=false
[
        "helloworld",
        "weather"
      ]
{
  "proxies": [
    {
      "name": "helloworld"
    },
    {
      "name": "weather"
    }
  ]
}
Parámetros de búsqueda con guion bajo como prefijo Admitido (_optimal=true) No admitido (optimal=true)
Propiedades en cargas útiles:
  • created_by
  • modified_by
  • self
Compatible No compatible
Valores predeterminados en cargas útiles Incluido No incluidos
Estructura de manejo de errores
{
        "code": "...",
        "message": "..",
        "contexts": []
      }
{
  "error": {
    "code": 409,
    "message": "...",
    "status": "ABORTED",
    "details": [...]
  }
}
Respuesta de eliminación de la caché Muestra: 200 OK y detalles de la caché Muestra: 204 No Content
Operaciones de caché de la API Opciones Enumerar, Crear, Obtener, actualización, Borrar, Borrar todo, y borrar. Solo Enumerar y Borrar. La caché L1 de corta duración se crea automáticamente cuando implementas un proxy de API. Para obtener más información, consulta Objetos internos de la caché.

Diferencias entre las APIs de métricas de Apigee Edge y Apigee X

En Resumen de cambios con la API, se enumeran las diferencias generales entre la API de Apigee Edge y la API de Apigee X. En la siguiente tabla, se enumeran las diferencias específicas para las API de métricas:

Función API de Apigee Edge API de Apigee X
extremo de API api.enterprise.apigee.com apigee.googleapis.com
Correos electrónicos de estadísticas diarias No se admiten API
API de lista de búsquedas asíncronas Obtén una lista de consultas de estadísticas asíncronas La propiedad userId se omite de la respuesta. Consulta Método: organizations.environments.queries.list.
API de informes personalizados API de informes Se quitaron las propiedades createdBy y lastModifiedBy de la respuesta. Consulta API de informes.

API de Apigee Edge no compatibles

En la siguiente tabla, se enumeran las API de Apigee Edge no compatibles (que no tienen equivalentes de la API de Apigee X).

Categoría de API API de Apigee Edge no compatibles
Supervisión de API No se admiten API
Proxies de API
  • Fuerzan la implementación del proxy de API
  • Obtienen dependencias de npm
  • Administran módulos de npm
Auditorías Usa la API de Stackdriver Logging
Registros almacenados en caché No se admiten API
Empresas No se admiten API
Aplicaciones de empresas No se admiten API
Familia de aplicaciones empresariales No se admiten API
Claves de la aplicaciones empresariales No se admiten API
Sesiones de depuración
  • No se pueden detener las sesiones de seguimiento
  • No se pueden borrar transacciones individuales

Para obtener más información, consulta Diferencias con Trace.

App de desarrollador Obtiene un recuento de los recursos de la API
Familia de aplicaciones de desarrollador No se admiten API
Extensiones No se admiten API
Almacén de claves: Truststore Prueba un almacén de claves o almacén truststore
LDAP No se admiten API
Monetización No se admiten API
OAuth V2 No se admiten API
Políticas No se admiten API
Archivos de recursos
  • Permiso de revisión del proxy de API
  • Permiso de la organización
Sense No se admiten API
Usuarios y funciones del usuario Usa las API relacionadas con Identity and Access Management (IAM) de Google, como se describe en Administra usuarios, funciones y permisos con las API
Hosts virtuales No se admiten API

Comparación entre Apigee Edge para la nube privada y Apigee Hybrid

En la siguiente tabla, se compara Apigee Edge for Private Cloud y Apigee Hybrid:

Servicio Área de producto o función de Apigee
Apigee Edge para la nube privada Apigee Hybrid
Analytics Servidores Qpid y Postgres Un pod de recopilación de datos en el plano del entorno de ejecución usa fluentd y UDCA (Universal Data Collection Agent) para recopilar estadísticas y enviar los datos a la UAP (Unified Analytics Platform) en el plano de administración.
Puerta de enlace del proxy de API Message Processor El Message Processor (MP) procesa las solicitudes entrantes. Los MP se implementan como una o más apps en contenedores en el plano de entorno de ejecución.
Persistencia Anillo o nodo de Cassandra Cassandra proporciona persistencia para las funciones de KMS, KVM, las cuotas y la caché.
Deployment ZooKeeper Sincronizador garantiza que las configuraciones del proxy de la API, la información del entorno y otros datos se mantengan actualizadas entre el plano de administración y el plano del entorno de ejecución.
Interfaz de usuario administrativa La IU de Apigee Edge está alojada en el servidor de administración La IU de Apigee está alojada en el plano de administración.
Balanceo de cargas Router Un controlador Ingress de Istio envía solicitudes a la app en contenedor Message Processor (MP) en el plano de entorno de ejecución.
API Servidor de administración Se puede acceder a las API de Apigee mediante el servidor de administración y MART. MART interactúa con el almacén de datos local de Cassandra y funciona como proveedor de API para que las API de Apigee accedan y administren las entidades de datos del entorno de ejecución.
Métricas Cada componente configurado con JMX Administrado por un único servidor de Prometheus por clúster para todos los servicios.