Informazioni sugli ambienti

Un ambiente fornisce un contesto isolato o "sandbox" per l'esecuzione dei proxy API. In un'unica organizzazione puoi creare più ambienti. Per maggiori informazioni, consulta Informazioni sugli ambienti e sui gruppi di ambienti.

Durante un'installazione di base, hai aggiunto un ambiente per i test. Tuttavia, è consigliabile creare più ambienti ed eseguire il deployment di un numero limitato di proxy in ciascuno di essi.

Informazioni su host e ambienti virtuali

Apigee hybrid utilizza i gateway in entrata Istio per gestire il traffico in entrata delle API. I servizi MART e di runtime sono entrambi configurati con gateway in entrata Istio per gestire le connessioni esposte all'esterno del cluster. Ciò significa, ad esempio, che tutte le richieste HTTP e HTTPS a un proxy API vengono gestite prima da un gateway Istio Ingress.

Nel sistema ibrido, puoi creare uno o più ambienti e assegnare a ciascuno un alias host. L'alias host è un nome DNS. Il traffico in entrata verso il nome DNS viene instradato dal traffico in entrata verso l'ambiente. Internamente, ogni ambiente è assegnato a un solo processore di messaggi, che si occupa di elaborare le richieste proxy, applicare criteri e instradare il traffico da e verso i servizi di destinazione. Di conseguenza, l'alias host determina quale processore di messaggi riceve le richieste in entrata specificate.

Il codice seguente mostra una configurazione di esempio in cui sono definiti più ambienti. Queste configurazioni appartengono al file di override. Tieni presente che gli ambienti dev1 e prod1 hanno alias host diversi:

envs:
  - name: dev1
    hostAlias: "apitest.mydomain.net"
    ...

  - name: prod1
    hostAlias: "apiprod.mydomain.net"
    ...

Supponiamo che venga eseguito il deployment di un proxy con il percorso di base /foo1 nell'ambiente dev1. Potresti chiamare il proxy nel seguente modo:

curl -k https://apitest.mydomain.net/foo1

Quando questa chiamata raggiunge il traffico in entrata, il traffico in entrata sa di doverla inviare al processore di messaggi associato all'ambiente dev1, che gestisce la richiesta.

Analogamente, se viene eseguito il deployment di foo1 anche nell'ambiente prod1, potresti effettuare una richiesta proxy come la seguente all'alias host apiprod.mydomain.net:

curl -k https://apiprod.mydomain.net/foo1

Inoltre, la chiamata viene instradata dal traffico in entrata al MP associato a quell'host.

Per riassumere, a ogni ambiente che crei deve essere assegnato un alias host. Ogni ambiente è mappato a un solo processore di messaggi e l'alias host determina quale processore di messaggi riceve una determinata richiesta.

Gli ambienti possono condividere lo stesso alias host

Apigee hybrid ti consente di creare più ambienti che puoi gestire come preferisci. Ad esempio, puoi creare diversi ambienti dev, dev1, dev2, dev3 e così via, e mappare un singolo alias host a ciascuno. Inoltre, puoi eseguire il deployment di più proxy in ogni ambiente.

Antipattern: esegui il deployment di tutti i proxy in un unico ambiente ibrido.

Best practice: crea più ambienti ed esegui il deployment di un numero limitato di proxy in ciascuno di essi. La tecnica per gestire il modo in cui il proxy di routing ibrido chiama le chiamate proxy all'ambiente corretto che condivide un alias host è chiamata routing del percorso di base.

Ad esempio, nella seguente configurazione, gli ambienti dev1 e dev2 condividono lo stesso alias host:

envs:
  - name: dev1
    hostAlias: "apitest.mydomain.net"
    ...
  - name: dev2
    hostAlias: "apitest.mydomain.net"
    ...

Quando più ambienti condividono lo stesso alias host, devi utilizzare la tecnica di configurazione chiamata routing dei percorsi di base per mappare percorsi di base proxy specifici ad ambienti specifici. Per ulteriori informazioni, consulta la sezione relativa al routing dei percorsi di base.

Limita il numero di deployment proxy

Nel caso dell'ibrido, il fatto che molti ambienti possano condividere lo stesso host virtuale significa che è necessario valutare attentamente le modalità di gestione dei deployment proxy in qualsiasi ambiente. Nel modello ibrido, la best practice prevede la creazione di più ambienti ed il deployment di un numero limitato di proxy in ciascuno.

Quanti proxy dovresti eseguire il deployment in un ambiente? Non esiste una risposta predefinita a questa domanda; tuttavia, la seguente tabella fornisce indicazioni generali sui motivi per cui è opportuno limitare il numero di proxy di cui è stato eseguito il deployment in ciascun ambiente e su cosa devi considerare quando gestisci i deployment dei proxy:

Problema da considerare Descrizione
Tempo di avvio del processore dei messaggi Esiste una correlazione diretta tra il tempo impiegato da un processore di messaggi (MP) per avviarsi e il numero di proxy di cui è stato eseguito il deployment in questo MP. In un ambiente Kubernetes a scalabilità automatica, un aumento del tempo di avvio potrebbe essere un problema. Maggiore è il numero di proxy di cui viene eseguito il deployment al MP, più tempo sarà necessario perché tale MP debba essere generato se questo deve essere scalato o ricreato.
Scalabilità delle prestazioni Se hai eseguito il deployment di più proxy in un ambiente e uno dei proxy riceve molto traffico al fine di scalare frequentemente in modo automatico, tutti i proxy nell'ambiente verranno scalati di conseguenza. L'effetto sulle prestazioni della scalabilità di più proxy con un singolo proxy a traffico elevato potrebbe essere un problema.
Vicino rumoroso Se hai eseguito il deployment di più proxy nello stesso ambiente e un proxy si arresta in modo anomalo, tutti i proxy nell'ambiente verranno rimossi al riavvio degli MP. Limitando il numero di proxy di cui è stato eseguito il deployment in un ambiente, riduci al minimo l'impatto dell'arresto anomalo di un singolo proxy.

Riferimento per la configurazione dell'ambiente

Per un elenco completo degli elementi di configurazione dell'ambiente, consulta envs nella documentazione di riferimento sulle proprietà di configurazione.

Utilizzo degli ambienti

Per ulteriori informazioni sulla configurazione, consulta i seguenti argomenti: