Compare Apigee products

This topic compares Apigee X and Apigee hybrid to Apigee Edge for Public and Private Cloud. For details on Apigee Edge for Public Cloud and Private Cloud, see Apigee Edge documentation.

The following table lists the Apigee API management products that are compared in this topic:

Product Where hosted Managed by
Apigee Edge for Public Cloud Apigee's cloud Apigee
Apigee Edge for Private Cloud The customer's private data center. Customer
Apigee X Google Cloud Apigee
Apigee hybrid Both Google Cloud and the customer's private data center Apigee manages the management plane and the customer manages the runtime plane.

Apigee hybrid vs. Apigee Edge for Private Cloud

The following table compares Apigee hybrid and Apigee Edge for Private Cloud:

Service Apigee Product or Feature Area
Apigee hybrid Apigee Edge for Private Cloud
Analytics A data collection pod in the runtime plane uses fluentd and UDCA (Universal Data Collection Agent) to gather analytics and feed the data to the UAP (Unified Analytics Platform) in the management plane. Qpid and Postgres servers
API Proxy Gateway The Message Processor (MP) processes incoming requests. MPs are implemented as one or more containerized apps in the runtime plane. Message Processor
Persistence Cassandra provides persistence for the KMS, KVM, quota, and cache features. Cassandra node or ring
Deployment The Synchronizer ensures that API proxy configurations, environment information, and other data is kept up to date between the management plane and runtime plane. ZooKeeper
Administrative User Interface The Apigee UI is a containerized app hosted on the management plane. The Apigee Edge UI is hosted on the Management Server
Load Balancing An Istio Ingress controller hands requests to the Router/Message Processor (RMP) containerized app in the runtime plane. Router
APIs Apigee APIs are accessed through the Management Server and MART. MART interacts with the local Cassandra datastore and serves as an API provider for the Apigee APIs to access and manage runtime data entities. Management Server
Metrics Managed by a single Prometheus server per cluster for all services. Each component configured with JMX

Feature comparison

The following sections compare Apigee Edge Public/Private Cloud features with feature availability in Apigee X and Apigee hybrid.

Summary of current feature differences

The following table describes feature-level differences between Apigee X (and Apigee hybrid) and the Apigee Edge for Public and Private Cloud platforms.

Apigee Edge feature Support in Apigee X and Apigee hybrid
API Proxy Revisions

Immutable when deployed

Apigee Adapter for Istio Deprecated: We recommend you use Apigee Adapter for Envoy instead.
Deployments
  • Asynchronous deployments
  • Retrieving deployment status is based on the last time the runtime plane "checked-in" with the management plane
Environments
  • Support for environment groups
  • Self-service through the Apigee UI and APIs
  • More flexibility in serving topology
  • An MP pod can only serve one environment

For more information, see About environments and environment groups.

Extensions Not supported
Keystores/Truststores
  • Northbound managed as Kubernetes secrets
KVMs
  • In the Apigee UI, you can create environment-scoped KVM maps that are either unencrypted or encrypted. You cannot add, update, or view KVM entries in the UI.
  • You cannot use the Apigee API to add, update, or list KVM entries.
  • To add entries to a KVM, you must use the KeyValueMapOperations policy.
  • You can use property sets for some of the same use cases as KVMs. See Using property sets.
  • The <MapName> element enables the KeyValueMapOperations policy to identify which KVM to use dynamically, at runtime.

For more information on creating KVM maps in the UI, see Using key value maps. See also Accessing configuration data for information on how to choose the right data persistence mechanism.

Microgateway Not supported
Monetization Not supported
Node.js
  • Node.js API proxies are not supported.
  • Apigee recommends that you host Node.js applications as separate containers in Kubernetes (same or different cluster)
  • Hosted targets are not supported
Hosted targets

Not supported.

OAuth New RevokeOAuthv2 policy revokes by end user ID, app ID, or both. This policy replaces the Apigee Edge API to revoke OAuth2 tokens.
OpenAPI Specification management Not supported
Policies
Resources Cannot use organization-level resources
Roles and Permissions
  • Managed through Google Cloud Console's IAM service
  • Some curated out-of-the-box roles are available
  • You can create custom roles which can include other GCP permissions

For more information, see Users and roles.

Sense Not supported
SOAP services in the Build a proxy wizard Not supported. See wsdl2apigee, an open source project that provides SOAP utilities for use with Apigee.
Trace/Debug Sessions See Differences with Trace.
Virtual Hosts

For Apigee hybrid:

  • The ingress is implemented through Anthos Service Mesh.
  • The keys and certs are deployed directly to Kubernetes.

For Apigee X:

  • Not managed in or by Apigee
  • Each instance exposes an HTTPS endpoint via self-signed certificate. The CA for the certificate can be downloaded by querying the org.
  • Istio Gateway (Envoy) is used where certificates and keys are deployed

For both:

  • Not managed in or by Apigee

Differences with Trace

The following table compares the differences in how Trace operates in Apigee X and Apigee hybrid versus Apigee Edge Cloud:

Feature Apigee Edge Cloud Apigee X and Apigee hybrid
Timeliness Real time; synchronous Slight delay; asynchronous
Session name/ID Accepts session name from the user Doesn't accept session name from the user
Filters Basic filter support, such as header and query parameter filtering Support for complex filtering logic, including both AND and OR logical operations. Access to any flow variable mentioned in the flow variables reference. Syntax is the same as used with conditionals, as shown in the conditions reference.
Session timeout

Defines the length of the debug session as well as how long data is retained.

Default value is 20 minutes when initiated via API calls and 10 minutes when initiated in the UI.

Defines only the length of the debug session. The starting point is when the Message Processor receives the request to run in debug mode.

Default value is 5 minutes if the session was initiated with the API and 10 minutes if it was initiated in the UI.

Data is persisted for 24 hours before hybrid automatically deletes it.

Session validity

Length of time in which the session creation request is valid. If the debug session does not start within this amount of time, the Synchronizers can disregard the session creation request. Be sure to keep your Synchronizers' clocks in synch, as described in Prerequisites.
Trace request count Maximum of 20 per Message Processor Default is 10 per Message Processor; maximum is 15.
API Apigee Edge Cloud Apigee X
Apigee X exposes the Debug Session API and Debug Session Data API, but does not support the following via the Apigee APIs:
Stop debug session

Delete specific transactions

Which Apigee Edge features are removed in Apigee X?

Google does not plan to support the following features in Apigee hybrid:

  • APIs to:
    • Manipulate KVM entries
    • Search for or revoke OAuth access tokens (because tokens are hashed)
  • Developer portal development using Drupal 7
  • OAuth v1 or OAuth OAuthv1.0a policy.
  • Trireme (EOL'd on 10/10/2019)

API comparison

In general, most of the Apigee Edge APIs have Apigee API equivalents. This section provides:

Summary of changes using the API

The following lists the changes in behavior across all Apigee APIs as compared to the Apigee Edge APIs.

Behavior Apigee APIs Apigee Edge APIs
Base domain apigee.googleapis.com api.enterprise.apigee.com
Media types application/json application/json
application/xml
Authentication OAuth2 OAuth2, SAML, Basic
Timestamps in keys String format
{
  "createdAt": "1234",
  "lastModifiedAt": "5678"
}
int64 format
{
  "createdAt": 1234,
  "lastModifiedAt": 5678
}
Structure of expand=false query parameter
{
  "proxies": [
    {
      "name": "helloworld"
    },
    {
      "name": "weather"
    }
  ]
}
[
  "helloworld",
  "weather"
]
Query parameters prefixed by underscore Not supported (optimal=true) Supported (_optimal=true)
Properties in payloads:
  • created_by
  • modified_by
  • self
Not supported Supported
Default values in payloads Not included Included
Error handling structure
{
  "error": {
    "code": 409,
    "message": "...",
    "status": "ABORTED",
    "details": [...]
  }
}
{
  "code": "...",
  "message": "..",
  "contexts": []
}
Cache deletion response Returns: 204 No Content Returns: 200 OK and cache details

Differences between the Apigee and Apigee metrics APIs

Summary of changes using the API lists the general differences between Apigee API and Apigee Edge API. The following table lists specific differences for the metrics APIs:

Feature Apigee APIs Apigee Edge APIs
API endpoint apigee.googleapis.com api.enterprise.apigee.com
Daily analytics emails No APIs supported
Async Query List API The userId property is omitted from the response. See Method: organizations.environments.queries.list. Get a list of asynchronous analytics queries
Custom report APIs The createdBy and lastModifiedBy properties have been removed from the response. See Reports API. Reports API

Unsupported Apigee Edge APIs

The following table lists the unsupported Apigee APIs (that do not have Apigee API equivalents).

API category Unsupported Apigee Edge APIs
API Monitoring No APIs supported
API proxies
  • Force undeploy API proxy
  • Get npm dependencies
  • Manage npm modules
Audits Use Stackdriver Logging API
Cached logs No APIs supported
Companies No APIs supported
Company apps No APIs supported
Company app family No APIs supported
Company app keys No APIs supported
Debug sessions
  • Cannot stop trace sessions
  • Cannot delete individual transactions

For more information, see Differences with Trace.

Developer app Get count of API resources
Developer app family No APIs supported
Extensions No APIs supported
Keystore: Truststore Test a keystore or truststore
LDAP No APIs supported
Monetization No APIs supported
OAuth V2 No APIs supported
Policies No APIs supported
Resource files
  • API proxy revision scope
  • Organization scope
Sense No APIs supported
Users and user roles Use Google Identity and Access Management (IAM)-related APIs as described in Managing users, roles, and permissions using APIs
Virtual hosts No APIs supported