¿Puedo automatizarme fuera de un trabajo?

Las responsabilidades laborales de los ingenieros, administradores de sistemas y DevOps incluyen responder docenas de correos electrónicos, actualizar cientos de servidores y remediar todos los sistemas en su centro de datos o nube preferida.

Todas estas tareas requieren una cantidad de tiempo considerable para completarse y, a veces, son aburridas pero siempre importantes. Un pequeño error puede abrir una amenaza potencial para la seguridad de todo el sistema. Por ejemplo, no aplicar un parche de seguridad puede dejar un sistema vulnerable. Y seamos honestos, la gente comete errores. Pero, ¿y si pudiera automatizar estas tareas mundanas, ahorrar tiempo y simplificar las tareas de su equipo?

Índice

    ¿Qué es la automatización?

    Empecemos respondiendo a esta pregunta: ¿Por qué es necesario automatizar tus tareas diarias? Es simple, como se discutió anteriormente. Por lo general, lleva mucho tiempo repetir manualmente las mismas tareas a diario y también es propenso a errores si se pierden pequeños detalles. Con todos los avances tecnológicos, es natural darlos por sentado.

    Por ejemplo, todavía hay administradores de sistemas que instalan servidores a mano, realizan copias de seguridad iniciando sesión en cada sistema y actualizan paquetes manualmente. Este trabajo no requiere necesariamente mucha experiencia. Estimemos de 15 a 20 minutos para cada una de estas tareas. Una vez que se define un marco de automatización, los administradores del sistema pueden simplemente repetir estas tareas y pasar a proyectos más difíciles que requieren tiempo, atención y habilidad.

    Los beneficios de la automatización pueden ser:

    • Sea productivo y concéntrese en las tareas difíciles
    • Ahorre tiempo y aumente la productividad general
    • Reducir la documentación
    • Almacene todos los scripts y herramientas de automatización en un sistema de control de versiones y desarrollo de software alojado gratuito, como GitHub.
    • Reducir errores

    ¿Qué tareas necesitan ser automatizadas?

    Aquí hay algunas formas diferentes de pensar qué tareas automatizar.

    Tareas repetibles y rutinarias.

    Estas son tareas que deben realizarse regularmente. Por ejemplo, necesito actualizar mi bifurcación de GitHub, incluidos los cambios más recientes de un repositorio ascendente. Otros ejemplos incluyen:

    • Recopilación de registros de copia de seguridad del sistema
    • Envío de un correo electrónico semanal de actualización del sistema
    • Realizar actualizaciones

    Tareas sencillas pero que consumen mucho tiempo

    Es posible que deba recopilar el uso del sistema en su laboratorio o enviar un correo electrónico diario al equipo sobre la disponibilidad del sistema. Algunas tareas llevarán mucho tiempo para que el sistema las complete, como una canalización de integración continua/entrega continua (CI/CD) o una instalación en particular. Siempre es mejor establecer alertas en tales casos. Utilizo una alerta de correo electrónico que recibo después de cada finalización de canalización de Jenkins. De esta manera puedo hacer un seguimiento del progreso y también usar el tiempo para hacer otras tareas.

    Tareas complejas

    La combinación de varias tareas, como instalar un sistema operativo (SO), instalar los paquetes más recientes y asegurarse de que se ejecuta una canalización de CI/CD semanal en el sistema, no es compleja, pero considere repetir estos pasos para cientos de sistemas en su centro de datos o entorno de nube. Otros ejemplos incluyen la configuración de balanceadores de carga y servidores proxy o la creación de entradas para sistemas en su infraestructura de Sistema de nombres de dominio (DNS).

    Lo que se necesita para aprender a automatizar

    Como ingeniero administrador de sistemas/DevOps, la automatización siempre debe ser una prioridad. No toma mucho tiempo aprender las herramientas simples disponibles, que simplifican nuestras tareas. Además de las habilidades de escritura, Ansible es una herramienta de gestión de configuración que utilizo para realizar mis tareas de automatización.

    Usando Ansible, configuré una infraestructura que instala automáticamente el sistema operativo en todos mis sistemas en nuestro centro de datos usando Red Hat Satellite. El libro de jugadas de Ansible instala los paquetes más recientes y ejecuta la automatización para configurar nuestros sistemas DNS y DHCP basados ​​en equipos. Tengo una canalización de Jenkins configurada que completa las instalaciones de OpenShift en nuestros sistemas y envía una alerta a mi correo electrónico.

    Mantengo un repositorio central que almacena playbooks y scripts de Ansible que actualizo para garantizar que toda la documentación y las instrucciones estén disponibles en un solo lugar. Esto es especialmente importante para que otros miembros del equipo puedan usar y enviar sus propios cambios, ahorrando mucho tiempo. Aprender en Ansible, Jenkins y Terraform fue una de las mejores decisiones que hemos tomado como equipo. Básicamente, tiendo a pensar en todas las tareas repetitivas como candidatas para la automatización después de trabajar en ellas con frecuencia.

    Conclusión

    He dado varios ejemplos de tareas simples y repetibles que a menudo toman mucho tiempo. Si se programan correctamente y con la ayuda de ciertas herramientas, estas tareas pueden automatizarse por completo y almacenarse en un repositorio centralizado como GitHub. Al automatizar estos pasos, puede ahorrar mucho tiempo y aumentar la productividad del equipo. Lo que es más importante, puede evitar cometer errores cuando se trata de una tarea compleja, que generalmente depende de tomar la entrada de un segmento del sistema y pasarla a otro segmento y luego completarla.

    No siempre es necesario automatizar cada tarea. Si encuentra difícil la automatización, generalmente puede comenzar trabajando con tareas pequeñas y de bajo riesgo y luego construir su repositorio automatizando parcialmente otras tareas. La automatización traerá un gran cambio en la forma en que el equipo trabaja a largo plazo.

    En resumen, nunca se trata de automatizarse para quedarse sin trabajo, se trata de decidir cuándo ha hecho suficiente trabajo y quiere cambiar de dirección.

    Artículos de interés

    Subir