Ejército de Clones:monitorizando una tropa de servidores reemplazables

¡Un Ejército de Clones a nuestra disposición!Aquí hablamos de servidores para ejecutar nuestras aplicaciones y guardar nuestros datos ¿cómo sería su monitorización?

Introducción: Ejército de Clones en el horizonte

Si cuando escucháis «Ejército de Clones» os viene a la mente la famosa película de ciencia ficción, no pasa nada, nosotros también pensamos lo mismo, realmente nos gusta esa serie de películas y muchas otras series futurísticas. Sin perjuicio de nuestra flexibilidad, en Pandora FMS mantenemos siempre nuestros pies en la Tierra y pendientes con el avance de la tecnología, hoy os traemos otro paradigma en la monitorización el cual es «obligado» por las circunstancias.

Para entrar en detalles acerca del tema primero haremos una breve historia de la evolución de los servidores de propósito general: en el siglo pasado «montar» servidores nuevos pasaba por primero definir las necesidades básicas ¿cuánta memoria RAM estimamos utilizar? ¿qué tamaño de disco duro? ¿cuántas tarjetas de red? ¿componentes redundantes o bien nos apañamos con un equipo básico?

Tim Berners-Lee, a quien consideramos padre de la web tal como la conocemos hoy en día, se enfrentó con esos dilemas al momento de poner a funcionar el primer servidor web y desde ese mismo día todo ha sido igual: definir los componentes, armarlos, comprobar que funcionen adecuadamente (actualmente muchas tarjetas madres tienen incrustadas en firmware baterías de pruebas de hardware) para luego montar el sistema operativo y después las aplicaciones que necesitemos.

Computadora Next primer servidor web (imagen flickr https://www.flickr.com/photos/rvr/22299165328 )
Computadora Next primer servidor web (imagen flickr https://www.flickr.com/photos/rvr/22299165328 )

En esos años finales de 1990, con la masificación del Internet, se necesitó instalar más y más servidores web por lo que se hizo patente que definir un equipo, especificaciones técnicas, y luego ir a los fabricantes y cotizar la compra de cientos de equipos exactamente idénticos (excepto por sus seriales de fábrica en los componentes, claro está) hacía mucho más fácil el trabajo y se podía conseguir mejores precios por volumen.

Con un solo equipo el cual poner a punto y luego con herramientas especiales, usando una red de área local, se podía copiar el mismo contenido a los demás ordenadores, pudiendo así establecer «granjas de servidores» de una manera medianamente fácil; claro todavía quedaría el llevar inventario de dichos equipos ya en funcionamiento (¡para ello Pandora FMS cuenta con los mejores ingenios de registro y control!).

Con este esquema el tiempo de puesta en funcionamiento tardaba meses e incluso hasta un año si además debía construirse una edificación adecuada para contener dichos equipos: a la final cada ordenador tenía un elevado costo y con la limitada capacidad de cómputo de aquella época se debía estar actualizando cada servidor a fin de obtener el mejor desempeño y seguridad. Esto era prácticamente de manera manual, equipo por equipo que además atendía a varias empresas cada uno con su propio requerimiento de software y esto producía a la final que cada servidor difiriera de los demás a pesar de contar sistemas operativos y componentes iguales. Esto devino en los llamados servidores copo de nieve que como bien sabemos no hay dos que sean iguales. Pareciera ser que nuestro Ejército de Clones no estaba en su mejor momento para aquel entonces.

Copos de nieve (imagen tomada de https://pixabay.com/en/snowflakes-needlework-snowflake-1120956/ )
Copos de nieve (imagen tomada de https://pixabay.com/en/snowflakes-needlework-snowflake-1120956/ )

Situación actual: Ejército de Clones en hardware

Pues va a ser que os vamos a decepcionar con lo que os vamos a decir: hoy se sigue haciendo de la misma manera pero se ha evolucionado -para mejor- en varios aspectos:

  • Las edificaciones se han tipificado y ahora están plenamente tecnificados en su construcción como Centros de Procesamientos de Datos (CPD) lo cual ha bajado considerablemente el precio al aumentar la oferta: los constructores tienen reglas predeterminadas que siguen sin importar cuales equipos y tecnologías usaremos en nuestra granja de servidores, además de ubicarlos en ciudades o regiones donde sea más barata la electricidad y/o impuestos.
  • Se ha llegado al extremo de que los constructores erigen una edificación para centro de datos pero no se lo venden a una sola empresa, sino a varias o incluso lo más común: alquilan áreas independientes a cada una. Esto lo conocemos como housing en Europa y los estadounidenses lo llaman co-location o simplemente colo (sí, el amor por las sinéresis en el idioma inglés muchas veces se convierte en un quebradero de cabeza).
  • El hardware ha adquirido una gran capacidad de procesamiento, muchas veces superando los sistemas operativos más comunes y corrientes lo cual es, de hecho, poder de procesamiento desperdiciado.
  • Las conexiones entre ciudades tienen amplios caudales de datos por varios canales de fibras ópticas lo cual facilita la conexión de los CPD entre sí.
CPD en París (wikipedia https://es.wikipedia.org/wiki/Centro_de_procesamiento_de_datos#/media/File:Paris_servers_DSC00190.jpg)
CPD en París (wikipedia https://es.wikipedia.org/wiki/Centro_de_procesamiento_de_datos#/media/File:Paris_servers_DSC00190.jpg)

Con este panorama y al advenimiento de la virtualización de ordenadores se comprobó que tener un Ejército de Clones en hardware permitía y facilitaba la administración y mantenimiento de equipos: por ejemplo con 16 núcleos, 64 gigabytes de RAM y discos duros en RAID tenía mucho sentido instalar un único sistema operativo que corriera decenas de máquinas virtuales de cada empresa y que estuvieran expuestas al Internet tanto para su administración y control como para el público en general (páginas web, por ejemplo). Acá viene el quididad del asunto: es innecesario, en la medida de lo posible, modificar en forma alguna los servidores físicos ya que ellos no contactan con el exterior, actúan como simples enrutadores hacia los ordenadores virtuales que contienen. Acá introducimos el término Servidor Estático el cual no cambia desde que lo montamos hasta el final de su vida útil. Solamente deberemos introducir algún cambio si sobreviene algo grave como Spectre y MeltDown, vulnerabilidades ambas que pueden escapar al ámbito de la virtualización y afectar al sistema operativo real (o sistema anfitrión).

Por favor, lea también   ¿Qué es un Sistema operativo de servidor? ¿Cómo podemos monitorizarlo?

Así las cosas ahora sí podemos hablar de nuestro Ejército de Clones en hardware, desde que nacen hasta que mueren mantienen su configuración inicial lo que propicia un ambiente estable y sólido, sin sobresalto alguno, y facilita la administración y monitorización y lo más importante: podremos hacer tantas máquinas reales -y virtuales- como necesitemos .

Mundo virtual: Ejército de clones en software

No nos cansamos de repetir que nosotros los seres humanos el único cambio que nos gusta es el cambio de pañal, y eso si la situación lo amerita, así que os lo podréis imaginar… con la llegada de las máquinas virtuales pues seguimos en nuestro empeño de seguir montando servidores tipo copo de nieve a diestra y siniestra, ¡como siempre lo habíamos hecho!

Pero pronto recapacitamos y nos percatamos que así como las granjas de servidores se valen de un Ejército de Clones en hardware para mantener que muy bien los Centros de Datos, asimismo ese esquema de trabajo puede servirnos en nuestras operaciones con ordenadores virtuales.

Antes de continuar debemos hacer una pausa sobre cómo es llevado y administrado este Ejército de Clones en hardware. Al organizar dicha tropa también se piensa como cualquier simple obrero albañil que va a pegar los azulejos en un baño: compraremos un 5 % más de material adicional en prevención de que algún ordenador físico caiga fuera de combate. Lo demás es permitir el acceso a los clientes por medio de una consola web para sistematizar la creación, mantenimiento y eliminación de las máquinas virtuales. Lo siguiente sería mantener respaldos de dichas máquinas virtuales, cada una en fichero llamado imagen (vale, que también pueden ser varios ficheros) y si el servidor físico falla recuperar los datos del último  respaldo  exitoso  realizado y copiarlo en otro clon de hardware de nuestro ejército.

Cuando necesitemos ampliar nuestro Ejército de Clones en hardware (compramos al fabricante más equipos idénticos) pues tendremos ya lista una imagen del sistema operativo utilizado, incluyendo los hipervisores necesarios, para cada uno de ellos (más «soldados» en nuestra tropa). Todo esto garantiza una tranquilidad absoluta, fuera del trabajo rutinario de respaldo de datos y cambio de repuestos y/o equipos completos más nada nos preocupará: ni actualizaciones del sistema operativo ni aplicaciones, ni intrusiones, ¡nada que altere la estabilidad!

Si este plan de trabajo es bueno, ¡pues aplicarlo a las máquinas virtuales es mejor! Sin embargo no os apresuréis todavía que hay algunos aspectos a considerar.

Consideraciones al trabajar con un Ejército de clones en software

El concepto sería, tanto en máquinas virtuales o reales, que siempre haremos una nueva para reponer una dañada, nunca intentaremos acomodar ni recuperar ninguna. De hecho es aconsejable eliminar la opción de conectarse por vía SSH y cortar de plano la tentación de actualizarla o enmendarla (además que esto refuerza la seguridad contra intrusos).

  • Debemos prestar atención a las bases de datos, debemos trabajarlas en racimos, de manera tal que los datos estén distribuidos y al haber múltiples copias garantiza que cada servidor nuevo obtenga toda una copia completa de los datos  de los restantes que están en funcionamiento (os dejamos a vuestra imaginación si necesitáis modificar la estructura de datos para mejoras de vuestros programas; también os puede ser útil «ir al infinito y más allá» explorando otras posibilidades). Incluso nos atrevemos a recomendar el tener una máquina virtual clon que pertenezca al racimo en las instalaciones físicas de vuestra empresa: ¡»seguro mató confiado»!
  • Un punto muy importante es la monitorización de estos clones (virtuales o no). Generalmente la comunidad de programadores hablan de ubicar los logs o registros de eventos de manera externa a la máquina en cuestión e incluso sugieren utilizar Git para llevar cuenta de ellos, ya que al borrar la máquina virtual o disco duro real sus datos desaparecerán pero no su registro de errores y eventos. Evidentemente que no conocen a Pandora FMS con su capacidad de llevar cuenta de manera fácil de miles de dispositivos (si bien soporta monitorización remota con SNMP recomendamos la monitorización mixta incluyendo agentes de software en las imágenes, contáctenos y gustosamente os atenderemos). Al utilizar Pandora FMS toda esta información estará almacenada de forma externa y muy bien organizada y presentada para cualquier duda o indagado acerca de las fallas ocurridas, permitiendo utilizar tiempo precioso en prevenir a futuro y no gastar tiempo en corregir o tratar de salvar servidores que funcionen mal por alguna razón.
  • Por seguridad cada «soldado» de nuestro Ejército de Clones debe tener credenciales y contraseñas únicas, de esta manera si un atacante (remota posibilidad) logra hacerse del control de uno ellos, el resto de la tropa no se verá comprometido.
  • Evidentemente que ampliar nuestra capacidad de servir al público es sencillo: tomaremos la última imagen estable y crearemos a www4, www5, etcétera pero bien sabemos que este sistema ampliable no «cayó del cielo», nuestro tiempo y esfuerzo fue bien invertido y nos retribuye y facilita el trabajo en esta oportunidad.
  • Advertimos que este esquema es novedoso, y por ende implica un cambio: nuestros administradores de red, de base de datos y programadores (incluyendo los diseñadores gráficos que aportan ficheros que también deberán ser controlados en sus «versiones» mediante algún sistema Git) deberán cambiar su manera de trabajar y tener siempre presente «donde están parados», incluso recomendamos carteleras reales o virtuales que sirvan como mapas del panorama y que marquen los pasos en los cuales se están trabajando.

Conclusión

¿Qué os ha parecido el artículo? ¡Poned vuestra mente en positivo e iniciad una nueva forma de trabajar más fácil y despreocupada para administrar vuestros servidores! Como siempre todo comienzo es arduo y debemos invertir esfuerzo, tiempo, dinero y entrenamiento a nuestro personal pero a no pensemos a corto plazo, ni siquiera a mediano plazo ¡sino a largo plazo para cosechar los beneficios!

Queremos cerrar esta entrada, si os entusiasmáis, a ser Comandante General de vuestro propio Ejército de Clones y cuando halláis adquirido experiencia y control sobre ellos lo llevéis a la batalla…

¡CONTRA UN EJÉRCITO DE SIMIOS, EL CAOS ATACA! Clicad en la siguiente imagen para mayor información…

ChaosMonkey Ejército de Simios ¡el caos contra nuestro Ejército de Clones!
ChaosMonkey Ejército de Simios ¡el caos contra nuestro Ejército de Clones!