Differenze tra Apigee Edge e Apigee X

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

Questo argomento descrive come Apigee X (a volte chiamato anche "Apigee") differisce da Apigee Edge. Queste informazioni sono rivolte ai clienti esistenti di Apigee Edge che stanno prendendo in considerazione 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 che vengono confrontati in questo argomento:

Prodotto Dove è ospitato Gestito da
Apigee Edge per il cloud pubblico Cloud Apigee Apigee
Apigee Edge per cloud privato Il data center privato del cliente. Cliente
Apigee X Google Cloud Apigee
Apigee hybrid Sia Google Cloud che il data center privato del cliente Apigee gestisce il piano di gestione, mentre il cliente gestisce il piano di runtime.

Confronto tra le funzionalità da Apigee Edge e Apigee X

Le seguenti sezioni confrontano le funzionalità di Apigee Edge cloud pubblico/privato con disponibilità di funzionalità in Apigee X e in versione ibrida.

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

Riepilogo delle differenze di funzionalità attuali

La tabella seguente descrive le differenze a livello di funzionalità tra Apigee X (e ibrido) e Apigee Edge per piattaforme cloud pubbliche e private.

Funzionalità Apigee Edge Supporto in Apigee X e ibrido
Revisioni dei proxy API

Immutabile al momento del deployment

Controlli di integrità attivi Supportata per i gruppi di istanze gestite esterni (che utilizzano le VM). Non supportato quando si utilizza Private Service Connect. Per informazioni sui tipi di routing, consulta Configurare il routing.
Adattatore Apigee per Istio Deprecato: ti consigliamo di utilizzare invece Apigee Adapter per Envoy.
Aziende e sviluppatori

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

CwC (codice con configurazione)

Pianificata

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

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

Target ospitati

Utilizza Cloud Run o Cloud Functions

Gestione del nome del campo dell'intestazione HTTP/1.1 Converte i nomi dei campi di intestazione HTTP/1.1 in minuscoli quando vengono inoltrati al backend. In Apigee Edge, i nomi dei campi delle intestazioni vengono conservati.
Ruoli IAM per un controllo granulare degli accessi basato sui ruoli

Pianificata

JSONPath utilizzando [@.length-x]

L'utilizzo di [@.length-x] nelle espressioni JSONPath non è supportato in Apigee X. La specifica JSONPath afferma che le espressioni dipendono dal linguaggio di scripting sottostante. length-x è un costrutto JavaScript, non Java, e [@.length-x] non è stato implementato come parte delle specifiche. 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 restituisce [{“name”: “B”}] in Apigee X.

Keystore/truststore

In direzione nord, gestiti come secret di Kubernetes

KVM
  • Puoi creare KVM criptati con ambito di ambiente nell'interfaccia utente di Apigee. I KVM sono sempre criptati. Non è possibile aggiungere, aggiornare o visualizzare voci KVM nella UI.
  • Utilizza l'attributo private. con tutte le variabili quando accedi a un KVM con il comando GET per nascondere le informazioni del KVM in una sessione di debug (Trace). Se l'attributo private. non viene utilizzato, il KVM è ancora criptato; tuttavia, le informazioni del KVM verranno visualizzate come decriptate nella sessione di traccia di debug e non verranno generate eccezioni.
  • 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 dei KVM. Consulta Utilizzo dei set di proprietà.
  • L'elemento <MapName> consente al criterio KeyValueMapOperations di identificare quale KVM utilizzare in modo dinamico in fase di runtime.

Per saperne di più sulla creazione di KVM nell'interfaccia utente, consulta la pagina relativa all'utilizzo delle mappe chiave-valore. Vedi anche Accesso ai dati di configurazione per informazioni su come scegliere il meccanismo di persistenza dei dati corretto.

Microgateway Ti consigliamo invece di utilizzare Apigee Adapter per Envoy.
Monetizzazione Consulta le 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 stesso o diverso)
mTLS in direzione nord Pianificata
OAuth Il nuovo criterio RevocaOAuthv2 viene revocato 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
  • Nuovi criteri:
    • Criterio AssertCondition: valuta un'istruzione condizionale in fase di runtime nei flussi di richiesta o risposta.
    • Criterio CORS: consente alle chiamate XMLHttpRequest (XHR) di JavaScript eseguite in una pagina web di interagire con le risorse dei domini non di origine.
    • Criterio Data Capture: sostituisce il criterio StatisticsCollector.
    • Criterio ExternalCallout: invia richieste gRPC al server gRPC per implementare un comportamento personalizzato non supportato dai criteri di Apigee.
    • Criterio GraphQL: analizza i payload GraphQL in variabili di flusso dei messaggi, verifica le richieste GraphQL in base a uno schema o entrambi.
    • Criterio PublishMessage: pubblica le informazioni sul flusso proxy API in un argomento Google Cloud Pub/Sub.
    • Revoca criterio OAuthv2: consente la revoca in base all'ID utente, all'ID app o a entrambi.
    • Criterio di Trace Capture: aggiunge ulteriori variabili ai dati di traccia del runtime Apigee.
  • Criterio non supportato:
    • Criterio StatisticsCollector (sostituito dal nuovo criterio Data Capture)
  • Criteri modificati:
reasonPhrase Non supportati.
Risorse Impossibile utilizzare risorse a livello di organizzazione
Ruoli e autorizzazioni
  • Funzionalità gestita tramite il servizio IAM della console Google Cloud
  • Sono disponibili alcuni ruoli predefiniti selezionati
  • Puoi creare ruoli personalizzati che possono includere altre autorizzazioni di Google Cloud

Per maggiori informazioni, consulta Utenti e ruoli.

Sense Utilizza la sicurezza avanzata delle API.
Servizi SOAP nella procedura guidata per la creazione di un proxy Non supportati. Consulta wsdl2apigee, un progetto open source che fornisce utilità SOAP da utilizzare con Apigee.
Sessioni di tracciamento/debug Consulta Differenze con Trace.
Host virtuali

Per Apigee hybrid:

  • Il traffico in entrata viene implementato tramite Anthos Service Mesh.
  • Il deployment delle chiavi e dei certificati viene eseguito direttamente in Kubernetes.

Per Apigee X:

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

Differenze con Trace

La tabella seguente mette a confronto le differenze nel modo in cui Trace opera in Apigee X e ibrido rispetto ad Apigee Edge Cloud:

Funzionalità Apigee Edge Cloud Apigee X e hybrid
Tempestività In tempo reale; sincrono Leggero ritardo; asincrono
Nome/ID sessione Accetta il nome della sessione dall'utente Non accetta il nome della sessione da parte dell'utente
Filtri Supporto di filtri di base, ad esempio filtri 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 per le 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 per quanto tempo vengono conservati i dati.

Il valore predefinito è 20 minuti se viene avviato tramite chiamate API e 10 minuti se viene avviato nella UI.

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 nella UI.

I dati vengono resi persistenti per 24 ore prima che il modello ibrido li elimini automaticamente.

Validità della sessione

Periodo di tempo durante il quale 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 programmatori di sincronizzazione, come descritto nella sezione Prerequisiti.
Conteggio richieste di traccia Massimo 20 per processore di messaggi Il valore predefinito è 10 per processore di messaggi; il 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:
Interrompi sessione di debug

Eliminare transazioni specifiche

Differenze relative alla monetizzazione

La tabella seguente offre un confronto delle funzionalità chiave tra la monetizzazione di Apigee Edge e la monetizzazione di Apigee X.

Monetizzazione di Apigee Edge Monetizzazione di Apigee X/ibrida
I piani tariffari sono associati a pacchetti di prodotti API che possono essere associati a più prodotti API I piani tariffari sono associati a prodotti basati su API (relazione one-to-one)
Piani tariffari di acquisto degli sviluppatori di app Gli sviluppatori di app acquistano prodotti basati su API
Le quote sono gestite a livello di proxy API Le quote vengono gestite a livello di prodotto API (a livello aziendale)
I piani tariffari pubblicati possono essere solo scaduti; non possono essere modificati o eliminati I piani tariffari pubblicati possono essere scaduti, modificati, spostati come bozza o eliminati
Configurazione complessa (nessuna procedura guidata o strumento anteprima) Configurazione semplificata dei piani tariffari mediante 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 di app non ha acquistato un abbonamento o non supera la quota
I dati sulla monetizzazione per le transazioni possono essere acquisiti utilizzando le variabili personalizzate nelle norme relative alla registrazione delle transazioni. Apigee acquisisce automaticamente i dati sulla monetizzazione e i dati sulla monetizzazione per le transazioni possono essere sostituiti utilizzando la norma Data Capture. Per informazioni, consulta Acquisizione dei dati di monetizzazione.
Gli account prepagati e con pagamento posticipato possono essere configurati sia per gli sviluppatori sia per i piani tariffari. Gli account prepagati e con pagamento posticipato 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 specifiche OpenAPI
  • API per cercare o revocare i token di accesso OAuth (perché i token sono sottoposti ad hashing)
  • Criteri OAuth v1 o OAuth v1.0a
  • Trireme (fine del 10/10/2019)
  • Le intestazioni con prefisso "X-Apigee-" non sono supportate in Apigee X e vengono rimosse dalle richieste e dalle risposte prima di essere inviate a destinazioni e client.

Confronto tra API

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

Riepilogo delle modifiche con l'API

Di seguito sono elencate le modifiche del comportamento in 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 elementi multimediali 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 ricerca preceduti dal trattino basso Supportato (_optimal=true) Non supportate (optimal=true)
Proprietà nei payload:
  • created_by
  • modified_by
  • self
Prove di supporto Non supportata
Valori predefiniti nei payload Inclusa Non inclusa
Struttura della gestione degli errori
{
        "code": "...",
        "message": "..",
        "contexts": []
      }
{
  "error": {
    "code": 409,
    "message": "...",
    "status": "ABORTED",
    "details": [...]
  }
}
Risposta di eliminazione della cache Restituisce: 200 OK e dettagli cache Restituisce: 204 No Content
Operazioni API cache Elenca, create, get, update, delete, cancella tutto e cancella le opzioni. Solo Elenca ed elimina. La cache L1 di breve durata viene creata automaticamente quando esegui il deployment di un proxy API. Per maggiori informazioni, consulta Dati interni della cache.

Differenze tra le API delle metriche 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 seguente tabella 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 di analisi giornaliere Nessuna API supportata
API Async Query List Visualizza un elenco di query di analisi asincrone La proprietà userId è stata 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 la sezione 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
  • Forza l'annullamento del deployment del proxy API
  • Ottieni dipendenze npm
  • Gestisci 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 dell'app aziendali Nessuna API supportata
Sessioni di debug
  • Impossibile interrompere le sessioni di traccia
  • Impossibile eliminare singole transazioni

Per ulteriori informazioni, consulta Differenze con Trace.

App sviluppatore Ottieni conteggio risorse API
Famiglia di app sviluppatore Nessuna API supportata
Estensioni Nessuna API supportata
Archivio chiavi: archivio attendibilità Testa un archivio chiavi o un archivio attendibilità
LDAP Nessuna API supportata
Monetizzazione Nessuna API supportata
OAuth V2 Nessuna API supportata
Criteri Nessuna API supportata
File di risorse
  • Ambito di 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 Gestire utenti, ruoli e autorizzazioni mediante le API
Host virtuali Nessuna API supportata

Apigee Edge per il cloud privato e Apigee hybrid

La tabella seguente mette a confronto Apigee Edge per il cloud privato e Apigee hybrid:

Servizio Area dei prodotti o delle funzionalità Apigee
Apigee Edge per il cloud privato Apigee hybrid
Analytics Server Qpid e Postgres Un pod per la raccolta dei dati nel piano di runtime utilizza fluentd e UDCA (Universal Data Collection Agent) per raccogliere analisi e inviare i dati a 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 MP sono 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 Il Sincronizzatore garantisce che le configurazioni del proxy API, le informazioni sull'ambiente e altri dati siano sempre 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'UI di Apigee è ospitata sul piano di gestione.
Bilanciamento del carico Router Un controller Istio Ingress passa le richieste all'app containerizzata Message Processor (MP) nel piano di runtime.
API Server di gestione Le API Apigee X sono accessibili tramite il server di gestione e MART. MART interagisce con il datastore Cassandra locale e funge da provider di API per le API Apigee X per accedere e gestire le entità di dati di runtime.
Metriche Ogni componente configurato con JMX Gestiti da un singolo server Prometheus per cluster per tutti i servizi.