Sé que llevo semanas diciendo lo mismo, pero esta semana me ha comido vivo.
Con patatas.
Pero al final, más o menos, he salido airoso. De hecho, he sacado tiempo para escribir esto que estás leyendo.
Tan mal no habrá ido, que soy un quejica.
A ver, entre otras cosas, hemos migrado algo más de 40 VPS de una configuración Apache + PHPmod a una basada en NGINX+PHP-FPM.
Con solo una leve interrupción del servicio en cada servidor, la justa para bajar el demonio de Apache, lanzar el de NGINX y ejecutar certbot.
También hemos cambiado la configuración de UFW (de iptables vamos) de otros tantos servidores.
Por otro lado, ha tocado una actualización masiva de Ubuntu 18.04 a 20.04.
Y por último hemos ayudado a un cliente a desplegar algo de software en sus más de 100 máquinas Windows repartidas por el mundo.
Y todo esto no hubiera sido posible sin algo llamado AUTOMATIZACIÓN.
El gran Marc Palau me dijo una noche una frase que me encantó y que paso a compartir contigo:
¿No me dirás que la frase no es genial? ¡Y real! ¡Muuy real!
Según me decís por twitter, parece que el término lo acuño Thomas A. Limoncelli en el libro "THE PRACTICE OFSYSTEM AND NETWORK ADMINISTRATION".
Muchas veces en nuestras empresas tendemos a tratar la infraestructura como si de una mascota se tratara. 🐶🐶🐶
Les damos cariño, algún caprichito, los mimamos por SSH... ¡Y luego nos toca mantenerlos a raya porque no obedecen a nuestras órdenes!
Algunas veces no sabemos ni como están realmente configurados, sobre todo cuando surgen errores de esos "raros".
Y claro, todo eso significa meterle trabajo a la infra. Trabajo que cuesta pasta. Trabajo que nos quita tiempo de otras cosas.
Por ejemplo, tiempo de salir con nuestros coches RC al campo. Por poner algo así aleatorio, universal y que todo el mundo debería adorar...🤣🤣🤣
Así que cuando los servidores que administras suman más de lo que eres capaz de contar con las partes de tu cuerpo (con los dedos de las manos y los dedos de los pies...), lo mismo va siendo hora de darle a algo llamado automatización.
Incluso llámame loco, si empiezas desde el principio automatizando, lo mismo te alegras.
Porque la automatización lleva a la estandarización.
Y la estandarización lleva a que se te caiga menos el pelo.
Y a que puedas salir más al campo con tus cochecitos y que no pillen polvo en la estantería, en vez de en los senderos como está mandado. 🥰🥰🥰
En el caso que vengo a referirte de esta semana, hemos usado Ansible y quiero contarte un poco cómo lo hemos hecho, porqué lo hemos hecho y como nos ha solucionado la vida en muchos aspectos.
Ansible es una herramienta open source que automatiza los procesos informáticos para preparar, gestionar, implementar y organizar sistemas, entre otras muchas cosas...
Lo bueno de Ansible, para mí, es que es "AgentLess". O sea, en las máquinas finales no instalas ningún tipo de software. Eso mola.
De hecho, solo necesitas tener Ansible desplegado en lo que nosotros llamamos el "Control Node" y que, desde ese servidor, puedas acceder vía SSH a las máquinas que quieres configurar. En estas últimas te bastará con que Python esté instalado.
¿A quién no le va a gustar esto? ¿A quién?
Como esto no es un curso de Ansible, te diré que básicamente te creas unos inventarios, con tus máquinas organizadas en los niveles que necesites, y creas algo llamado "Playbooks", en yaml por cierto, que serán las instrucciones de lo que debe hacer Ansible en cada servidor al que le apliques dicho playbook.
También puedes bajar los playbooks de la "galaxia Ansible" por cierto, o usarlos de inspiración.
Bien, pues vamos al lío de la actualización:
---
23:00 Oficinas Centrales Alternativas de DMNTR Network Solutions. O sea: mi casa. El comedor exactamente.🤣🤣🤣
Chat de Discord con gente de IT del cliente:
👻-"Buenas noches, ¿vamos al lío con la actualización o qué? Hoy nos vamos a quitar de en medio los 10 servidores que dijimos".
🫣-"¡Vamos! ¡Que no nos pase nada!"
👻-"Esperemos... Bueno lanzo esto..."
Total, que así una a una fueron acabando todas las tareas programadas y 7 minutos después: ¡Voila! ¡Infra actualizada!
Tiempo total de creación del playbook: 3 horas y algo.
Tiempo total de despliegue de la primera noche: 7 minutos.
Tiempo total de despliegue de la segunda noche: 9 minutos.
Tiempo total de despliegue de la tercera noche: 7 minutos.
¡Y listo!
Luego tocaba hacer otras cosas, como comprobar que todo estaba funcionando, o documentar determinadas cosas, pero lo gordo estaba.
Y ahora viene lo bueno, al día siguiente suena el teléfono temprano:
🫣-"Houston tenemos un problema. Hemos instalado PHP8.1, pero necesitamos también PHP 8.0. Es muy urgente."
👻-"Venga, va, que lo añadimos y lo desplegamos"
Algo que anteriormente hubiera sido un "me cago en la pena negra la que tenemos que liar ahora", supuso simplemente añadir 10 líneas al playbook y volverlo a lanzar.
10 minutos después, pasamos a DEFCON 5 de nuevo.
Porque además Ansible comprueba las tareas ya realizadas, para no volverlas a hacer, (si alguien ha cambiado algo manualmente, obviamente lo arregla y le corta las manos al informático que tocó... no esto no... pero debería...), y solo ejecuta las tareas que sean necesarias para que los servers queden tal y como hemos definido en ese playbook.
Si encima esos playbooks (y archivos varios de configuración y tal) los tienes en tu repositorio GIT bien organizaditos, de un vistazo vas a ver los cambios que has hecho en tu infra, cuando se hicieron, porque se hicieron, etc.
¿Si aún no usas algo así a que estás esperando?
¡Además, incluso parecemos programadores de esos! ¡Usando yaml y git! ¡Qué asco me doy a mí mismo!
En fin, que tienes a tu alcance muchas herramientas para automatizar, como Chef, Puppet, o Saltstack que están esperando que les metas mano.
Y, te digo algo, el tiempo que vas a tardar en crear lo que necesitas para automatizar y estandarizar tu infraestructura, después te lo vas a ahorrar multiplicado por 10.
¡Y me quedo corto!
Así que, ya sabes: Automatizar para vivir. Vivir para automatizar.
¡Feliz Domingo!
Esta semana, no se ha caido Cloudflare tampoco... ¡Redsys tomó el relevo!
Pero no te voy a mentir, no he estado demasiado atento a twitter, porque por las tardes me reclamaban en "un pícnic".
Y dejadme que os diga, que yo soy muy de pícnic.
Y soy aún más de la organizadora del pícnic. Que me tiene enamorado desde que nació.😍😍😍
Así que mi semana, el rato entre acabar la jornada y comenzar las migraciones nocturnas, lo he pasado "de pícnic".
Y hay cosas en la vida, que uno no puede rechazar. ¡Que luego crecen!
¡Ya sabéis más pícnics y menos twitter!
P.D.: La semana que viene prometo volver a los hilos.
P.D.2: Pero sin descuidar el resto.
¡12 años no se cumplen todos los días! ¡FELICIDADES!
Hoy tocaba, desde esta humilde newsletter, dejar constancia del aniversario de Tecnocrática.
Algo deben estar haciendo bien para conseguir hacerse un hueco en el mercado de los datacenters, luchando contra empresas gigántescas y salir airosos en la batalla.
De hecho, como comenté en twitter, yo cuando pienso en datacenter, automáticamente me vienen Tecnocrática a la cabeza... ¡Por algo será!
Por cierto, os voy a contar uno de los secretos de esta gente, que seguro que si lo copiáis os va a ir igual de bien: lo mejor de la empresa, es que son igual o más de buena gente que de profesionales.
Y a mí me gusta trabajar con buenos profesionales, siempre, pero si encima son mejores personas... ¡Pues listo!
¡A POR OTROS 12!
¡Vamos a los links!
Lo importante de todo esto es: ¿se dice Ansible o Ansibol? ¿eh? ¿Ansaibol? ¿Cómo coño se dice?