alex_aldo - Fotolia

Lo básico Póngase al día con nuestro contenido introductorio.

Estos comandos de automatización de TI toman poco esfuerzo y ahorran mucho trabajo

Hacer algunas tareas de TI a mano es hacerlas mal. Ya sea para aprovisionar componentes, investigar un problema o informar sobre el rendimiento, los scripts de automatización de TI son potentes y fáciles de escribir.

Los administradores de TI están bajo presión para hacer más con menos: menos tiempo, menos recursos y nunca suficiente dinero. La automatización de pasos para la implementación de servidores y aplicaciones puede eliminar algunas tareas repetitivas de sus listas.

Implementar y administrar entornos de TI sin automatización es la forma incorrecta de trabajar. Los scripts de automatización ya no son algo agradable que tener en el trabajo: son una necesidad empresarial.

El gran secreto es que la creación de scripts para la automatización no es complicada. Los siguientes ejemplos de scripts de automatización útiles demuestran cómo los equipos de TI pueden realizar tareas comunes de una manera que ahorra tiempo y dinero.

Puesta en servicio y configuración de hosts

Los administradores de TI con frecuencia crean hosts: un proceso manual que requiere mucho tiempo, incluso cuando simplemente configuran una configuración posterior a la VM. La configuración manual deja margen para errores; incluso en un entorno pequeño, puede resultar en diferencias sutiles en las configuraciones entre hosts que se suponía que eran idénticos.

La cura es la configuración de estado deseado (DSC), que define programáticamente cómo debe verse una máquina después de la implementación. Chef es una herramienta DSC popular y se utiliza en este ejemplo de automatización de secuencias de comandos.

El administrador escribe una receta de Chef que se guarda en un libro de cocina, que es la terminología de la herramienta para un script en una carpeta con algunos diseños adicionales y detalles de configuración.

Se necesita tiempo para crear un conjunto inicial de recetas y libros de cocina, pero los resultados compensan esta inversión. Perfeccionar y desarrollar la implementación se convierte en un simple caso de implementar las recetas adecuadas después de la compilación inicial del host. Un administrador puede copiar, cambiar e implementar la receta o el libro de recetas una y otra vez, ahorrando tiempo y asegurando una configuración de plataforma consistente.

¿Escéptico de que establecer un entorno DSC aliviará el trabajo en lugar de crear un nuevo trabajo? Considere el tiempo que lleva configurar los servidores web para la prueba, el desarrollo y la producción: un script simple configura un servidor web en el tiempo que lleva servir una taza de café.

Chef y su lenguaje subyacente Ruby, junto con PowerShell, hacen que configurar un servidor web en sistemas Windows sea tan fácil como:

powershell_script 'Install IIS' do

 code 'Add-WindowsFeature Web-Server'

 guard_interpreter :powershell_script

 not_if "(Get-WindowsFeature -Name Web-Server).Installed"

end

El código anterior, tomado de Chef, ilustra la simplicidad de trabajar con la automatización DSC. El administrador podría agregar más contenido y configuración web; es fácil copiar la receta e instalar un nuevo rol.

DSC y otras herramientas de implementación inicial permiten a las organizaciones de TI construir una infraestructura escalable. Implementar la misma configuración repetidamente desde el desarrollo hasta la producción se vuelve trivial y reduce el riesgo de que los errores de configuración creen problemas cuando ocurren nuevas versiones. Del mismo modo, un administrador podría configurar decenas de configuraciones diferentes, según las necesidades, de forma controlada y documentada.

Algunas organizaciones de TI emparejarán la herramienta de administración de configuración de estado deseada con una herramienta de orquestación, pero incluso sin dichas herramientas, los scripts de automatización brindan una forma efectiva de configurar y administrar un entorno.

El encanto de las pruebas automatizadas

Un administrador de operaciones de TI no suele ser responsable de las pruebas de software. En cambio, los desarrolladores y el equipo de garantía de calidad (QA) supervisan esta tarea. Pero las pruebas automatizadas son un área prominente bajo el paraguas más amplio de la automatización de TI y desempeñan un papel importante en la integración y entrega continuas.

Con la automatización de pruebas, los equipos de desarrollo de software utilizan herramientas especializadas para ejecutar scripts de prueba que garantizan que el código de la aplicación cumpla con los requisitos y se ejecute correctamente antes de la implementación de producción. Al igual que con los otros casos de uso de automatización de scripts descritos en este artículo, las pruebas automatizadas ahorran tiempo, eliminan errores manuales y aumentan la eficiencia y la repetibilidad.

Algunas tecnologías populares de automatización de pruebas incluyen Selenium, Appium y Cucumber.

Extracción y reporte de información

Las secuencias de comandos para la automatización también ayudan en la investigación. Un administrador recibe frecuentes consultas ad hoc como: "¿En qué hosts están mis máquinas virtuales?" o "¿Quién tiene la función de administrador de la máquina virtual?"

Utilice el siguiente script de PowerShell para informar el estado de la máquina virtual:

$vmsToCheck = "get-content c:\scripts\vmdata.txt"

foreach ($vm in $vmsToCheck) {   

  get-vm $vm | select vmname, vmhost, NumCPU, RAM | export-csv "c:\data\result.csv"

}

Este útil script de automatización, que tardó menos de dos minutos en escribirse, informa sobre un grupo de máquinas en el archivo vmdata.txt. Ahorra tiempo siempre que los usuarios o los propietarios del servidor soliciten al administrador detalles de la máquina. En lugar de investigar y redactar un informe cada vez a mano, el administrador simplemente ingresa esas veinte máquinas sobre las cuales informar y ejecuta el script para generar un informe.

En otro ejemplo, el administrador puede verificar el estado de las herramientas de VMware para un conjunto de máquinas virtuales:

foreach ($VM in Get-Content c:\scripts\toolslist.txt) {

 get-vm $VM | % { get-view $_.id } |

 select Name, @{ Name="ToolsVersion";

Expression={$_.config.tools.toolsVersion}},@{ Name="ToolStatus";

Expression={$_.Guest.ToolsVersionStatus}}| Export-Csv -Append -Force -NoTypeInformation C:\scripts\toolsinstalled.csv  

}

Aunque estos son ejemplos de secuencias de comandos de automatización triviales, convierten reales faenas en tareas simples.

Nota del autor: Los dos scripts de PowerShell anteriores requieren que el usuario se conecte a un servidor VMware vCenter antes de ejecutarse, o que la conexión vCenter esté incluida en el script.

Informes automatizados

A veces, los informes disponibles desde una aplicación no son suficientes. Los scripts de automatización brindan a un administrador acceso a datos más avanzados cuando se combinan con el poder de las API RESTful.

Aunque es un poco más complejo que un script promedio, el lenguaje RESTful permite a los administradores importar datos de sistemas basados ​​en web a través de solicitudes HTTP. Con una API compatible y habilidades de scripting, un administrador puede generar informes u otros resultados que satisfagan los requisitos exactos. Por ejemplo, yo utilizo un script para exportar informes de errores de un sistema que no es bueno para registrarlos. Usando la API RESTful, creé un registro de errores que se puede extraer para obtener datos según sea necesario.

La creación de scripts para la automatización es esencial en el mundo actual de las TI automatizadas, como lo ilustran estos ejemplos. Si aún no ha comenzado a crear scripts y automatizar, hágalo ahora.

Investigue más sobre Desarrollo de aplicaciones

Close