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 Apigee Edge esistenti che stanno pensando di eseguire la migrazione a 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 Il cloud di Apigee Apigee
Apigee Edge per il cloud privato 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 seguente tabella descrive le differenze a livello di funzionalità tra Apigee X (e modello ibrido) e le piattaforme Apigee Edge per cloud pubblici e privati.

Funzionalità 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 ha eseguito il "check-in" con il piano di gestione
Ambienti
  • Supporto per i gruppi di ambienti
  • Self-service tramite le API e l'interfaccia utente di Apigee
  • Maggiore flessibilità nella topologia di pubblicazione
  • Un pod MP può servire solo un 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/minuscole dei nomi dei campi di intestazione vengono mantenute.
Ruoli IAM per il controllo dell'accesso granulare basato sui ruoli

Pianificata

JSONPath utilizzando [@.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 come parte 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 degli stessi 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 KVM nella UI, consulta Utilizzo delle 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 OAuthv2 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.
    • Revoca criterio OAuthv2: revoca per ID utente, ID app o entrambi.
    • Criterio TraceCapture: aggiunge variabili aggiuntive ai dati delle tracce del runtime Apigee.
  • Norme non supportate:
    • Criterio StatisticsCollector (sostituito dal nuovo criterio Data Capture)
  • 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 Utilizzare 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 del 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 per le 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 avviato tramite chiamate API e 10 minuti se avviato 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.
Numero di richieste di tracciamento Massimo 20 per Message Processor Il valore predefinito è 10 per elaboratore 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 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 solo essere scaduti e 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 tramite la procedura guidata e lo strumento anteprima
Il criterio MonetizationLimitsCheck blocca l'accesso dopo l'elaborazione della prima chiamata API se lo sviluppatore di 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
  • Archivio delle specifiche OpenAPI
  • API per cercare o revocare i token di accesso OAuth (poiché i token vengono sottoposti ad hashing)
  • Criterio 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.

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 della 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 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 è omessa dalla risposta. Vedi Metodo: organization.environments.queries.list.
API per 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
  • Forzare l'annullamento 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 per sviluppatori Nessuna API supportata
Estensioni Nessuna API supportata
Archivio chiavi: archivio attendibilità Testa un archivio chiavi o un archivio attendibili
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 tabella seguente 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 dati nel piano di runtime utilizza fluentd e UDCA (agente di raccolta dati universale) per raccogliere dati analitici e inviare i dati alla piattaforma UAP (Unified Analytics Platform) nel piano di gestione.
Gateway proxy API processore di messaggi Il Processore di messaggi (MP) elabora le richieste in arrivo. I file MP vengono implementati come una o più app containerizzate nel piano di runtime.
Persistenza Nodo o anello Cassandra Cassandra fornisce 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.