Con Application Services, è possibile creare un profilo di aggiornamento per una distribuzione esistente, ad esempio per scalare verticalmente i cluster di uno o più nodi, al fine di liberare risorse non utilizzate e gestire i cambiamenti di carico nell'applicazione scalabile. Quando su un nodo di cluster di un'applicazione distribuita viene effettuata una scalabilità verticale, è possibile configurare solo le dimensioni dei cluster dei nodi modellati come cluster nel blueprint dell'applicazione.

Durante un processo di aggiornamento che deve essere scalato verticalmente in un'applicazione distribuita, in base alle impostazioni di dell'aggiornamento, lo script di aggiornamento viene eseguito sui componenti dipendenti, seguito da lo script dell'azione di disinstallazione per rimuovere i nodi. In un'applicazione con più livelli, se un nodo dipende da un nodo di cluster scalato verticalmente, è necessario eseguire uno script di aggiornamento sul nodo dipendente.

Ad esempio, in un'applicazione Clustered Dukes Bank, è possibile scalare verticalmente il nodo AppServer per ridurre il carico. Durante il processo di aggiornamento, lo script di aggiornamento viene eseguito sul nodo dipendente load_balancer. Lo script di azione di disinstallazione rimuove i nodi appServer_2 and appServer_3 dalla distribuzione. Lo script di azione invoca anche l'API del provider di cloud per rimuovere i nodi dall'ambiente cloud.

Durante la scalabilità verticale, è possibile allegare un'attività personalizzata con un nodo scalato verticalmente ed effettuare l'aggiornamento. Tuttavia, quando questo profilo di aggiornamento di scalabilità verticale viene riutilizzato, il nodo non dispone di nessuna attività personalizzata ad esso associata. Ciò si verifica perché, durante la prima scalabilità verticale, le informazioni dell'attività personalizzata vengono eliminate insieme al nodo scalato verticalmente. Pertanto non possono essere usate per un riutilizzo della scalabilità verticale.

La definizione degli script della fase AGGIORNAMENTO e DISINSTALLAZIONE del ciclo di vita per un servizio dipendente o un componente dell'applicazione viene effettuata durante la distribuzione dell'applicazione iniziale. Gli script di aggiornamento vengono eseguiti sui nodi dipendenti e gli script di disinstallazione vengono eseguiti sui nodi scalati verticalmente. Lo script di aggiornamento e disinstallazione inoltre può essere aggiunto o modificato durante il processo di aggiornamento. Quando lo script di aggiornamento o disinstallazione viene configurato durante il processo di aggiornamento, lo script viene salvato nel profilo di aggiornamento per distribuzioni future.

Nota: non è possibile modificare gli script di installazione, configurazione o avvio durante un processo di aggiornamento. È possibile configurare solo lo script di aggiornamento e disinstallazione.

Con le API REST in Application Services, è possibile automatizzare la scalabilità verticale di un'applicazione distribuita. Vedere il documento Uso delle API REST di Application Services.

Il processo di aggiornamento scalare verticalmente una distribuzione talvolta potrebbe non riuscire. Se la scalabilità verticale di un aggiornamento non riesce, è necessaria una pulizia per provare a eseguire di nuovo il deprovisioning delle nuove macchine virtuali. Il deprovisioning delle macchine virtuali appena create è un'attività tediosa e è difficile da eseguire per gli utenti dei servizi esterni. Per evitare operazioni manuali, si consiglia l'eliminazione automatica delle macchine virtuali. Impostare il flag seguente su True per consentire la pulizia automatica delle macchine virtuali se la prima eliminazione non riesce:
  • UPDATE_RETRY_VM_DEPROVISIONING_AFTER_FAILURE_FLAG
Impostare il flag seguente su True per provare di nuovo a eliminare le macchine virtuali con un ritardo in millisecondi:
  • UPDATE_RETRY_VM_DEPROVISIONING_AFTER_FAILURE_DELAY_INTERVAL

Prerequisiti

  • Accedere a Application Services come publisher e deployer dell'applicazione.
  • Familiarizzare con i concetti base di definizione e configurazione delle azioni e delle proprietà dei componenti. Vedere Sviluppo dei componenti di Application Services.
  • L'applicazione distribuita deve includere almeno un nodo di cluster. Vedere Specificare un nodo come cluster.
  • Se si prevede di usare un'attività personalizzata, verificare che almeno una sia creata nella libreria di Application Services. Vedere Aggiungere un'attività personalizzata alla libreria.
  • Verificare che la distribuzione iniziale nell'ambiente cloud sia corretta.

    Non è possibile effettuare la scalabilità dei nodi di cluster da una distribuzione non riuscita o dopo un'operazione di scalabilità non riuscita.

  • Contattare l'amministratore del cloud in uso per richiedere informazioni sui limiti dello spazio di archiviazione dell'ambiente di distribuzione.

Procedura

  1. Nella barra del titolo di Application Services, fare clic sul menu a discesa e selezionare Distribuzioni.
  2. Selezionare una distribuzione di applicazione distribuita correttamente.
  3. Dal menu a discesa Operazioni nella barra degli strumenti, selezionare Aggiorna.
    Viene aperta la pagina Aggiorna profili.
  4. Selezionare Crea un profilo di aggiornamento.
    Viene aperta la finestra di dialogo Profilo di aggiornamento.
  5. Nel menu a discesa Aggiorna tipo, selezionare Scalabilità verticale.
  6. Assegnare un nome al processo di aggiornamento scalato, aggiungere una descrizione facoltativa e fare clic su OK.
    Nella descrizione, è possibile aggiungere informazioni sulle modifiche incluse nell'aggiornamento.
  7. (Facoltativo) Fare clic sull'immagine del blueprint per rivedere le dipendenze evidenziate tra servizi o componenti delle applicazioni.
    Prendere nota di tutti i componenti dipendenti in modo che sia possibile creare uno script di aggiornamento se non ne esiste uno o per modificare un componente esistente.
  8. Dalla scheda Nodo, ridurre il valore delle dimensioni del cluster.
    Application Services seleziona i nodi che sono stati creati più recentemente.
    Ad esempio, se un cluster include i nodi appserver_0, appserver_1, appserver_2 e appserver_3 e si riducono le dimensioni del cluster a due nodi, i nodi appserver_2 e appserver_3 vengono selezionati per l'eliminazione.
  9. (Facoltativo) Fare clic sul pulsante Scegliere i nodi da rimuovere per un elenco di tutti i nodi del cluster e selezionare manualmente i nodi per l'eliminazione.
  10. (Facoltativo) Dalla scheda Servizio o Componente dell'applicazione, creare uno script di aggiornamento di tutti i componenti dipendenti disponibili con una proprietà associata al nodi di cluster.
    Se vengono definiti gli script della fase AGGIORNAMENTO e DISINSTALLAZIONE del ciclo di vita, tali script vengono riportati con il componente dell'applicazione o il servizio associato.
    Ad esempio, se un nodo di bilanciamento del carico ha la proprietà all(node_array:ip) associata al nodo di cluster, allora deve eseguire uno script di aggiornamento.
  11. (Facoltativo) Selezionare la casella di controllo Riavvia se l'agente deve riavviare la macchina virtuale dopo che lo script di aggiornamento è stato eseguito correttamente e fare clic su Avanti.
    Il nodo di cluster scalato verticalmente e le attività di aggiornamento dei componenti dipendenti sono visualizzate nel piano di esecuzione. Durante un processo di aggiornamento, il piano di esecuzione originale non viene visualizzato.
  12. (Facoltativo) Aggiungere una proprietà APPD_UPDATE_PROPS allo script di aggiornamento per visualizzare un elenco di tutte le proprietà modificate.
    Lo script di aggiornamento viene salvato nel profilo di aggiornamento e può essere usato per più aggiornamenti. Non è possibile usare APPD_UPDATE_PROPS come nome della proprietà o come qualificatore per il nome della proprietà.
    Ad esempio lo script di aggiornamento del servizio MySQL campione include la proprietà APPD_UPDATE_PROPS per l'aggiornamento della porta e della password del database.
  13. (Facoltativo) Aggiungere una proprietà APPD_PREV nello script di aggiornamento per visualizzare il valore precedente di una proprietà.
    Lo script di aggiornamento viene salvato nel profilo di aggiornamento e può essere usato per più aggiornamenti. Non è possibile usare APPD_PREV come nome della proprietà o come qualificatore per il nome della proprietà.
    Ad esempio, lo script di aggiornamento del servizio MySQL campione include la proprietà APPD_PREV per visualizzare il valore della password del database.
  14. (Facoltativo) Fare clic sul pulsante Espandi cluster (Espandi cluster) per espandere il nodo di cluster, selezionare un'attività personalizzata e trascinarla su ciascun nodo.
    È possibile configurare le proprietà dell'attività nella finestra di dialogo Aggiungi attività personalizzate e salvare le modifiche.
  15. Rivedere lo script di aggiornamento e il nodo di cluster scalato verticalmente nel piano di esecuzione e fare clic su Avanti.
    Le righe blu tratteggiate nel piano di esecuzione definiscono un ordine specifico nel quale vengono eseguite le attività di distribuzione.

    Fare clic sulla freccia in giù accanto allo script di aggiornamento del servizio per visualizzare i dettagli o le definizioni delle variabili usate nello script.

  16. Rivedere le azioni e le proprietà modificate dell'aggiornamento.
    Le proprietà dipendenti con script di aggiornamento definiti sono evidenziate.
  17. Fare clic su Aggiorna per distribuire l'applicazione aggiornata.

risultati

Il processo di aggiornamento distribuisce nel cloud l'aggiornamento scalato verticalmente.

Operazioni successive

È possibile rivedere lo stato della distribuzione dalla relativa pagina di riepilogo. Vedere Utilizzo della pagina di riepilogo della distribuzione.

Sono disponibili ulteriori informazioni sui diversi processi che si verificano in background quando l'applicazione distribuita viene aggiornata nel cloud. Vedere Nozioni sul processo di aggiornamento e distribuzione.