Automatizzare le operazioni di Microsoft Azure Pack con Service Management Automation
È possibile usare runbook di Service Management Automation (SMA) per automatizzare le operazioni di routine nell'ambiente Microsoft Azure Pack per Windows Server. Esistono due tipi distinti di runbook SMA:
Tipo | Descrizione |
---|---|
Flusso di lavoro PowerShell | Runbook di testo basato su flusso di lavoro Windows PowerShell. |
PowerShell | Runbook di testo basato su script di Windows PowerShell. |
Runbook del flusso di lavoro di PowerShell
I runbook del flusso di lavoro PowerShell sono basati sul flusso di lavoro di Windows PowerShell. È possibile modificare direttamente il codice del runbook usando l'editor nel portale di gestione. È anche possibile usare qualsiasi editor di testo offline e importare il runbook in SMA.
Vantaggi
- Implementare tutta la logica complessa con il codice del flusso di lavoro PowerShell.
- Uso dei checkpoint per riprendere il runbook in caso di errore.
- Uso dell' elaborazione parallela per eseguire più operazioni in parallelo.
- Includere altri runbook del flusso di lavoro PowerShell come runbook figlio per creare flussi di lavoro di alto livello.
Limiti
- Necessità che l'autore abbia familiarità con il flusso di lavoro PowerShell.
- Il runbook deve gestire la complessità aggiuntiva del flusso di lavoro di PowerShell, ad esempio gli oggetti deserializzati.
- Tempi di avvio maggiori rispetto ai runbook di PowerShell perché è necessaria la compilazione prima dell'esecuzione.
- I runbook di PowerShell possono essere inclusi solo come runbook figlio usando il cmdlet Start-SMARunbook, che crea un nuovo processo.
Runbook di PowerShell
I runbook di PowerShell sono basati su Windows PowerShell. È possibile modificare direttamente il codice del runbook usando l'editor nel portale di gestione. È anche possibile usare qualsiasi editor di testo offline e importare il runbook in SMA.
Vantaggi
- Implementare tutta la logica complessa con il codice di PowerShell senza le complessità aggiuntive del flusso di lavoro di PowerShell.
- Avvio del runbook più rapido rispetto ai runbook del flusso di lavoro PowerShell poiché non è necessaria la compilazione prima dell'esecuzione.
Limiti
- Necessità di familiarità con lo scripting di PowerShell.
- Non è possibile usare l'elaborazione parallela per eseguire più azioni in parallelo.
- Non è possibile usare checkpoint per riprendere i runbook quando si verifica un errore.
- I runbook del flusso di lavoro PowerShell possono essere inclusi solo come runbook figlio usando il cmdlet Start-SMARunbook, che crea un nuovo processo.
Modalità di esecuzione dei runbook da parte di SMA
Le richieste di avvio di un runbook vengono eseguite dal servizio Web SMA usando il portale di gestione dei servizi o il cmdlet Start-SmaRunbook di Windows PowerShell. Il servizio Web scrive questa richiesta nel database di Automazione in cui viene recuperata da uno dei server di lavoro di Automazione.
Se la proprietà RunbookWorker del runbook viene popolata, il server di lavoro funzionerà il processo. Se il server di lavoro non è disponibile, il processo non riesce con un errore. Se la proprietà RunbookWorker del runbook non viene popolata, SMA seleziona in modo casuale un server di lavoro disponibile per gestire la richiesta.
Il server di lavoro crea un processo eseguito nel server di lavoro che gestisce la richiesta e accede in remoto a tutti i computer o ad altre risorse con cui funzionerà. Questa operazione richiede che i cmdlet nel Runbook siano in grado di accedere in remoto a tali risorse. In alternativa, il Runbook può includere un comando InlineScript in modo da poter usare il servizio remoto PowerShell per eseguire i comandi in locale in un computer di destinazione. Questo concetto è illustrato nella figura seguente.
Se un processo viene sospeso o interrotto, può essere ripreso in un altro server Worker. Per questo motivo, è consigliabile prestare attenzione all'uso di risorse locali che non sono accessibili a tutti i server di lavoro, ad esempio un file in un computer locale. È consigliabile usare asset globali come le variabili il più possibile per la condivisione di informazioni tra checkpoint.
Autorizzazioni
Per eseguire le azioni richieste, un Runbook deve disporre delle autorizzazioni per accedere alle risorse che dovrà usare. I runbook in SMA vengono sempre eseguiti nel contesto dell'account del servizio Runbook di Automazione. Se questo account non dispone delle autorizzazioni necessarie, è possibile usare credenziali o una risorsa globale connessione nel runbook per eseguire i comandi necessari usando le credenziali con le autorizzazioni necessarie. Queste credenziali possono essere usate con un cmdlet che accetta le credenziali tramite un parametro o con InlineScript per eseguire un blocco di codice usando credenziali alternative.
Passaggi successivi
- Altre informazioni sulla creazione di runbook di automazione.
- Altre informazioni sui concetti relativi al flusso di lavoro di Windows PowerShell.