Automatización de las operaciones de Microsoft Azure Pack con Service Management Automation
Puedes usar los runbooks de Service Management Automation (SMA) para automatizar las operaciones de rutina en tu entorno de Microsoft Azure Pack para Windows Server. Hay dos tipos distintos de runbooks de SMA:
Tipo | Descripción |
---|---|
Flujo de trabajo de PowerShell | Runbook de texto basado en el flujo de trabajo de Windows PowerShell. |
PowerShell | Runbook de texto basado en el script de Windows PowerShell. |
Runbooks de flujo de trabajo de PowerShell
Los runbooks de flujo de trabajo de PowerShell se basan en el flujo de trabajo de Windows PowerShell. Puedes modificar directamente el código del runbook con el editor del portal de administración. También puedes usar cualquier editor de texto sin conexión e importar el runbook en SMA.
Ventajas
- Implementa toda la lógica compleja con el código de flujo de trabajo de PowerShell.
- Use los puntos de control para reanudar el runbook en caso de error.
- Use el procesamiento paralelo para realizar varias acciones en paralelo.
- Incluye otros runbooks de flujo de trabajo de PowerShell como runbooks secundarios para crear flujos de trabajo de alto nivel.
Limitaciones
- Debe estar familiarizado con el flujo de trabajo de PowerShell.
- El runbook debe tratar la complejidad adicional del flujo de trabajo de PowerShell, por ejemplo, los objetos deserializados.
- El runbook tarda más en iniciarse que los runbooks de PowerShell ya que deben compilarse antes de su ejecución.
- Los runbooks de PowerShell pueden incluirse únicamente como runbooks secundarios mediante el cmdlet Start-SMARunbook, el cual crea un nuevo trabajo.
Runbooks de PowerShell
Los runbooks de PowerShell están basados en Windows PowerShell. Puedes modificar directamente el código del runbook con el editor del portal de administración. También puedes usar cualquier editor de texto sin conexión e importar el runbook en SMA.
Ventajas
- Implementa toda la lógica compleja con el código de PowerShell sin las complejidades adicionales del flujo de trabajo de PowerShell.
- El runbook se inicia con más rapidez que los runbooks de flujo de trabajo de PowerShell, ya que no es necesario compilarlos antes de la ejecución.
Limitaciones
- Debe estar familiarizado con el scripting de PowerShell.
- No puedes usar el procesamiento paralelo para realizar paralelamente varias acciones.
- No se pueden usar puntos de control para reanudar los runbooks cuando se produce un error.
- Los runbooks de PowerShell pueden incluirse únicamente como runbooks secundarios mediante el cmdlet Start-SMARunbook, el cual crea un nuevo trabajo.
Cómo ejecuta SMA los runbooks
El servicio web de SMA realiza solicitudes para iniciar un runbook mediante el portal de administración de servicios o el cmdlet Start-SmaRunbook de Windows PowerShell. El servicio web escribe esta solicitud en la base de datos de Automation, donde uno de los servidores de procesamiento en segundo plano de Automation la recupera.
Si se rellena la propiedad RunbookWorker del runbook, ese servidor de procesamiento en segundo plano se hará cargo del trabajo. Si el servidor de procesamiento en segundo plano no está disponible, se produce un error en el trabajo. Si la propiedad RunbookWorker del runbook no se rellena, SMA selecciona aleatoriamente un servidor de procesamiento en segundo plano disponible para atender la solicitud.
El servidor de procesamiento en segundo plano crea un trabajo que se ejecuta en el servidor de procesamiento en segundo plano con el que se atiende la solicitud y accede de forma remota a los equipos u otros recursos con los que funcionará. Esto requiere que los cmdlets del runbook puedan acceder de forma remota a estos recursos. Como alternativa, el runbook puede incluir un comando InlineScript para usar la comunicación remota de PowerShell para ejecutar comandos localmente en un equipo de destino. Esta configuración se ilustra en el diagrama siguiente:
Si un trabajo se suspende o se interrumpe, puede reanudarse en otro servidor de procesamiento en segundo plano. Por este motivo, debes tener cuidado de usar recursos locales que no sean accesibles para todos los servidores de procesamiento en segundo plano, como un archivo en un equipo local. Debes usar recursos globales como las variables todo lo posible para compartir información entre puntos de control.
Permisos
Para que un runbook realice las acciones necesarias, debe tener permisos para acceder a los recursos con los que trabaja. Los runbooks de SMA siempre se ejecutan en el contexto de la cuenta de servicio del servicio Automation Runbook Service. Si esta cuenta no tiene los permisos necesarios, puedes usar un recurso global de credenciales o de conexión en el runbook para ejecutar los comandos necesarios usando credenciales con los permisos necesarios. Estas credenciales se pueden usar con un cmdlet que acepte credenciales a través de un parámetro o con InlineScript para ejecutar un bloque de código con credenciales alternativas.
Pasos siguientes
- Obtén más información sobre la Creación de runbooks de automatización.
- Obtén más información sobre los Conceptos de flujo de trabajo de Windows PowerShell.