Differenze tra Apigee Edge e Apigee X

Stai visualizzando la documentazione di Apigee Edge.
Vai alla documentazione di Apigee X.
info

Questo argomento descrive le differenze tra Apigee X (a volte indicato anche semplicemente come "Apigee") e Apigee Edge. Queste informazioni sono rivolte ai clienti esistenti di Apigee Edge che stanno valutando la migrazione ad Apigee X.

Per ulteriori informazioni sulle funzionalità di Apigee X, consulta il riepilogo delle funzionalità di Apigee X.

La tabella seguente elenca i prodotti di gestione delle API Apigee confrontati in questo argomento:

Prodotto Dove è ospitato Gestito da
Apigee Edge for Public Cloud Cloud di Apigee Apigee
Apigee Edge for Private Cloud Il data center privato del cliente. Cliente
Apigee X Google Cloud Apigee
Apigee hybrid Sia Google Cloud sia il data center privato del cliente Apigee gestisce il piano di gestione e il cliente gestisce il piano di runtime.

Confronto delle funzionalità di Apigee Edge e Apigee X

Le seguenti sezioni confrontano le funzionalità di Apigee Edge Public/Private Cloud con la disponibilità delle funzionalità in Apigee X e Hybrid.

Tieni presente che i limiti di Apigee X differiscono anche dai limiti di Apigee Edge.

Riepilogo delle differenze nelle funzionalità attuali

La tabella seguente descrive le differenze a livello di funzionalità tra Apigee X (e hybrid) e le piattaforme Apigee Edge per cloud pubblico e privato.

Funzionalità di Apigee Edge Supporto in Apigee X e hybrid
Revisioni del proxy API

Immutabile dopo il deployment

Controlli di integrità attivi Supportato per i gruppi di istanze gestite esterni (che utilizzano VM). Non supportato se si utilizza Private Service Connect. Per informazioni sui tipi di routing, consulta Configurare il routing.
Apigee Adapter for Istio Ritirato: ti consigliamo di utilizzare invece l'adattatore Apigee per Envoy.
Aziende e sviluppatori

È disponibile una soluzione simile, ma non identica. Vedi Utilizzare AppGroups per organizzare la proprietà delle app.

CwC (Code with Config)

Pianificata

Deployment
  • Deployment asincroni
  • Il recupero dello stato di deployment si basa sull'ultima volta che il piano di runtime è stato "check-in" con il piano di gestione
Ambienti
  • Supporto per i gruppi di ambienti
  • Self-service tramite l'interfaccia utente e le API di Apigee
  • Maggiore flessibilità nella topologia del servizio
  • Un pod MP può gestire un solo ambiente

Per saperne di più, vedi Informazioni su ambienti e gruppi di ambienti.

Target ospitati

Utilizza Cloud Run o Cloud Functions

Gestione dei nomi dei campi delle intestazioni HTTP/1.1 Converte i nomi dei campi delle intestazioni HTTP/1.1 in minuscolo quando vengono inoltrati al backend. In Apigee Edge, le maiuscole dei nomi dei campi delle intestazioni vengono conservate.
Ruoli IAM per il controllo dell'accesso granulare basato sui ruoli

Pianificata

JSONPath che utilizza [@.length-x]

L'utilizzo di [@.length-x] nelle espressioni JSONPath non è supportato in Apigee X. La specifica JSONPath indica che le espressioni dipendono dal linguaggio di scripting di base. length-x è un costrutto JavaScript, non Java, e [@.length-x] non è stato implementato nell'ambito della specifica. In Apigee X l'espressione [@.length-x] è sostituita dallo schema di indicizzazione ([-x]).

Per questo esempio:

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

L'input: $.books[@.length-1] restituisce {“name”: “B”} in Apigee Edge e [{“name”: “B”}] in Apigee X.

Archivi chiavi/archivi attendibili

Connessioni in uscita gestite come secret Kubernetes

KVM
  • Puoi creare KVM criptate basate sull'ambiente nell'interfaccia utente di Apigee. Le KVM sono sempre criptate. Non puoi aggiungere, aggiornare o visualizzare le voci KVM nell'interfaccia utente.
  • Utilizza l'attributo private. con tutte le variabili quando accedi a una KVM con il comando GET per nascondere le informazioni della KVM in una sessione di debug (Trace). Se non viene utilizzato l'attributo private., il KVM è ancora criptato; tuttavia, le informazioni KVM verranno decriptate nella sessione di traccia di debug) e non verrà lanciata alcuna eccezione.
  • Puoi gestire le voci KVM utilizzando l'API keyvaluemaps.entries o il criterio KeyValueMapOperations.
  • Puoi utilizzare i set di proprietà per alcuni dei casi d'uso delle KVM. Consulta Utilizzare i set di proprietà.
  • L'elemento <MapName> consente al criterio KeyValueMapOperations di identificare quale KVM utilizzare in modo dinamico in fase di esecuzione.

Per ulteriori informazioni sulla creazione di mappe chiave-valore nell'interfaccia utente, consulta Utilizzare le mappe chiave-valore. Consulta anche Accedere ai dati di configurazione per informazioni su come scegliere il meccanismo di persistenza dei dati corretto.

Microgateway Ti consigliamo di utilizzare invece Apigee Adapter per Envoy.
Monetizzazione Vedi Differenze con la monetizzazione
Node.js
  • I proxy API Node.js non sono supportati.
  • Apigee consiglia di ospitare le applicazioni Node.js come container separati in Kubernetes (cluster uguale o diverso)
mTLS in uscita Supportato tramite i bilanciatori del carico Google Cloud. Consulta Apigee X Northbound Mutual TLS using External Application Load Balancer.
OAuth Il nuovo criterio di revoca OAuth v2 esegue la revoca in base all'ID utente finale, all'ID app o a entrambi. Questo criterio sostituisce l'API Apigee Edge per revocare i token OAuth2.
Norme
  • Nuove norme:
    • Criterio AssertCondition: valuta un'istruzione condizionale in fase di esecuzione nei flussi di richiesta o risposta.
    • Regola CORS: consente alle chiamate XMLHttpRequest (XHR) di JavaScript eseguite in una pagina web di interagire con le risorse di domini diversi dall'origine.
    • Criterio DataCapture: sostituisce il criterio StatisticsCollector.
    • Norme di ExternalCallout: invia richieste gRPC al tuo server gRPC per implementare un comportamento personalizzato non supportato dalle norme di Apigee.
    • Norme GraphQL: analizza i payload GraphQL in variabili di flusso dei messaggi, verifica le richieste GraphQL rispetto a uno schema o entrambe le operazioni.
    • Avviso PublishMessages: pubblica le informazioni sul flusso del proxy dell'API in un argomento Google Cloud Pub/Sub.
    • RevokeOAuthv2: revoca in base all'ID utente, all'ID app o a entrambi.
    • Criterio TraceCapture: aggiunge variabili aggiuntive ai dati di traccia del runtime Apigee.
  • Norme non supportate:
    • Criterio StatisticsCollector (sostituito dal nuovo criterio DataCapture)
  • Norme modificate:
reasonPhrase Non supportati.
Risorse Impossibile utilizzare le risorse a livello di organizzazione
Ruoli e autorizzazioni
  • Gestito tramite il servizio IAM della console Google Cloud
  • Sono disponibili alcuni ruoli predefiniti selezionati
  • Puoi creare ruoli personalizzati che possono includere altre autorizzazioni Google Cloud

Per ulteriori informazioni, consulta Utenti e ruoli.

Sense Utilizza Advanced API Security.
Servizi SOAP nella procedura guidata Crea un proxy Non supportati. Consulta wsdl2apigee, un progetto open source che fornisce utilità SOAP da utilizzare con Apigee.
Sessioni di traccia/debug Vedi Differenze con Trace.
Host virtuali

Per Apigee hybrid:

  • L'ingresso viene implementato tramite Anthos Service Mesh.
  • Le chiavi e i certificati vengono dipartiti direttamente su Kubernetes.

Per Apigee X:

  • Ogni istanza espone un endpoint HTTPS tramite certificato autofirmato. La CA per il certificato può essere scaricata eseguendo una query sull'organizzazione.

Differenze con Trace

La seguente tabella mette a confronto le differenze di funzionamento di Trace in Apigee X e in hybrid rispetto ad Apigee Edge Cloud:

Funzionalità Apigee Edge Cloud Apigee X e hybrid
Puntualità In tempo reale; sincrono Ritardo lieve; asincrono
Nome/ID sessione Accetta il nome della sessione dall'utente Non accetta il nome della sessione dall'utente
Filtri Supporto dei filtri di base, ad esempio i filtri per intestazioni e parametri di query Supporto per la logica di filtro complessa, incluse le operazioni logiche AND e OR. Accesso a qualsiasi variabile di flusso indicata nel riferimento alle variabili di flusso. La sintassi è la stessa utilizzata con i condizionali, come mostrato nel riferimento alle condizioni.
Timeout sessione

Definisce la durata della sessione di debug e il periodo di conservazione dei dati.

Il valore predefinito è 20 minuti se l'operazione viene avviata tramite chiamate API e 10 minuti se viene avviata nell'interfaccia utente.

Definisce solo la durata della sessione di debug. Il punto di partenza è quando il Processore di messaggi riceve la richiesta di esecuzione in modalità di debug.

Il valore predefinito è 5 minuti se la sessione è stata avviata con l'API e 10 minuti se è stata avviata nell'interfaccia utente.

I dati vengono mantenuti per 24 ore prima che la modalità ibrida li elimini automaticamente.

Validità della sessione

Periodo di tempo in cui la richiesta di creazione della sessione è valida. Se la sessione di debug non viene avviata entro questo periodo di tempo, i sincronizzatori possono ignorare la richiesta di creazione della sessione. Assicurati di mantenere sincronizzati gli orologi dei sincronizzatori, come descritto in Prerequisiti.
Conteggio richieste di traccia Massimo 20 per Message Processor Il valore predefinito è 10 per processore di messaggi; il valore massimo è 15.
API Apigee Edge Cloud Apigee X
Apigee X espone l' API Debug Session e l' API Debug Session Data, ma non supporta quanto segue tramite le API Apigee X:
Interrompere la sessione di debug

Eliminare transazioni specifiche

Differenze con la monetizzazione

La seguente tabella fornisce un confronto delle funzionalità principali tra Monetizzazione di Apigee Edge e Monetizzazione di Apigee X.

Monetizzazione di Apigee Edge Monetizzazione Apigee X/hybrid
I piani tariffari sono associati a pacchetti di prodotti API che possono essere collegati a più prodotti API I piani tariffari sono associati ai prodotti API (relazione uno a uno)
Piani di tariffe di acquisto per gli sviluppatori di app Gli sviluppatori di app acquistano prodotti API
Le quote vengono gestite a livello di proxy API Le quote vengono gestite a livello di prodotto API (a livello di attività)
I piani tariffari pubblicati possono essere solo scaduti; non possono essere modificati o eliminati I piani tariffari pubblicati possono essere scaduti, modificati, spostati in bozza o eliminati
Configurazione complessa (nessuna procedura guidata o strumento di anteprima) Configurazione semplificata dei piani tariffari mediante la procedura guidata e lo strumento di anteprima
Il criterio MonetizationLimitsCheck blocca l'accesso dopo l'elaborazione della prima chiamata API se lo sviluppatore dell'app non ha acquistato un abbonamento Il criterio MonetizationLimitsCheck blocca immediatamente l'accesso se lo sviluppatore dell'app non ha acquistato un abbonamento o supera la quota
I dati di monetizzazione per le transazioni possono essere acquisiti utilizzando le variabili personalizzate nel criterio di registrazione delle transazioni. Apigee acquisisce automaticamente i dati di monetizzazione, che possono essere sostituiti utilizzando il criterio DataCapture. Per informazioni, consulta Acquisire i dati sulla monetizzazione.
Gli account prepagati e postpagati possono essere configurati sia per gli sviluppatori sia per i piani tariffari. Gli account prepagati e postpagati possono essere configurati solo per gli sviluppatori.

Quali funzionalità di Apigee Edge non sono supportate in Apigee X?

Google non prevede di supportare le seguenti funzionalità:

  • Estensioni Apigee Edge
  • Negozio di specifiche OpenAPI
  • API per cercare o revocare i token di accesso OAuth (poiché i token vengono sottoposti ad hashing)
  • Criteri OAuth v1 o OAuth v1.0a
  • Trireme (ritirata il 10/10/2019)
  • Le intestazioni con prefisso "X-Apigee-" non sono supportate in Apigee X e vengono rimosse dalle richieste e dalle risposte prima dell'invio a target e client.
  • La proprietà Apigee Edge proxy_read_timeout non è supportata in Apigee X. Consulta Impostazione di io.timeout.millis e api.timeout per le impostazioni di timeout di Apigee X correlate.

Confronto delle API

In generale, la maggior parte delle API Apigee Edge ha equivalenti API Apigee. Questa sezione fornisce:

Riepilogo delle modifiche all'utilizzo dell'API

Di seguito sono elencate le modifiche al comportamento di tutte le API Apigee X rispetto alle API Apigee Edge.

Comportamento API Apigee Edge API Apigee X
Dominio di base api.enterprise.apigee.com apigee.googleapis.com
Tipi di media application/json
application/xml
application/json
Autenticazione OAuth2, SAML, di base OAuth2
Timestamp nelle chiavi Formato int64
{
  "createdAt": 1234,
  "lastModifiedAt": 5678
}
Formato String
{
  "createdAt": "1234",
  "lastModifiedAt": "5678"
}
Struttura del parametro di query expand=false
[
        "helloworld",
        "weather"
      ]
{
  "proxies": [
    {
      "name": "helloworld"
    },
    {
      "name": "weather"
    }
  ]
}
Parametri di query con prefisso sottotraccia Supportato (_optimal=true) Non supportato (optimal=true)
Proprietà nei payload:
  • created_by
  • modified_by
  • self
Supportato Non supportata
Valori predefiniti nei payload Incluso Non inclusa
Struttura di gestione degli errori
{
        "code": "...",
        "message": "..",
        "contexts": []
      }
{
  "error": {
    "code": 409,
    "message": "...",
    "status": "ABORTED",
    "details": [...]
  }
}
Risposta all'eliminazione della cache Restituisce: 200 OK e dettagli della cache Resi: 204 No Content
Operazioni dell'API Cache Lista, crea, get, aggiornamento, elimina, cancella tutto, e cancella opzioni. Solo Elenca e Elimina. La cache L1 di breve durata viene creata automaticamente quando esegui il deployment di un proxy API. Per ulteriori informazioni, consulta Informazioni interne sulla cache.

Differenze tra le API di misurazione di Apigee Edge e Apigee X

Riepilogo delle modifiche all'utilizzo dell'API elenca le differenze generali tra l'API Apigee Edge e l'API Apigee X. Nella tabella seguente sono elencate le differenze specifiche per le API di misurazione:

Funzionalità API Apigee Edge API Apigee X
endpoint API api.enterprise.apigee.com apigee.googleapis.com
Email di analisi giornaliere Nessuna API supportata
API Async Query List Ottenere un elenco di query di analisi asincrone La proprietà userId viene omessa dalla risposta. Vedi Metodo: organizations.environments.queries.list.
API di report personalizzati API Reports Le proprietà createdBy e lastModifiedBy sono state rimosse dalla risposta. Vedi API Reports.

API Apigee Edge non supportate

La tabella seguente elenca le API Apigee Edge non supportate (che non hanno equivalenti API Apigee X).

Categoria API API Apigee Edge non supportate
Monitoraggio delle API Nessuna API supportata
Proxy API
  • Annullamento forzato del deployment del proxy API
  • Recupera le dipendenze npm
  • Gestire i moduli npm
Controlli Utilizza l'API Stackdriver Logging
Log memorizzati nella cache Nessuna API supportata
Aziende Nessuna API supportata
App aziendali Nessuna API supportata
Famiglia di app aziendali Nessuna API supportata
Chiavi app aziendali Nessuna API supportata
Sessioni di debug
  • Impossibile interrompere le sessioni di traccia
  • Impossibile eliminare singole transazioni

Per ulteriori informazioni, consulta la sezione Differenze con Trace.

App per sviluppatori Ottenere il conteggio delle risorse API
Famiglia di app sviluppatore Nessuna API supportata
Estensioni Nessuna API supportata
Archivio chiavi: archivio attendibilità Testare un keystore o un truststore
LDAP Nessuna API supportata
Monetizzazione Nessuna API supportata
OAuth V2 Nessuna API supportata
Norme Nessuna API supportata
File di risorse
  • Ambito della revisione del proxy API
  • Ambito dell'organizzazione
Sense Nessuna API supportata
Utenti e ruoli utente Utilizza le API correlate a Google Identity and Access Management (IAM) come descritto in Gestione di utenti, ruoli e autorizzazioni utilizzando le API
Host virtuali Nessuna API supportata

Confronto tra Apigee Edge for Private Cloud e Apigee hybrid

La seguente tabella mette a confronto Apigee Edge for Private Cloud e Apigee Hybrid:

Servizio Area di prodotto o funzionalità Apigee
Apigee Edge for Private Cloud Apigee hybrid
Analytics Server Qpid e Postgres Un pod di raccolta dei dati nel piano di runtime utilizza fluentd e UDCA (Universal Data Collection Agent) per raccogliere i dati e inviarli alla UAP (Unified Analytics Platform) nel piano di gestione.
API Proxy Gateway processore di messaggi Il Processore di messaggi (MP) elabora le richieste in arrivo. Gli MP vengono implementati come una o più app containerizzate nel piano di runtime.
Persistenza Nodo o anello Cassandra Cassandra fornisce la persistenza per le funzionalità KMS, KVM, quota e cache.
Deployment ZooKeeper Synchronizer garantisce che le configurazioni dei proxy API, le informazioni sull'ambiente e altri dati vengano mantenuti aggiornati tra il piano di gestione e il piano di runtime.
Interfaccia utente amministrativa L'interfaccia utente di Apigee Edge è ospitata sul server di gestione L'interfaccia utente di Apigee è ospitata nel piano di gestione.
Bilanciamento del carico Router Un controller Istio Ingress inoltra le richieste all'app containerizzata Message Processor (MP) nel piano di runtime.
API Server di gestione Per accedere alle API Apigee X è necessario utilizzare il server di gestione e MART. MART interagisce con il datastore Cassandra locale e funge da provider API per le API Apigee X per accedere e gestire le entità di dati di runtime.
Metriche Ogni componente configurato con JMX Gestito da un singolo server Prometheus per cluster per tutti i servizi.