El efecto “noisy neighbor”: problemas de convivencia en la nube

Televisioni ad alto volume, musica assordante, bambini strillanti, party degenerati, cani che abbaiano o lavatrici in funzione a tutte le ore del giorno e della notte: tutti hanno sperimentato almeno una volta il rumore causato dai vicini. Se queste interruzioni della quiete sono particolarmente disturbanti o si manifestano in maniera regolare, diminuiscono enormemente la qualità della vita negli spazi comuni. Il problema dei vicini rumorosi, che influiscono negativamente sulle “risorse” affittate, non è una questione che rimane circoscritta solo alle pareti di casa. Il fenomeno è anche diffuso nell’ambiente dei server virtuali e si parla in questo caso di effetto “Noisy Neighbor” (letteralmente “vicino rumoroso”).

¿Qué es el efecto “noisy neighbor”?

Cuando se trata de buscar una vivienda se tienen generalmente dos opciones: por un lado, alquilar o comprar una casa propia o, por el otro, un piso en una comunidad de vecinos. Mientras que en el primer caso el contacto con los vecinos requiere un mínimo de voluntad y no es necesariamente frecuente, en un edificio de varios pisos su presencia se percibe constante e involuntariamente de una forma mucho más cercana. Como contrapartida, los gastos de mantenimiento de una casa unifamiliar son mucho más elevados que los de un apartamento.

La situación es similar cuando se busca un “hogar” adecuado donde alojar un proyecto web o la estructura informática de una empresa. Un servidor físico propio, alojado por uno mismo o por un proveedor, que satisfaga los requisitos de software y de hardware, es la solución sin duda más compleja, pero tiene la ventaja de que tanto los recursos como su gestión recaen exclusivamente en manos de su propietario. Cuando se opta por hacer uso de recursos virtualizados, compartiendo así el fundamento técnico del proyecto con otros, puede que el rendimiento se resienta temporalmente.

La causa de ello radica normalmente en una sobreutilización de los recursos por parte de otro “inquilino” que los comparte, de ahí la denominación de “efecto del vecino ruidoso” o “noisy neighbor effect”. Hoy en día, el fenómeno de las instancias “vecinas” que perjudican el rendimiento global de los recursos se observa sobre todo en la flexible computación en la nube, fundamentada en la denominada arquitectura de tenencia múltiple (multitenancy o multi-tenant architecture), en particular en las nubes públicas.

El problema del “noisy neighbor” en los servidores virtuales

El efecto “vecino ruidoso” no es en absoluto nuevo, sino que es tan antiguo como la posibilidad de compartir recursos, que existía antes incluso del nacimiento de la nube. Ya en el tradicional shared hosting o alojamiento compartido, este era uno de los problemas a los que tenían que enfrentarse los proveedores de alojamiento. Si uno de los clientes requería, sabiéndolo o no, más recursos de los que le correspondían, alguno de los demás “inquilinos” de la misma máquina se veía perjudicado con alguna limitación, en especial en lo concerniente a la memoria de almacenamiento, siempre escasa.

Hoy en día, los modernos hipervisores distribuyen los recursos fundamentales de hardware de forma tan eficiente entre las máquinas virtuales que administran que solo en casos excepcionales se producen reducciones del rendimiento ocasionadas por un vecino ruidoso.

Por su parte, el alojamiento en la nube, cuya principal ventaja radica en una escalabilidad muy flexible, tiene a su propio “vecino ruidoso”: a pesar de que la tecnología de almacenamiento ha mejorado mucho en cuanto a capacidad y velocidad de acceso en los últimos años, las necesidades de espacio en el contexto de la nube han crecido de forma exponencial. Si varios usuarios están conectados a una nube y uno o más máquinas virtuales sobrecargan la memoria física del servidor con valores muy altos de entrada y salida (I/O), para algunos usuarios puede significar una pérdida de capacidad de almacenamiento. El almacenamiento con SSD puede contrarrestar este efecto, aunque no forma parte aún del repertorio estándar de todos los proveedores de alojamiento en la nube.

El efecto “noisy neighbor” de la computación en la nube también resulta de la interacción de los hipervisores y los procesadores. Los hipervisores no tienen acceso al almacenamiento local ni tampoco a la memoria caché de los procesadores y estos, por su lado, tampoco disponen de información sobre lo que pasa más allá de la capa de red. Son los algoritmos de caching definidos en el procesador los que deciden qué datos se almacenan en la caché. Los modernos procesadores multicore, además, asignan a algunas máquinas virtuales la memoria caché L3 (Level 3), que acelera el intercambio de datos. Esto tiene como consecuencia que, para el resto de máquinas que dependen asimismo de este procesador, la ejecución de operaciones requiera más tiempo.

Cómo evitar el efecto “vecino ruidoso” en la nube

Para reducir los efectos de los “noisy neighbors” y optimizar a largo plazo todos los proyectos alojados, algunos proveedores de alojamiento en la nube muestran su preferencia por los sistemas all-flash storage o almacenamiento todo flash. Este concepto se fundamenta en la sustitución de las unidades de disco rígido (Hard Disc Drive, HDD) por los más potentes y más caros SSD o discos de estado sólido (Solid State Drive), que utilizan memoria no volátil, como la memoria flash, para almacenar los datos. Sin embargo, estos medios de almacenamiento flash más modernos tampoco pueden evitar completamente el efecto de los “vecinos ruidosos”, a pesar de su tasa de I/O más alta. Esto ha hecho que se consolidaran los denominados all-flash arrays o matrices de discos todo flash, que contienen varias unidades de almacenamiento flash, a la hora de implementar una arquitectura de almacenamiento sin HDD. Estas matrices todo flash cuentan con una cuota integrada de almacenamiento para la entrada y salida de datos, que se gestiona en un nivel de aplicación que se gestiona individualmente, de tal forma que el proveedor de la nube o su administrador pueden supervisar y coordinar la transferencia de datos de las diferentes máquinas virtuales.

En ocasiones, es difícil predecir cómo va a evolucionar un proyecto. Es por esto que, antes de nada, conviene informarse bien sobre la hipotética posibilidad de aumentar o reducir los recursos contratados, porque, de lo contrario, podría pagarse por unas prestaciones de almacenamiento y CPU que no se necesitan o convertirse en el mismo vecino ruidoso que saca de quicio a los demás inquilinos.

Consejo:

Desde octubre de 2015, las ofertas de alojamiento en la nube de IONOS se basan en soluciones de almacenamiento en matrices todo flash. Usar la tecnología SolidFire garantiza el mejor rendimiento posible para todos los proyectos de alojamiento y ofrece paquetes de prestaciones económicas y ajustadas que puedes actualizar o revertir en cualquier momento.

Te interesa un servidor virtual pero quieres evitar el efecto “noisy neighbor”, infórmate aquí sobre el abanico de servidores IONOS.

¿Le ha resultado útil este artículo?
Utilizamos cookies propias y de terceros para mejorar nuestros servicios y mostrarle publicidad relacionada con sus preferencias mediante el análisis de sus hábitos de navegación. Si continua navegando, consideramos que acepta su uso. Puede obtener más información, o bien conocer cómo cambiar la configuración de su navegador en nuestra. Política de Cookies.
Page top