19 – Administradores de Configuración 02

Bienvenidos al episodio 19 de deployandome, el podcast de tecnología para sysadmins y devops. Soy Rodolfo Pilas y estoy grabando el 8 de agosto de 2017.

En el podcast anterior inicié el tema de los Administradores de Configuración y estoy sorprendido por la cantidad de comentarios, retweets y mensajes que me han hecho llegar. Muchas gracias a todos, me alegra cuando el tema que me apasiona también despierta interés en Ustedes.

Les recuerdo que en el blog deployando.me siempre pongo la transcripción total del contenido del podcast, que también suelo ilustrar con algún enlace o material extra.

Entrando en tema, en el episodio anterior había presentado qué es un Administrador de Configuración y les comentaba que se encarga del aprovisionamiento de los nuevos equipos, de la orquestación de un conjunto de equipos (reales o virtuales) o de todo un datacenter y, que todas estas tareas de administración se realizan en forma automática desde un lugar central, sin necesidad que el sysadmin deba acceder a cada servidor para tareas de administración.

Pero como todo en informática: hay una curva de aprendizaje, hay cambios de costumbres, hay nuevos desafíos y problemas que deben ser solucionados y me había quedado comprometido en analizar si ese esfuerzo por utilizar un Administrador de Configuración valía la pena, o es mejor seguir administrando nuestros servidores de la forma que siempre lo hemos hecho.

Sin duda que todos nos hacemos una idea del rango superior e inferior de la aplicación de un Administrador de Configuración. Si tenemos un RasperyPI en nuestra casa, no vale la pena automatizar su instalación y, por otro lado, si debemos administrar 300 servidores, cualquier esfuerzo de automatización está justificado.

Pero ¿que pasa en el medio? en la zona gris donde puede o no valer la pena el esfuerzo de aprender y utilizar un Administrador de Configuración. Por ejemplo, debemos encargarnos de 15 servidores y si los analizamos, casi todos están configurados distintos o son distintos servicios.

La respuesta si vale o no la pena, la debe pensar cada uno de Ustedes como profesionales que son y conocedores del entorno y sus necesidades.

Lo que puedo hacer es compartir qué experiencia o qué me ha dejado el uso durante algunos años (cada vez en forma más exclusiva) de Administradores de Configuración para mis tareas de sysadmin u operaciones.

Así que estas son las ventajas de administrar nuestros servidores y equipos con un Administrador de Configuración:

Una de las principales ventajas, y que para mi es suficiente para todo el esfuerzo, es tener descripta 100% de la configuración de mi servidor. Es decir que mi servidor en producción está constituido por una instalación del sistema básico más la aplicación de todas “estas” reglas.

Fíjense en esta simple característica las consecuencias que tiene:

Homogenizar la instalación:

como consecuencia natural de configurar igual cosas equivalentes, tratando de reutilizar lo más posible lo que ya he hecho. Si se define que el servidor DNS que vamos a utilizar son los de Google, pues estar seguro que esa configuración es la que tienen todos los servidores.

Evitar errores de configuración:

que suceden cuando hay muchos servidores iguales y debemos instalarlos y mantenerlos de forma tradicional. Aquí el procedimiento de configuración va a estar automatizado y se va a aplicar siempre igual. Si es bueno tener disponible el paquete “unzip” estar seguro que ahi está instalado, y no cuando lo necesito darme cuenta que justo en este servidor no se instaló.

Documentación real y actualizada:

tengo la documentación ya hecha de cómo está mi servidor, confrontada imperativamente cada día contra mis servidores. Esa documentación queda entonces lista a la hora de hacer informes, análisis estadísticos o presentarla ante el auditor que necesite revisar y criticar las políticas o configuraciones los servidores o el centro de datos.

Instalar rápidamente:

poner a funcionar nuevos servidores en forma muy rápida y eficiente. Lo que puede llevar horas de forma manual, serán minutos en forma automatizada. Pero además, ante un desastre, poder volver a estado de producción en pocos minutos, debiendo solamente recuperar recuperar datos de los respaldos.

Control de versiones:

poder tener versiones de las configuraciones de mis servidores, simplemente guardando las reglas de administrador de configuración en un git. Con todas las ventajas que esto significa de poder crear ramas de variaciones, políticas de revisión y hasta, por qué no, gestión de integración continua de los cambios que se aplican en los servidores.

Replicar entornos:

si escucharon los podcast 12, 13 y 14 de deployandome saben que Vagrant permite tener entornos para probar cosas corriendo en mi propia máquina (notebook). Pues puedo tomar las reglas del administrador de configuración y levantar un entorno local que aplique esas mismas reglas, reproduciendo el entorno luego de un “vagrant up”. O, por qué no, replicar esos servidores en un entorno de nube tercerizada, para pruebas o para ciertos requisitos puntuales que deben ser satisfechos.

A mi estas consecuencias naturales de usar un administrador de configuración me convencieron hace tiempo y Vagrant me ha ayudado a modelar cada instalación. Creo que actualmente me resisto a instalar cosas a mano y, si lo hago, estoy en forma paralela generando las reglas para mi administrador de configuración.

No se si notaron, pero estas características que he detallado son independientes de la cantidad de servidores, de si son iguales o cada servidor tiene su propia configuración.

Podría comentarles algunas cosas mas marketineras sobre los Administradores de Configuración, como que es la tendencia moderna, que el mundo en el futuro de las operaciones con “Internet de las Cosas” y los micro servicios va a ser automatizado, que es una puerta para acercarse a la filosofía del DevOps, en fin podría seguir, pero creo las características reales que he mencionado justifican el esfuerzo de emprender este salto de conocimiento o cambio de costumbre o como Ustedes quieran llamar al hacer nuestro trabajo con un Administrador de Configuración.

Soy Rodolfo Pilas, en twitter me siguen por @pilasguru y les dejo un saludo a todos, confiando en que este podcast les haya aportado para mejorar y, como siempre, espero sus inquietudes y sugerencias comentando en deployando.me

Hasta la próxima edición.