sábado, 17 de agosto de 2019

Y en 5 minutos, tienes toda tu infraestructura desde 0

Ayer vimos cómo instalar una maquina virtual y su distro de forma desatendida en 1 minuto y medio. No obstante, aún nos faltaban pasos para completar nuestra infraestructura , así que a ese minuto y medio vamos a sumarle lo que tardemos en efectuar esta segunda parte. A ver en cuánto nos quedamos, aunque por el título ya podéis sospechar algo.



Ayer lo dejamos en un punto bastante interesante, dejamos nuestro servidor montado y ya está, ningún servicio instalado ni nada configurado. Esto es lo que nos tocará ahora, pero de igual forma, vamos a automatizarlo al máximo.


Lo primero es ponernos en situación. Tenemos una aplicación web básica con una base de datos en MariaDB con la siguiente base de datos y tabla. Esto lo queremos migrar al servidor nuevo que hemos instalado en 1 minuto y medio. Hemos hecho ya el dump de la base de datos y tenemos todos los archivos de configuración, sólo nos queda migrar al nuevo servidor.



Como cabía esperar, vamos a utilizar un playbook de Ansible para automatizar las tareas de:

- Actualiza la distro y los paquetes
- Instalar Apache2
- Instalar MariaDB
- Instalar Apache2-utils
- Crear el usuario hippi3c0w con su grupo correspondiente y su password
- Copiar el archivo de configuración de apache que hemos realizado para nuestro sitio.
- Copiar el dump de la base de datos
- Copiar el index.html que tenemos de nuestro sitio
- Ejecutar un script que lo que realizar es el a2ensite de nuestro proyecto y un reload del Apache.

Podría ser aún mayor si pasamos la ssh key de este usuario, si realizamos en el servidor remoto su configuración de ZSH+TMUX,etc. Pero de momento lo dejamos así.


Lanzamos el playbook con nuestro usuario demo el cual hará un become user para escalar privilegios y, tal y como se observa, se han realizado correctamente los cambios. Comprobemos por si acaso en nuestro servidor. Esto nos ha llevado 1 minuto, por lo que ya llevamos 2 minutos y medio; aunque redondeemos a 3 minutos.


En el servidor comprobamos que la base de datos está up y que tenemos el dump de la base de datos. Esto sí lo vamos a hacer manual por si diese algún fallo. Hacemos el import del dump y tendremos nuestra base de datos lista ¿Esto ha llevado otro minuto como mucho? Ya son 4 minutos. Por redondear, digamos que 5 minutos.


Y si nos vamos a nuestro navegador, veremos que tenemos nuestra página disponible en el nuevo servidor que hemos instalado y configurado en, como mucho, 5 minutos.

5 minutos y toda una instalación y gran parte de una configuración realizada. Podríamos automatizarlo aún más pasando en nuestro script que habilite un módulo concreto de Apache (Worker o Event por ejemplo) y que pase los archivos de configuración de MySQL y los propios del servicio de Apache; aunque igualmente esto lo podemos hacer si lo preferimos a mano.

Lo que se quiere demostrar es que no hay excusa para montar un servidor y configurarlo en cuestión de minutos -o algunas horas si hacemos las configuraciones avanzadas a mano-. Así pues y con toda nuestra infraestructura montada en minutos, en un futuro artículo veremos las implicaciones de realizar esta instalación automatizada con sus ventajas, algunos inconvenientes y algunos detalles que se puedan escapar a algunas personas. Pero eso ya es otro artículo.

¿Hackeamos el Mundo?


No hay comentarios:

Publicar un comentario

Related Posts Plugin for WordPress, Blogger...

Entrada destacada

El server me sabe a poco.

Soy un fanático del Rock y de Debian . (Creo que voy a inventar Rockbian, que suena bien y todo xD) Llevaba tiempo queriendo unir estos 2 c...