Differenze tra Apigee Edge e Apigee X

Stai visualizzando la documentazione di Apigee Edge.
Consulta la documentazione di Apigee X.
info

Questo argomento descrive in che modo Apigee X (a volte indicato anche semplicemente come "Apigee") differisce da Apigee Edge. Queste informazioni sono destinate ai clienti Apigee Edge esistenti 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 Public Cloud Il cloud di Apigee Apigee
Apigee Edge for Private Cloud Il data center privato del cliente. Cliente
Apigee X Google Cloud Apigee
Apigee hybrid Google Cloud e 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 sezioni seguenti confrontano le funzionalità di Apigee Edge Public/Private Cloud con la disponibilità delle funzionalità in Apigee X e Apigee Hybrid.

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

Riepilogo delle differenze attuali tra le funzionalità

La tabella seguente descrive le differenze a livello di funzionalità tra Apigee X (e ibrido) 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 MIG esterni (che utilizzano le VM). Non supportato quando si utilizza Private Service Connect. Per informazioni sui tipi di routing, vedi Configurare il routing.
Apigee Adapter for Istio Obsoleto: ti consigliamo di utilizzare Apigee Adapter for Envoy.
Aziende e sviluppatori

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

CwC (Code with Config)

Pianificato

Deployment
  • Deployment asincroni
  • Il recupero dello stato del deployment si basa sull'ultima volta in cui il piano di runtime ha eseguito il "check-in" con il piano di gestione
Ambienti
  • Supporto per i gruppi di ambienti
  • Self-service tramite la UI e le API Apigee
  • Maggiore flessibilità nella topologia di pubblicazione
  • Un pod MP può pubblicare solo un ambiente

Per maggiori informazioni, vedi Informazioni sugli ambienti e sui gruppi di ambienti.

Target ospitati

Utilizza Cloud Run o Cloud Functions

Gestione dei nomi dei campi di intestazione HTTP/1.1 Converte i nomi dei campi di intestazione HTTP/1.1 in lettere minuscole quando vengono inoltrati al backend. In Apigee Edge, la distinzione tra maiuscole e minuscole dei nomi dei campi delle intestazioni viene mantenuta.
Ruoli IAM per il controllo dell'accesso granulare basato sui ruoli

Pianificato

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 sottostante. length-x è una struttura JavaScript, non Java, e [@.length-x] non è stata implementata 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

Northbound gestito come secret Kubernetes

KVM
  • Puoi creare KVM criptate e con ambito ambiente nella UI di Apigee. I KVM sono sempre criptati. Non puoi aggiungere, aggiornare o visualizzare le voci KVM nella UI.
  • 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 l'attributo private. non viene utilizzato, la KVM è comunque criptata; tuttavia, le informazioni della KVM verranno visualizzate decriptate nella sessione di debug Trace) e non verrà generata alcuna eccezione.
  • Puoi gestire le voci KVM utilizzando l'API keyvaluemaps.entries o la policy KeyValueMapOperations.
  • Puoi utilizzare i set di proprietà per alcuni degli stessi casi d'uso delle KVM. Consulta Utilizzo dei set di proprietà.
  • L'elemento <MapName> consente alla policy KeyValueMapOperations di identificare dinamicamente la KVM da utilizzare in fase di runtime.

Per saperne di più sulla creazione di KVM nella UI, consulta Utilizzo delle mappe chiave-valore. Consulta anche Accesso ai dati di configurazione per informazioni su come scegliere il meccanismo di persistenza dei dati corretto.

Microgateway Ti consigliamo di utilizzare Apigee Adapter for 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 (stesso cluster o cluster diverso)
mTLS in uscita Supportato tramite i bilanciatori del carico Google Cloud. Consulta Apigee X Northbound Mutual TLS using External Bilanciatore del carico delle applicazioni.
OAuth Il nuovo criterio RevokeOAuthv2 revoca per ID utente finale, ID app o entrambi. Questo criterio sostituisce l'API Apigee Edge per revocare i token OAuth2.
Norme
  • Nuove norme:
    • Policy AssertCondition: valuta un'istruzione condizionale in fase di runtime nei flussi di richiesta o risposta.
    • Norme CORS: consentono alle chiamate JavaScript XMLHttpRequest (XHR) eseguite in una pagina web di interagire con risorse di domini non di origine.
    • Criterio DataCapture: sostituisce il criterio StatisticsCollector.
    • Norme ExternalCallout: inviano richieste gRPC al server gRPC per implementare un comportamento personalizzato non supportato dalle norme Apigee.
    • Policy GraphQL: analizza i payload GraphQL in variabili di flusso di messaggi, verifica le richieste GraphQL rispetto a uno schema o entrambe le operazioni.
    • Policy PublishMessages: pubblica le informazioni sul flusso del proxy API in un argomento Google Cloud Pub/Sub.
    • Norme RevokeOAuthv2: revoca per ID utente, ID app o entrambi.
    • Policy TraceCapture: aggiunge variabili aggiuntive ai dati di traccia del runtime Apigee.
  • Policy non supportata:
    • Norme StatisticsCollector (sostituite dalle nuove norme DataCapture)
  • Norme modificate:
reasonPhrase Non supportati.
Risorse Impossibile utilizzare le risorse a livello di organizzazione
Ruoli e autorizzazioni
  • Gestiti 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, vedi 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.
Virtual Hosts

Per Apigee hybrid:

  • L'ingresso viene implementato tramite il gateway in entrata Apigee.
  • Le chiavi e i certificati vengono implementati direttamente in Kubernetes.

Per Apigee X:

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

Differenze con Trace

La seguente tabella confronta le differenze nel funzionamento di Trace in Apigee X e ibrido rispetto ad Apigee Edge Cloud:

Funzionalità Apigee Edge Cloud Apigee X e ibrido
Tempestività In tempo reale; sincrono Leggero ritardo; 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 il filtraggio di intestazioni e parametri di query Supporto per logiche di filtraggio complesse, incluse le operazioni logiche AND e OR. Accesso a qualsiasi variabile di flusso menzionata nel riferimento alle variabili di flusso. La sintassi è la stessa utilizzata con le condizioni, come mostrato nel riferimento alle condizioni.
Timeout della sessione

Definisce la durata della sessione di debug e per quanto tempo vengono conservati i dati.

Il valore predefinito è 20 minuti se avviata tramite chiamate API e 10 minuti se 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 conservati per 24 ore prima che ibrido li elimini automaticamente.

Validità della sessione

Il periodo di tempo in cui la richiesta di creazione della sessione è valida. Se la sessione di debug non inizia entro questo periodo di tempo, i sincronizzatori possono ignorare la richiesta di creazione della sessione. Assicurati che gli orologi dei sincronizzatori siano sincronizzati, come descritto in Prerequisiti.
Conteggio richieste di tracciamento Massimo 20 per processore di messaggi 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 rispetto alla monetizzazione

La seguente tabella fornisce un confronto tra le funzionalità chiave di Apigee Edge Monetization e Apigee X Monetization.

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 tariffari per gli sviluppatori di app Gli sviluppatori di app acquistano prodotti basati su API
Le quote vengono gestite a livello di proxy API Le quote vengono gestite a livello di prodotto API (livello aziendale)
I piani tariffari pubblicati possono solo scadere, 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 utilizzando la procedura guidata e lo strumento anteprima
MonetizationLimitsCheck policy blocca l'accesso dopo l'elaborazione della prima chiamata API se lo sviluppatore di app non ha acquistato un abbonamento MonetizationLimitsCheck Il criterio blocca immediatamente l'accesso se lo sviluppatore di app non ha acquistato un abbonamento o supera la quota
I dati di monetizzazione per le transazioni possono essere acquisiti utilizzando variabili personalizzate nelle norme relative alla registrazione delle transazioni. Apigee acquisisce automaticamente i dati di monetizzazione e questi ultimi per le transazioni possono essere sostituiti utilizzando il criterio DataCapture. Per informazioni, consulta Acquisire i dati di monetizzazione.
Gli account con pagamento anticipato e posticipato possono essere configurati sia per gli sviluppatori che 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
  • Store delle specifiche OpenAPI
  • API per cercare o revocare i token di accesso OAuth (perché i token sono sottoposti ad hashing)
  • Policy OAuth v1 o OAuthv1.0a
  • Trireme (EOL il 10/10/2019)
  • Le intestazioni con il prefisso "X-Apigee-" non sono supportate in Apigee X e vengono rimosse da richieste e 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 tra le API

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

Riepilogo delle modifiche tramite l'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, Basic 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 di sottolineatura 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 Resi: 200 OK e dettagli della cache Resi: 204 No Content
Operazioni dell'API Cache List, create, get, update, delete, clear all, e clear. Elenco ed eliminazione. La cache L1 di breve durata viene creata automaticamente quando esegui il deployment di un proxy API. Per saperne di più, consulta Elementi interni della cache.

Differenze tra le API delle metriche di Apigee Edge e Apigee X

Riepilogo delle modifiche tramite l'API elenca le differenze generali tra l'API Apigee Edge e l'API Apigee X. La tabella seguente elenca le differenze specifiche per le API delle metriche:

Funzionalità API Apigee Edge API Apigee X
Endpoint API api.enterprise.apigee.com apigee.googleapis.com
Email con i dati di analisi giornalieri Nessuna API supportata
API Async Query List Recupera un elenco di query analitiche asincrone La proprietà userId viene omessa dalla risposta. Vedi Metodo: organizations.environments.queries.list.
API per i report personalizzati API Reports Le proprietà createdBy e lastModifiedBy sono state rimosse dalla risposta. Consulta l'API Reports.

API Apigee Edge non supportate

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

Categoria API API Apigee Edge non supportate
Monitoraggio delle API Nessuna API supportata
Proxy API
  • Forza l'annullamento del deployment del proxy API
  • Recupera le dipendenze npm
  • Gestire i moduli npm
Controlli Utilizza l'API Logging di Stackdriver
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 arrestare le sessioni di traccia
  • Impossibile eliminare singole transazioni

Per saperne di più, consulta Differenze con Trace.

App per sviluppatori Recuperare il conteggio delle risorse API
Famiglia di app per sviluppatori 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

Apigee Edge for Private Cloud e Apigee hybrid

La seguente tabella confronta 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 trasferirli alla UAP (Unified Analytics Platform) nel piano di gestione.
Gateway proxy API processore di messaggi Il processore di messaggi (MP) elabora le richieste in entrata. I microservizi 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 management plane e il runtime plane.
Interfaccia utente amministrativa La UI di Apigee Edge è ospitata sul server di gestione L'interfaccia utente Apigee è ospitata sul piano di gestione.
Bilanciamento del carico Router Un controller Istio Ingress passa le richieste all'app in container processore di messaggi (MP) nel piano di runtime.
API Server di gestione Si accede alle API Apigee X tramite il server di gestione e MART. MART interagisce con il datastore Cassandra locale e funge da fornitore di 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 unico server Prometheus per cluster per tutti i servizi.