Scalabilità, alta disponibilità e gestione del traffico
Quando la tua app viene distribuita in Code Engine, è accessibile e disponibile per i test e persino la produzione. Poiché Code Engine fornisce una piattaforma senza server per carichi di lavoro inseriti nel contenitore, la maggior parte dei tuoi dettagli di runtime vengono gestiti automaticamente da Code Engine. Tuttavia, è possibile controllare molti dettagli.
Scalabilità della tua applicazione
Quando utilizzi Cloud Foundry, potresti aver configurato e utilizzato la funzionalità di ridimensionamento automatico, che ti consente di aggiungere e rimuovere automaticamente le istanze dell'applicazione, a seconda delle metriche delle prestazioni o della data e dell'ora. Al contrario, Code Engine ridimensiona automaticamente la tua applicazione per impostazione predefinita. Code Engine ridimensiona un'applicazione fino a 10 istanze di runtime (per impostazione predefinita) e fino a zero (il che significa che l'applicazione non consuma alcuna risorsa quando non è in uso).
Puoi modificare queste impostazioni all'interno dei limiti e delle quote di Code Engine. Una scala massima di 0 (zero) ridimensiona la tua applicazione al massimo possibile,
se necessario mentre una scala minima di 1 mantiene in esecuzione almeno un'istanza della tua applicazione. Regolando la simultaneità e il timeout della richiesta, è possibile regolare il programma di scalabilità automatico in
base alle esigenze. Per ulteriori informazioni, vedi Configurazione del ridimensionamento dell'applicazione
Alta disponibilità
Per aspetti di alta disponibilità (e ripristino di emergenza), Cloud Foundry e Code Engine sono simili.
- Seguire le procedure ottimali per la gestione delle richieste simultanee.
- Assicurati di avere almeno due o anche tre istanze dell'applicazione attive e in esecuzione.
- Esegui istanze dell'applicazione nelle zone disponibili di una regione multizona (MZR).
- Utilizza un GLB(global load balancer) davanti alle istanze dell'applicazione distribuite a più MZR per l'alta disponibilità a livello globale.
Gestione del traffico e aggiornamenti continui
Per mantenere la tua applicazione disponibile quando distribuisci una nuova versione su Cloud Foundry, utilizza opzioni di comando CLI speciali per aggiornamenti a rotazione o distribuzioni con tempo di inattività zero. Con Code Engine, gli aggiornamenti continui vengono eseguiti automaticamente. Una volta che la nuova revisione dell'applicazione è pronta, il traffico viene spostato dalla vecchia applicazione alla nuova revisione.
L'esecuzione di distribuzioni blu - verdi e lo spostamento graduale del traffico dalla vecchia applicazione alla nuova revisione ha richiesto un intervento manuale in Cloud Foundry. Con Code Engine, puoi utilizzare le funzionalità integrate nei suoi livelli Kubernetes e Knative sottostanti. Il post del blog, Distribuzione Blue-green con IBM Cloud Code Engine e Knative, mostra come il comando della CLI Knative per aggiornare l'applicazione in modo che il traffico sia configurato per suddividere le revisioni.
Dato un applicazione denominata bluegreen e due revisioni rev-old e rev-new, il seguente comando suddivide il traffico 80/20 tra loro.
kn service update bluegreen --traffic rev-old=80 --traffic rev-new=20
Regolando le percentuali assegnate, puoi testare prima la nuova versione del codice con un po' di traffico e, quando il tuo codice è pronto, eseguire la revisione in produzione.
Passi successivi
- Stai iniziando la migrazione? Controlla Introduzione.
- Confronta la terminologia Cloud Foundry con Code Engine.
- Prova Code Engine con un'esercitazione di creazione locale.
- L'applicazione utilizza i bind di servizio? Controlla Migrating your service bindings.
- Scalabilità, alta disponibilità e gestione del traffico (pagina corrente)
- Trovare Code Engine equivalenti ai comandi Cloud Foundry.
- Hai ancora altre domande? Prova le applicazioni Migrating Cloud Foundry a Code Engine FAQ.
Altre informazioni
- Scopri di più su Prezzi Code Engine.
- Prova altre esercitazioni diCode Engine.
- Esplora altri Code Engine argomenti.