Introduce a tus amigos a la automatización (y supera su miedo)

He encontrado varias reacciones diferentes cuando surge el tema de la automatización. Lo crea o no, he visto de primera mano una gran cantidad de equipos que no consideran la automatización al desarrollar una solución para nuevos servicios, implementaciones o implementaciones. El propósito de este artículo es proporcionar una descripción general para ayudarlo a presentar a sus amigos o compañeros de equipo la automatización y superar sus temores relacionados con la práctica.

En las tendencias tecnológicas actuales y con las herramientas disponibles, todos los profesionales de TI pueden beneficiarse al eliminar las tareas manuales. Con suerte, al final de este artículo, todos podrán captar y comprender los beneficios de la automatización, ya sea que su equipo esté en operaciones de infraestructura, control de calidad, cumplimiento de seguridad o desarrollo, y con total independencia de si su enfoque está en las instalaciones o en el nube.

La definición de automatización como se explica en www.diccionario.com es:

Este "método de control" de un proceso puede ser utilizado por todos los actores tecnológicos descritos anteriormente, y en todos los procesos que conocemos, como CI/CD, pruebas de humo o incluso gestión de configuración.

Índice

    miedos

    Ayuda a comprender los temores que tienen las personas cuando llega la automatización y cómo abordarlos. Estos son algunos de los miedos más comunes.

    seguridad en el empleo

    Mi equipo y yo estuvimos en una reunión hace un tiempo con un proveedor externo cuando nos preguntaron sobre nuestra posición con respecto a la automatización. Mi respuesta fue: "Queremos automatizar todo". Agregando a mi respuesta, mis compañeros de equipo agregaron: "Bueno, no queremos automatizar fuera de un trabajo".

    Este problema puede ser uno de los mayores temores y nombres inapropiados de la automatización en la industria tecnológica. Curiosamente, cuando busqué "automatizar" en www.tesauro.com, la respuesta que recibí parece alentar la preocupación de que la automatización es antihumana:

    Sin embargo, en realidad, se necesitan humanos para construir y codificar los sistemas operativos de un proceso. Incluso una vez que se define el proceso, requiere pruebas y mantenimiento constantes cuando se necesitan mejoras.

    La programación es difícil

    Otro temor que a menudo enfrento de mis amigos es que no saben ningún lenguaje de programación y piensan que si no pueden codificar, no pueden automatizar. Si bien creo que todos podemos estar de acuerdo en que conocer Bash, Python, Perl o incluso PowerShell es útil al definir estos procesos para reducir la interacción humana, no siempre es necesario.

    Hoy tenemos las herramientas a nuestra disposición para implementar tales procesos sin necesidad de conocer un lenguaje de programación tradicional. Por ejemplo, herramientas como Plataforma de automatización Red Hat Ansible y Azure DevOps nos permiten aprovechar playbooks o complementos ya creados. Rara vez vemos dónde una herramienta se adapta a todos, pero a veces solo comenzar con una herramienta es suficiente para tener una idea de la automatización. A su vez, ese inicio es suficiente para ganar confianza y ver los verdaderos beneficios de la automatización, lo que nos anima lo justo a probar y aprender algo nuevo.

    Errores y averías

    También existen temores más apremiantes cuando se desarrollan métodos que funcionan sin la participación continua de un operador. Una vez tuve una noche de insomnio después de un apagón generalizado, debido a un script ejecutado por alguien que se suponía que solo compilaría datos de inventario. Se suponía que parte del script solo enumeraba todos los hosts en producción, pero en su lugar cambiaba el nombre de host en una gran cantidad de servidores, ya que las marcas de nombre de host tenían resultados diferentes según la operación del servidor del sistema.

    Entonces, en el caso de este miedo, la solución al problema es cómo superamos el obstáculo. La clave para una automatización exitosa es la prueba y el monitoreo exhaustivos. Para cada paso o tarea automatizados, se debe capturar una prueba y una respuesta para garantizar que la automatización no continúe sin la respuesta exitosa esperada, así como para monitorear la tarea con al menos una notificación de aprobación/falla.

    Ventajas

    Ahora que hemos expuesto algunos de los temores de la automatización y los hemos sacado a la luz, en mi experiencia, nada supera las objeciones como experimentar los beneficios. Echemos un vistazo a las áreas donde la automatización realmente brilla.

    Soluciones repetitivas

    Cuando le presente a un amigo o compañero de equipo la automatización por primera vez, es importante comenzar de manera simple y pequeña. Identifique un proceso manual que se pueda implementar fácilmente. Viniendo de un fondo de administrador de sistemas, algunos procesos que vienen a la mente serían cosas como construir un nuevo servidor o reiniciar una aplicación.

    Recuerdo que hace algún tiempo llamaron a la guardia de mi antiguo equipo casi una vez por semana para reiniciar una aplicación heredada porque la JVM de Java se quedó sin memoria. Por supuesto, seguiríamos viendo el infame OOM en los registros, por lo que eventualmente escribimos un pequeño complemento para que nuestro monitor de Nagios alerte cuando la memoria alcance un umbral alto, y también escribimos un pequeño script para reiniciar la aplicación automáticamente. Además de la secuencia de comandos de reinicio, controlamos y controlamos los errores para garantizar que la aplicación se reiniciara correctamente.

    Obviamente, debería haber sido posible tomar otras medidas proactivas, pero esta aplicación específica fue una especie de intervención cuando se trataba de resolver la causa raíz, además de reiniciar cuando era necesario. Al encontrar estos candidatos fáciles de implementar, eliminamos la necesidad de intervención manual y el riesgo de "percances" accidentales, pero también liberamos tiempo para trabajar en otros tipos de trabajo.

    Supervisión

    Como administrador de sistemas, una de las oportunidades más proactivas que tenemos es el monitoreo y las alertas. Nunca tendremos suficiente vigilancia y siempre habrá ajustes en nuestra estrategia de alerta. Cuando automatizamos nuestros métodos de monitoreo y alerta, nos satisface saber que nuestro entorno siempre está monitoreado. Eventualmente, nos sentimos lo suficientemente cómodos para automatizar la resolución de problemas en lugar de solo recibir alertas sobre ellos.

    Mi historia aquí es la siguiente: teníamos una aplicación que era una interfaz para un proveedor externo que nos enviaba datos. Tomamos estos datos y actualizamos nuestra base de datos, que fue utilizada por los agentes en el sitio. Nuestra aplicación guardó el estado de conexión del proveedor que solía desconectarse. Cuando nuestros agentes no obtenían datos actualizados, se veían obligados a escribir tickets manualmente en lugar de usar la herramienta en el sitio.

    Escribimos un módulo Python simple para nuestro monitor Nagios que verificaba los registros en busca de una conexión perdida. La lógica de esta automatización vería la pérdida de conexión y luego enviaría un correo electrónico al proveedor, haciéndole saber que tal vez quiera verificar la conexión por su parte, además de informar a nuestros agentes en el sitio que hay un problema. Aumentó la confianza de nuestros agentes en nosotros, ahora que podíamos ver que había un problema antes de que tuvieran que avisarnos.

    Nuevamente, el beneficio aquí es que ahora, con este nivel de automatización, ya no necesitamos tener los ojos en el cristal, liberando más tiempo para enfocarnos en problemas de mayor prioridad.

    Empleo futuro

    La última razón beneficiosa para presentarles a sus amigos la automatización es que la experiencia de automatización lo hace atractivo para los empleadores que buscan un administrador de sistemas. Si busca cualquier título en el campo de la administración de sistemas, verá que la automatización es una de las habilidades principales que se está reclutando. La partida es el momento en que tiene un rol limitado a un trabajo específico. Los empleadores de hoy buscan un administrador de sistemas completo que pueda desempeñar un papel vital en toda la organización de TI. Están apareciendo más y más títulos de trabajo como ingeniero DevOps e ingeniero de confiabilidad del sitio que requieren fuertes habilidades de automatización.

    Envoltura

    Esperamos que en este punto del artículo tenga algunos consejos y confianza sobre cómo presentarles a sus amigos la automatización y cómo abordar cualquier temor que puedan tener. En general, mi mejor sugerencia al presentarle a alguien la automatización (o incluso al considerar una opción) es sopesar algunas posibilidades. ¿Será necesario realizar esta tarea varias veces y con qué frecuencia? ¿Cuánto tiempo llevará desarrollar una solución personalizada en lugar de realizar la tarea manualmente? Armado con estas respuestas, puede estar seguro de que cuando presenta a sus amigos o compañeros de equipo a la automatización, los está preparando para el éxito.

    Artículos de interés

    Subir