En el futuro del monitoreo ya no importará la infraestructura

Autor: Redacción CIO México
Categorías relacionadas:
Destacado, Monitoreo

monitoreo-cambios

[widget id="text-55"]

En el futuro del monitoreo ya no importará la infraestructura, tras analizar cambios en el paradigma de TI.

“Cualquier persona involucrada con TI sabe que la nueva tecnología está cambiando el panorama a un ritmo increíble. Parece que cada día hay algo nuevo en el horizonte de TI que ‘cambiará el mundo’, o al menos la forma en que pensamos sobre la industria”, aseveró David Montoya, Director Regional de Paessler América, empresa especializada en monitoreo de red,

Agregó que generalmente esto no sucede porque la nueva tecnología nunca llega a ser realmente omnipresente, pero en los últimos años, los contenedores, la nube y los servidores sin servidor han afectado este cambio. Entonces surge la pregunta ¿Cómo debemos monitorear?

Cambios de paradigma de TI

De acuerdo con Paessler, se han producido tres cambios de paradigma principales en lo que respecta a las operaciones:

El primero fue la virtualización, donde pasamos de tener un único servidor de metal abierto ejecutando algunas aplicaciones a tener un sólo servidor ejecutando muchos “servidores” virtualizados. Estos servidores se abstuvieron al virtualizar el hardware subyacente del servidor y permitir que los administradores ejecuten muchos servidores en un único servidor sin protección.

Luego, se pueden conectar muchos de estos servidores completos y luego utilizar el Hypervisor (software de virtualización) en el clúster de servidores básicos, puede equilibrar la carga de sus servidores virtuales en los servidores básicos. De esta manera, se pudo obtener una carga de trabajo más equilibrada en muchos servidores con menos inversión inicial.

El segundo cambio ha sido el advenimiento y la abrumadora adopción de contenedores. Los contenedores funcionan de manera similar a la virtualización, pero llevan la abstracción al siguiente nivel. En lugar de simplemente virtualizar el hardware y ejecutar sistemas operativos completos en cada VM (lo que siempre ha sido un dolor mantener actualizados y en ejecución), los contenedores se ejecutan sobre el sistema operativo de un host o nodo. Esto significa que tiene muchas cargas de trabajo ejecutándose sobre un sólo sistema operativo.

Estos nodos / hosts no tienen que estar en el metal, ya que podrían ser máquinas virtuales, pero la idea es que usted tenga un “servidor” capaz de ejecutar muchos contenedores. La capacidad de equilibrar su carga de trabajo sobre esos servidores se vuelve más eficiente porque, en lugar de mover todo el sistema operativo y la aplicación, simplemente se está moviendo o creando nuevas instancias de la aplicación, que tiene una huella más pequeña.

El último y más reciente cambio es hacia “serverless”. Esto sucedió porque los contenedores permiten un nivel más de abstracción: funciona como un Servicio o FaaS, a veces también llamado sin servidor porque elimina la necesidad de que alguien dentro de su organización mantenga un servidor. Esto no significa que no haya un servidor en algún lugar ejecutando su función; es solo que alguien más se está asegurando de que funcione.

FaaS permite que los desarrolladores de software escriban sólo su lógica de negocios y luego la carguen en un servicio de FaaS, ya sea con un proveedor de Nube pública como AWS o Azure, o algo como Kubeless o OpenFaaS. Luego, pueden configurar una arquitectura dirigida por eventos para ejecutar dicha lógica de negocios, y eso es todo: ¡listo! El funcionamiento de los servidores para los contenedores y el funcionamiento de la organización del contenedor se eliminan completamente, lo que le permite centrarse en el desarrollo de su aplicación en lugar de preocuparse por cómo lo va a ejecutar.

Existe un debate bastante acalorado sobre qué es mejor, sin servidor o contenedores, pero entonces ¿qué es el cambio de paradigma resultante que está ocurriendo en el mundo del monitoreo? Expliquemos más a fondo.

Cuando no nos importa la infraestructura

Debido a la abstracción del hardware y la naturaleza efímera de las aplicaciones modernas, “en los próximos años ya no nos preocuparemos por la infraestructura”, señala Paessler. Actualmente eso es un poco polémico y divisivo (como todas las citas para captar clics tienen que ser hoy en día) pero cuando usted lo piensa, realmente tiene sentido. “Cuanto más nos retiremos y alejemos nuestras aplicaciones del metal desnudo, menos deberíamos tener que preocuparnos por ello”.

La empresa afirma que si usted está ejecutando una aplicación totalmente sin servidor en alguna Nube pública, no sólo no le importa la infraestructura detrás de ella, sino que no podría monitorearla, incluso si quisiera. No hay forma de acceder a las métricas desde la red, servidores o contenedores que ejecutan su código. En este caso, lo que desea supervisar es el rendimiento de su propio código.

En el caso de los contenedores, si usted es un equipo de DevOps que ejecuta su aplicación en contenedores a través de un clúster Kubernetes bien construido o un clúster administrado que se ejecuta en la Nube, no debería tener que pensar en el hardware que lo está ejecutando. Cada vez más, la administración de los clusters de K8 o similar se “subcontrata” a la Nube u otro equipo, y ni el hardware que se encuentra debajo de estos clusters administrados ni los clusters en sí son de verdadera preocupación para el departamento que ejecuta la aplicación.

La razón por la que la subcontratación tiene sentido es que, con la abstracción de la informática, el hardware y su operación y mantenimiento, se convierten más en un producto básico. Un conjunto genérico de hosts que ejecutan software de orquestación de contenedores genéricos puede ejecutar casi cualquier tipo de carga de trabajo de la aplicación. Y cuanto más lo hagas, más barato podrás hacerlo. La razón por la que las cosas se ejecutan en la Nube se ha vuelto tan barata y, por lo tanto, tan generalizada es que los proveedores de la Nube pueden ejecutar el hipervisor o el software contenedor a escala para millones de usuarios de manera mucho más eficiente que una sola organización.

¿Cómo monitoreamos esta nueva arquitectura?

Entonces surge la pregunta ‘¿Cómo debemos monitorear?’ Esta puede ser una pregunta complicada y depende de lo que haga su empresa. Pero cuando se trata de aplicaciones y cargas de trabajo que se ejecutan en infraestructura moderna, ahora tenemos que mirar más allá de lo que está ejecutando esa carga de trabajo y concentrarnos en instrumentar las aplicaciones que se ejecutan.

Últimamente ha aparecido un término para intentar abarcar esta idea: observabilidad.

Al igual que DevOps, la definición de este término se debate enérgicamente, pero la idea general es que, junto con lo que consideramos como monitoreo tradicional, la observabilidad también incluye métricas, registros y rastros (los tres pilares de la observabilidad). Estos se extraen directamente de nuestra carga de trabajo o aplicación para que podamos analizarlos y solucionarlos sobre la marcha. Con estos datos, podemos inferir el estado actual de un sistema a partir de sus salidas externas y tener un contexto para comprender su estado.

La alta cardinalidad (valor único) en nuestros datos de monitoreo solía ser un patrón y algo que todos intentaban evitar. Sin embargo, para hacer una aplicación observable, muchos argumentan que el almacenamiento de datos altamente cardinales es una necesidad, para ahondar en los problemas cuando ocurren. “Esto permite a la persona que está ejecutando el sistema hacer preguntas específicas con los datos que están recopilando para encontrar una solución”, señaló Paessler.

Deja un comentario