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 X 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 X 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 |
|
Environments |
For more information, see About environments and environment groups. |
Extensions | Not supported |
Keystores/Truststores |
|
KVMs |
For more information on creating KVMs 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 | See Comparing monetization with Apigee X and Apigee Edge |
Node.js |
|
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 store | Not supported |
Policies |
|
Resources | Cannot use organization-level resources |
Roles and 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:
For Apigee X:
For both:
|
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 X APIs: | ||
Stop debug session | ||
Delete specific transactions |
Apigee Edge features that are unsupported in Apigee X
Google does not plan to support the following features:
- APIs to 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 in behavior across all Apigee X APIs as compared to the Apigee Edge APIs
- Differences between the Apigee and Apigee Edge metrics APIs
- List of unsupported Edge APIs (that do not have Apigee API equivalents).
Summary of changes using the API
The following lists the changes in behavior across all Apigee X APIs as compared to the Apigee Edge APIs.
Behavior | Apigee X 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
|
int64 format
|
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:
|
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 |
Cache API operations | List and delete only. Short-lived L1 cache is automatically created when you deploy an API proxy. For more information, see Cache internals. | List, create, get, update, delete, clear all, and clear options. |
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 X 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 Edge APIs (that do not have Apigee X API equivalents).
API category | Unsupported Apigee Edge APIs |
---|---|
API Monitoring | No APIs supported |
API proxies |
|
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 |
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 |
|
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 |