Los cuatro lugares más fáciles para comenzar con la automatización

La palabra asusta a muchos y se ha convertido casi en sinónimo de la idea de empleos perdidos. Sin embargo, para un administrador de sistemas, la automatización puede ser algo maravilloso. Puede ser la diferencia entre completar una sola tarea o completar múltiples tareas con poco esfuerzo en la misma cantidad de tiempo.

Uno de los conceptos más importantes en la automatización es convertir su archivo en . Tome esas máquinas en las que no se atrevería a respirar, por no hablar de modificarlas, y conviértalas en algo que pueda reconstruirse fácilmente en cualquier momento. La automatización es igualmente importante cuando se construyen nuevas máquinas. Asegurarse de que sus máquinas estén construidas y funcionen de manera idéntica puede eliminar muchas restricciones administrativas. Impulsar la eficiencia permite a los administradores de sistemas hacer más con menos, lo que se ha convertido en la dirección de facto de TI.

Índice

    Control de versiones

    Lo primero en su lista de tareas pendientes debe ser algún tipo de archivo . La creación o modificación de configuraciones, como las de las herramientas de orquestación, los equipos de red, etc., debe tener una versión controlada para que la automatización tenga éxito. Sus configuraciones siempre evolucionarán, y el seguimiento de los cambios es una parte crucial de la resolución de problemas cuando las cosas inevitablemente salen mal. También es importante tener un control de versiones en aras del nuevo desarrollo, ya que esta función permite realizar pruebas sin interrumpir la producción.

    La herramienta de control de versiones más popular es Cabaña. Hay muchas herramientas que usan Git como su motor subyacente mientras proporcionan una interfaz fácil de usar. Puede optar por alojar esta herramienta en las instalaciones, en la nube o en ambos. Cualquiera que elija, asegúrese de validar su trabajo temprano y con frecuencia.

    Imágenes básicas

    Continuemos con la construcción de su máquina. Puede que ya conozcas el Entorno de ejecución previo al arranque (PXE) como un medio para transmitir imágenes a máquinas seleccionadas, pero combinando PXE con un Tirar Donde preseleccionar puede pasar configuraciones tan simples como la información del usuario o tan complejas como mdadm sin ninguna interacción. Esta característica es una combinación sólida que funciona tanto para máquinas físicas como virtuales.

    En entornos de nube con imágenes de nube compatibles, se pueden realizar tareas similares con inicialización en la nube. Cloud-init es similar a Kickstart y configuraciones preestablecidas en el sentido de que envía configuraciones a una máquina en el primer arranque. Donde cloud-init es diferente de otras herramientas de automatización de instalación es que este servicio viene preinstalado en una imagen genérica y se ejecuta en el arranque del sistema por primera vez. La gran parte es que estas configuraciones también se pueden automatizar hasta cierto punto. Aquí es donde uno entra en juego.

    Hay varias herramientas de orquestación populares, como Ansible, Líder y Marioneta. Los términos como y pueden ser temas complejos y, a veces, los verá intercambiados. El objetivo principal de estas herramientas es hacer que las tareas de instalación, administración y configuración sean tan sencillas y escalables como sea necesario. También es mucho más fácil solucionar problemas en una sola máquina o en un grupo de máquinas cuando son uniformes.

    Como administrador del sistema, su elección de herramienta de orquestación requerirá una cuidadosa consideración. Al elegir herramientas de automatización, es crucial tener en cuenta no solo las necesidades de infraestructura, sino también la usabilidad de la herramienta desde una perspectiva personal o de equipo. Una de las elecciones involucradas en este proceso es el idioma o formato que dicta la herramienta. Por ejemplo, Ansible usa YAML para el formato de su libro de jugadas, mientras que Chef usa Ruby para sus libros de cocina.

    Otro factor decisivo sería cómo prefiere interactuar con los servidores. Usando Ansible y Chef nuevamente como ejemplos, Ansible no tiene agente, lo que significa que configura los servidores mediante el direccionamiento a través de SSH, mientras que Chef necesita un cliente instalado en la máquina remota antes de que pueda administrarse. Con sistemas basados ​​en agentes como Chef, el cliente vuelve a llamar al servidor central para configuraciones. Animo a cualquiera que se enfrente a esta decisión a probar cada opción en un entorno de laboratorio antes de llegar a una conclusión.

    CI/CD

    En este punto, podría estar pensando: "Está bien. Lo tengo. Menos acciones repetitivas, escalar implementaciones y debería guardar mi trabajo. ¿Dónde está la automatización?"

    Aquí hay una parte de la canalización que hace que las cosas sean un poco más seguras y mucho más automatizadas. Herramientas como Jenkins o Bamboo crean una integración continua y una implementación continua, o CI/CD para abreviar, flujo de trabajo. Digamos que acaba de terminar de escribir este archivo de orquestación y tomó una eternidad. Continúe y envíe esos cambios a su repositorio de Git y observe cómo ocurre la magia. Su software de CI/CD ve que ha realizado cambios, verifica su código en busca de errores y (si tiene éxito) puede implementarlo directamente en producción. Por supuesto, esta es una explicación demasiado simplificada del proceso, pero eso no lo hace menos sorprendente cuando se parchea una vulnerabilidad de día cero en cientos de instancias que se ejecutan con una precisión idempotente.

    Envoltura

    En resumen, la automatización simplemente facilita la vida del administrador del sistema. Tener la capacidad de examinar las configuraciones de orquestación y ver rápidamente lo que sucede en una máquina determinada puede ahorrarle tiempo y dolores de cabeza en el futuro. Una vez que tenga los conceptos básicos en su lugar, las herramientas auxiliares se vuelven más instrumentales. Se pueden agregar otras herramientas como registro, métricas o tableros para una mejor visibilidad de la infraestructura. No hay un lugar equivocado para comenzar su viaje de automatización, así que mientras continúe, tendrá éxito.

    Artículos de interés

    Subir