BLOG

El arte de escalar contenedores: Supervisión

Miniatura de Lori MacVittie
Lori MacVittie
Publicado el 25 de enero de 2018

Escalar contenedores es más que simplemente colocar un proxy frente a un servicio y marcharse. Escalar implica mucho más que simplemente distribuir, y en el acelerado mundo de los contenedores hay cinco capacidades distintas necesarias para garantizar la escala: reintentos , disyuntores , descubrimiento , distribución y monitoreo.

En esta publicación sobre el arte de escalar contenedores, profundizaremos en la monitorización.

Supervisión

Monitoreo. En una era en la que todo parece estar escuchando y/o mirando todo, desde lo rápido que conducimos hasta lo que hay en nuestro refrigerador, la palabra deja un mal sabor de boca en muchos. Podemos –y a menudo lo hacemos– utilizar en su lugar la palabra «visibilidad», pero esa sofistería semántica no cambia lo que estamos haciendo: estamos observando de cerca.

Todo lo relacionado con la escala depende del monitoreo, de conocer el estado de los recursos entre los cuales se distribuyen las solicitudes. Enviar una solicitud a una “zona muerta” porque el recurso falló o se cerró recientemente es similar a entrar en una calle sin salida sin salidas. Es una pérdida de tiempo.

El monitoreo se presenta de muchas maneras. Existe la función de monitoreo "puedo comunicarme contigo" de un ping en la capa de red. Existe la monitorización "¿estás en casa?" de una conexión TCP. Y luego está el "¿estás abriendo la puerta?" de una solicitud HTTP. Luego está el control "¿ya tomaste tu café?" que determina si el servicio responde correctamente o no.

Además de verificar el estado y la ejecución de un servicio, también existe la supervisión del rendimiento. La rapidez con la que el servicio responde es fundamental si estás distribuyendo solicitudes en función de los tiempos de respuesta. Los cambios repentinos en el rendimiento pueden indicar problemas, lo que significa que se trata de datos históricamente significativos que también deben monitorearse.

Hay monitoreo activo (¡déjame enviarte una solicitud real!), monitoreo sintético (déjame enviarte una solicitud simulada) y monitoreo pasivo (simplemente me sentaré aquí y observaré qué sucede con una solicitud real). Cada uno tiene sus ventajas y desventajas, y todos son métodos válidos de seguimiento. La clave es que el proxy puede determinar el estado: ¿está arriba? ¿Está abajo? ¿Ha abandonado el edificio junto con Elvis?

La accesibilidad, la disponibilidad y el rendimiento son aspectos de la supervisión y son necesarios para garantizar la escalabilidad. Lo que significa que no se trata solo de monitorear, sino de asegurarse de que los servidores proxy de equilibrio de carga tengan información actualizada sobre el estado de cada recurso al que puedan dirigir una solicitud.

Si piensa en la naturaleza de los contenedores y la propensión a combinarlos con una arquitectura basada en microservicios, puede ver que el monitoreo se convierte rápidamente en una propuesta de pesadilla. Esto se debe a que el modelo más popular de equilibrio de carga dentro de entornos de contenedores son los servidores proxy de avance (y sidecar). Ambos requieren que cada nodo conozca la salud y el bienestar de cada recurso al que pueda necesitar enviar una solicitud. Esto significa monitorear prácticamente todos los recursos.

salud del proxy de reenvío

Se puede imaginar que no es realmente eficiente para un recurso determinado gastar sus propios recursos limitados respondiendo a quince o veinte servidores proxy en cuanto a su estado. El monitoreo en este modelo tiene un efecto significativamente negativo tanto en el rendimiento como en la capacidad, lo que hace que la escala sea aún más difícil.

El monitoreo nunca ha tenido un impacto tan significativo a escala como el que estamos viendo con los contenedores.

Y, sin embargo, es fundamental –como se señaló anteriormente– porque no queremos perder el tiempo con recursos “sin salida” si podemos evitarlo.

Los desafíos del monitoreo necesario son una de las razones por las que la malla de servicios continúa ganando popularidad (y tracción) como el futuro modelo de escala dentro de los entornos de contenedores.

Porque el seguimiento no es opcional, pero tampoco debería ser una carga.