Migrazione del traffico

La migrazione del traffico cambia il routing delle richieste tra le versioni all'interno di un servizio dell'applicazione, spostando il traffico da una o più versioni a una singola nuova versione.

Per informazioni sulla suddivisione del traffico tra due o più versioni della tua app, consulta Suddivisione del traffico.

Prima di iniziare

Prima di poter configurare il traffico a una versione, assicurati che il tuo account utente includa i privilegi richiesti.

Migrazione graduale del traffico

Nell'ambiente standard puoi scegliere di instradare le richieste alla versione di destinazione, immediatamente o gradualmente.

Per impostazione predefinita, le richieste di preparazione sono disabilitate e il traffico viene migrato immediatamente a una versione.

Puoi anche scegliere di abilitare le richieste di preparazione se vuoi che il traffico venga migrato gradualmente a una versione. Se esegui immediatamente la migrazione del traffico a una nuova versione senza istanze in esecuzione, noterai un picco di latenza per le richieste di caricamento. Il deployment di una nuova versione con lo stesso nome di una versione esistente causa una migrazione immediata del traffico. Tutte le istanze della versione precedente vengono arrestate immediatamente. Si verificherà un picco di latenza dovuto alle richieste di caricamento per la nuova versione.

Se le richieste di warmup sono abilitate, puoi eseguire la migrazione del traffico tra versioni che risiedono in ambienti diversi solo specificando di eseguire immediatamente la migrazione del traffico.

Aggiunta di richieste di warmup all'applicazione

Quando le richieste di warmup sono abilitate, il traffico viene migrato gradualmente inviando una richiesta di preparazione alle nuove istanze prima che queste ricevano qualsiasi richiesta degli utenti. Le richieste di warmup migliorano i tempi di risposta degli utenti, consentendo alla versione che attualmente riceve traffico di gestire queste richieste, ma la migrazione del traffico alla nuova versione può richiedere un breve periodo di tempo durante la creazione delle nuove istanze.

Quando le richieste di warmup non sono abilitate, le richieste utente vengono inviate a queste nuove istanze prima che vengano create. A causa del ritardo causato dalla creazione delle nuove istanze e dal caricamento del codice dell'applicazione, può verificarsi una latenza per le risposte degli utenti.

Per evitare la latenza e abilitare le richieste di warmup, includi l'elemento inbound_services nel file di configurazione prima di eseguire il deployment dell'applicazione in App Engine.

Ad esempio, includi quanto segue nel file app.yaml prima di eseguirne il deployment in App Engine:

inbound_services:
- warmup

Per dettagli completi sull'attivazione delle richieste di warmup, consulta Configurare le richieste di warmup per migliorare le prestazioni.

Migrazione del traffico a una nuova versione

Console

Per eseguire la migrazione del traffico nella console Google Cloud, vai alla pagina Versioni:

Vai alla pagina Versioni

  1. Seleziona la versione verso cui vuoi eseguire la migrazione del 100% del traffico.
  2. Fai clic su Esegui la migrazione del traffico.
  3. (Facoltativo) Quando le richieste di warmup sono abilitate, la migrazione del traffico viene eseguita gradualmente. Per eseguire immediatamente la migrazione del traffico, seleziona l'opzione nella sezione Mostra opzioni avanzate.

gcloud

Dopo aver installato Google Cloud CLI, esegui il comando gcloud app services set-traffic per eseguire la migrazione del 100% del traffico a una singola versione. Ad esempio:

  • Per eseguire immediatamente la migrazione del traffico:
    gcloud app services set-traffic [MY_SERVICE] --splits [MY_VERSION]=1
  • Per eseguire la migrazione graduale del traffico, includi il flag facoltativo --migrate:
    gcloud app services set-traffic [MY_SERVICE] --splits [MY_VERSION]=1 --migrate

API

Per eseguire la migrazione del traffico in modo programmatico, puoi utilizzare l'API Admin. Per maggiori dettagli, consulta Migrazione e suddivisione del traffico.