Automatizando nuestras tareas en Azure

Un gran número de las tareas que hacemos a diario probablemente pueden ser automatizadas evitándonos de esta manera perder unos minutos u horas que podríamos dedicar a otras cosas. En Azure, alguno de estos ejemplos son: parar nuestras máquinas por las noches cuando no están siendo usadas, desplegar un nuevo servicio, comprobar que nuestra aplicación está funcionando correctamente, etc.

Antes de la entrada en marcha de Azure Automation esto lo podíamos lograr a través de las herramientas de PowerShell para Azure ejecutándolas desde nuestro equipo local. Sin embargo, el problema era que teníamos que programar las tareas en nuestro sistema operativo y dejar nuestro equipo encendido para que se ejecutara correctamente.

Con Azure Automation logramos que esos dos problemas desaparezcan gracias a la ejecucción de nuestros scripts directamente en la nube con las capacidades que nos ofrece el servicio. Vamos a ver cómo usarlo.

Primeros pasos con Azure Automation

Para hacer uso del servicio de automatización el primer paso es disponer de una cuenta donde alojaremos la información necesaria para nuestros procesos de automatización como scripts, credenciales, variables, conexiones, etc.

Para crear una nueva deberemos acceder al Portal de Gestión > Automatización > Crear una cuenta de automatización

Creación de una cuenta de automatización
Creación de una cuenta de automatización

Tendremos que elegir un nombre para la cuenta de almacenamiento y una región. A día de hoy están disponibles tres regiones: Este de EEUU, Oeste de Europa y Sudeste de Asia. Por proximidad escogeremos Oeste de Europa.

El servicio se basa en el uso de “runbooks”, un concepto similar al de los script que podemos ejecutar en nuestros equipos. Los runbooks se basan en las capacidades de flujos de trabajo de PowerShell incorporadas en la versión 3.0

Para facilitar el proceso existe una galería de runbooks predefinidos que podemos utilizar como base para construir los nuestros propios. Podemos encontrarlos en Nuevo > Servicios de Aplicación > Automatización > Runbook > De la galería

Creación de un runbook de la galería
Creación de un runbook de la galería

A día de hoy existen 123 ejemplos disponibles para utilizar. Escogeremos dentro de la sección de destacados el de “Hello World for Azure Automation”. El asistente en el siguiente paso nos muestra el contenido del runbook antes de ir a la última pantalla donde definiremos el nombre de nuestro runbook, sobre qué cuenta queremos que se guarde y nuestra suscripción. Los datos por defecto son una buena opción.

Especificar detalles del runbook
Especificar detalles del runbook

Ejecutando nuestro primer runbook

Tras terminar los pasos anteriores tendremos disponibles nuestro runbook dentro de nuestra cuenta de automatización.

Write-HelloWorld runbook
Write-HelloWorld runbook

Si lo seleccionamos entraremos en las opciones específicas de dicho runbook. Seleccionamos la pestaña de AUTOR, donde se mostrarán los detalles del mismo y pulsamos en la barra inferior la opción de PRUEBA. Esto iniciará el proceso de ejecución de nuestro flujo de trabajo y nos pedirá que introduzcamos los parámetros necesarios. Si aceptamos la configuración que nos ofrece por defecto con el valor de World obtendremos una salida como la siguiente.

Resultado ejecución del runbook
Resultado ejecución del runbook

Con esto habremos ejecutado nuestra primera tarea automatizada con Azure Automation. La verdad es que no es nada sorprendente pero es el punto inicial para empezar a construir los runbooks que necesitamos. Si revisamos el código tenemos que:

 
workflow Write-HelloWorld {
    param (
 
        # Optional parameter of type string. 
        # If you do not enter anything, the default value of Name 
        # will be World
        [parameter(Mandatory=$false)]
        [String]$Name = "World"
    )
        Write-Output "Hello $Name"
}

EN este runbook estamos definiendo un nuevo flujo de trabajo llamado Write-HelloWorld. Tras ello, gracias a la función param definimos el parámetro $Name del tipo String con un valor por defecto y le marcamos con el atributo de opcional. En el último paso se ejecuta el comando que escribe por pantalla el mensaje de saludo y finaliza.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.