Esercizio - Regole di scalabilità automatica

Completato

In questo esercizio verranno esaminati gli esercizi per configurare e attivare la scalabilità automatica dell'applicazione di esempio.

Esercizio della regola

Nell'applicazione di esempio di App Spring di Azure, l'applicazione ha già attivato un'azione di scale-out sul microservizio del servizio clienti quando è stato creato.

Il servizio clienti aumenta la capacità quando il numero di richieste tomcat supera in media 10 sessioni al minuto. Dopo l'attivazione della scalabilità automatica, viene quindi eseguita la riduzione della capacità se il numero di richieste è minore o uguale a 10 sessioni al minuto in media.

Visualizzare la configurazione della scalabilità automatica nel portale di Azure

  1. In una nuova scheda del Web browser, aprire il portale di Azure.
  2. Nella casella di ricerca in alto cercare App Spring di Azure.
  3. Nella pagina di panoramica di App Spring di Azure selezionare l'istanza di App Spring di Azure nei risultati.
  4. Selezionare la scheda App in Impostazioni nel menu del riquadro di spostamento sinistro.
  5. Selezionare l'applicazione customers-service. Verrà visualizzata la pagina Panoramica dell'applicazione.
  6. Passare alla scheda Scale-out in Impostazioni nel menu a sinistra della pagina.

Screenshot of the scale out setting in the Azure portal.

Sono disponibili due opzioni per la gestione delle richieste di scalabilità automatica:

  1. Scalabilità manuale: gestisce un numero di istanze fisso. Nel livello Standard è possibile aumentare il numero di istanze fino a un massimo di 500. Questo valore modifica il numero di istanze in esecuzione separate dell'applicazione di microservizi.
  2. Scalabilità automatica personalizzata: viene ridimensionata in base a qualsiasi pianificazione, in base a qualsiasi metrica.

Nella portale di Azure visualizzare la configurazione di pre-installazione per l'applicazione. Nella figura seguente viene illustrata la configurazione della scalabilità automatica personalizzata per il numero di richieste tomcat.

Screenshot of the Custom autoscale setup in the Azure portal.

Visualizzazione degli eventi di scalabilità automatica completati

Nella schermata delle impostazioni di scale-out, passare alla scheda Cronologia di esecuzione per visualizzare le azioni di ridimensionamento più recenti. La scheda mostra graficamente i cambiamenti nel tempo di Observed Capacity (Capacità osservata) e un log di ogni azione di scalabilità automatica.

Screenshot of the autoscale run history in the Azure portal.

Attivare l'azione di scale-out con uno script

È anche possibile attivare la scalabilità automatica manualmente tramite un Web browser o uno script della shell.

Per testare le regole di scalabilità automatica, verranno generati alcuni carichi sulle istanze. Questo carico simulato causa l'aumento del numero di istanze in base alle regole di scalabilità automatica. Quando il carico simulato viene successivamente interrotto, le regole di scalabilità automatica determinano la riduzione del numero di istanze.

Per consentire l'attivazione della scalabilità automatica, è stato fornito uno script della shell nello stesso repository GIT usato per creare l'applicazione di App Spring di Azure.

  1. Nella finestra bash https://shell.azure.com eseguire i comandi seguenti per impostare il nome dell'istanza di App Spring (lo stesso nome del servizio App Spring di Azure usato nell'esercizio precedente):

    export SPRING_APPS_SERVICE=<spring-apps-instance-name>
    
  2. Nella finestra bash eseguire quindi i comandi seguenti per eseguire le transazioni sul microservizio del servizio clienti di App Spring:

    cd mslearn-autoscale-java
    sh loadTest.sh
    
  3. Verrà visualizzato l'output del test di carico del microservizio delservizio clientiche invia 100 richieste all'istanza.

Attivare manualmente l'azione di scale-out tramite un Web browser (facoltativo)

Per attivare manualmente la condizione di scale-out nell'impostazione di scalabilità automatica creata, il microservizio del servizio clienti deve avere più di 10 richieste in meno di un minuto.

  1. Aprire una nuova finestra del browser e passare al microservizio del servizio clienti:

    https://<your-spring-apps-service>-api-gateway.azuremicroservices.io/api/customer/owners
    
  2. In rapida successione ricaricare la pagina più di 10 volte.

Visualizzazione dell'azione di scale-out

  1. Nella finestra del browser originale, nell'impostazione di scalabilità automatica selezionare la scheda Cronologia di esecuzione.

  2. Si dovrebbe vedere un grafico che mostra il numero di istanze.

  3. In pochi minuti, il numero di istanze aumenterà da 1 a 2.

  4. Nel grafico, dovrebbero esserci le voci di log attività per ogni azione di scalabilità adottata da questa impostazione di scalabilità automatica.

Screenshot of the autoscale scale-out history in the Azure portal.

Azione di riduzione

La condizione di riduzione nell'impostazione di scalabilità automatica viene attivata se è presente un numero pari o inferiore a 10 richieste al servizio clienti in un periodo di un minuto.

  1. Assicurarsi che non vengano inviate richieste al microservizio del servizio clienti e che la finestra del browser sull'app o servizio venga chiusa.

  2. In pochi minuti, il numero di istanze potrebbe passare da 2 a 1 (vedere il punto importante di seguito).

Screenshot of the autoscale scale-in action in the Azure portal.

Importante

App Spring di Azure potrebbe non essere ridimensionato perché la scalabilità automatica cercherà di stimare lo stato finale dopo il ridimensionamento. La scalabilità automatica dovrà quindi immediatamente eseguire di nuovo il ridimensionamento, se il numero medio di richieste tomcat rimane invariato o scende anche solo di poco.