Cómo utilizar la automatización para tomar el control de sus operaciones

Eres un administrador de sistemas dentro de un equipo de operaciones que trabaja de acuerdo con metodologías ágiles siguiendo un marco basado en scrum, kanban o incluso scrumban. Su equipo se ocupa de un entorno en constante cambio. Además de los tickets de soporte diarios, hay entregables a las partes interesadas que deben completarse a tiempo. La carga de trabajo es exigente y el retraso está creciendo.

Esto crea un entorno bajo presión donde las tareas que aportan valor inmediato a las partes interesadas se consideran la máxima prioridad y reciben la mayor atención. A las tareas que no proporcionan un valor inmediato se les da una prioridad más baja. Desafortunadamente, es muy común que el desarrollo de marcos y herramientas de automatización caiga en la canasta de baja prioridad, por lo que su equipo seguirá haciendo las cosas manualmente. Si esto te suena familiar, no estás solo.

Redirigir la atención al desarrollo de la automatización no siempre es fácil. Con suerte, recibirá un fuerte apoyo de su equipo y tal vez algún refuerzo positivo de la gerencia. Sin embargo, puede encontrar una fuerte resistencia cuando se trata de priorizar, y por una buena razón. Su equipo tiene personas a quienes entregar, y su mandato principal es asegurarse de que obtengan lo que necesitan a tiempo.

Como equipo de operaciones, es probable que dependa de otros equipos y proveedores. Un retraso en la cadena tendrá un efecto dominó menor, retrasando así sus entregas. Para los equipos que trabajan en Scrum, no es raro que las historias y las subtareas que no se completaron al final del sprint se extiendan a sprints futuros. Esto aumenta la presión sobre su equipo, retrasando proyectos futuros y retrasando tareas principalmente enfocadas en mejorar su entorno. Tal situación puede hacer que un equipo sienta que ha perdido el control y puede sentirse frustrado porque se presta poca atención a las soluciones a largo plazo. Nuevamente, esta es una situación común para muchos equipos de operaciones.

[ A free guide from Red Hat: 5 steps to automate your business. ]

Índice

    Cómo empezar con la automatización

    Entonces, ¿qué puede hacer usted al respecto? Por supuesto, debe empezar planteando el tema a su equipo, a su Product Owner o a su director de proyecto y, si es necesario, a su director. Brindar ejemplos de cuánto tiempo y esfuerzo se ahorrará al invertir recursos en el desarrollo de la automatización es una buena manera de llamar la atención de la gerencia. Puede comenzar escribiendo una propuesta que describa cuánto tiempo le toma al equipo realizar las tareas ahora, cuánto tiempo cree que tomará automatizar esas funciones y cuánto tiempo tomarán las tareas después de la automatización.

    También puede comenzar a asignar tiempo adicional para tareas que se pueden automatizar. Comience con las tareas más pequeñas, como optimizar el proceso de agregar elementos a su base de datos de administración de configuración (CMDB). Un buen CMDB tendrá una API, por lo que la creación de un script o shell de Python para aprovechar esa API es una parte integral del flujo de trabajo automatizado para implementar y administrar servidores. Una vez que comprenda la API y una secuencia de comandos que interactúa con ella, puede ir un paso más allá y crear una biblioteca que puedan usar otras secuencias de comandos. Una biblioteca estandarizará la forma en que su equipo interactúa con la API. También evitará la duplicación de esfuerzos de desarrollo, ya que todos los scripts futuros podrán usar esta biblioteca siempre que necesiten acceder a la API. Esto puede ser un poco más de trabajo inicial, pero ahorrará tiempo y esfuerzo en el futuro desarrollo de scripts y herramientas.

    Armado con una biblioteca con acceso estandarizado a la API de CMDB y un script que puede extraer información de activos, puede comenzar a automatizar partes del proceso de implementación de su servidor. Si ya está utilizando un entorno de tiempo de ejecución previo al arranque (PXE) y archivos kickstart como parte de su proceso de implementación, ¿por qué no automatizar la mayor parte del trabajo? Puede lograr esto a través de scripts escritos en el idioma de su elección o mediante el uso de libros de jugadas de Ansible. Utilizando algunos de los módulos integrados de Ansible, como el modelo módulo, puede generar fácilmente archivos de arranque PXE y archivos kickstart con datos extraídos de la CMDB. Ansible también ofrece módulos para conectarse a interfaces de administración fuera de banda de varios fabricantes, por lo que tareas como configurar nombres de host fuera de banda, direcciones IP y administración de energía son sencillas.

    Por supuesto, puede lograr el mismo resultado con otras herramientas, scripts personalizados y varias soluciones de software propietario y de código abierto. Hay más de una manera de abordar el desafío. Lo mismo es ciertamente cierto para la implementación de servidores. Utilice las habilidades y herramientas a su disposición para optimizar los procesos y reducir el tiempo dedicado a tareas repetitivas.

    Con algunas de las pequeñas tareas ahora automatizadas, debería comenzar a ver efectos positivos. Por un lado, usted y su equipo ya no necesitan hacer clic en esa engorrosa interfaz de CMDB para ingresar y recuperar información. Además, parte del proceso de implementación de su servidor ahora está automatizado. Finalmente, la automatización tiene otra gran ventaja: reducción de problemas por error humano. Es bien sabido en la industria de la computación que el error humano es una causa común de varias fallas del sistema, bloqueos e infracciones de seguridad. Automatizar incluso las tareas más simples, especialmente las mundanas, ayudará a aliviar este problema.

    [ Looking for more on system automation? Get started with The Automated Enterprise, a free book from Red Hat. ]

    Recupera el control de tu entorno

    A medida que su equipo comience a involucrarse en el desarrollo de herramientas de automatización, descubrirá que el ecosistema de herramientas crece orgánicamente. Este crecimiento planteará otros desafíos, como la calidad del código, la capacidad de mantenimiento y la responsabilidad. Es importante establecer pautas desde el principio para garantizar que se cumplan ciertos criterios y que se sigan los métodos de trabajo. Puede lograr esto en parte mediante el uso de un sistema de control de versiones y herramientas como Git y Gerrit para realizar un seguimiento de los cambios y admitir la colaboración de código dentro de su equipo.

    Una vez que tenga un conjunto saludable de herramientas para respaldar tareas repetitivas, descubrirá que su equipo utiliza la automatización de forma predeterminada. Una de las primeras preguntas que harán al planificar algo nuevo será: "¿Podemos automatizar esto?" Cuanta más automatización implemente, más probabilidades tendrá de cambiar el status quo y recuperar el control de su entorno. El desarrollo de herramientas que automaticen y simplifiquen las tareas rutinarias no solo mejorará los tiempos de entrega a las partes interesadas y reducirá los errores humanos, sino que también le permitirá a usted y a su equipo dedicar más tiempo a trabajar en el futuro de su entorno.

    [ Download now: A system administrator's guide to IT automation.]

    Artículos de interés

    Subir