Effetto Noisy Neighbor: interferenze nell’hosting condiviso e nel Cloud
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”).
Che cos’è l’effetto Noisy Neighbor?
Quando scegliete un domicilio, avete in generale due opzioni: comprare o affittare una casa propria oppure decidere di vivere in un appartamento di un condominio. Mentre nel primo caso sentite il vicino solo se intrattiene una conversazione privata in giardino, in un condominio lo sentite molto più spesso e chiaramente. A differenza di una casa di proprietà, dove i costi e certi oneri amministrativi sono decisamente maggiori, in un appartamento di solito questi aspetti scendono notevolmente di prezzo.
Nella ricerca di una “casa” adatta per il vostro sito web o dell’infrastruttura informatica della vostra azienda, la situazione è spesso simile: l’uso di un server fisico (hostato per conto proprio o affidandosi ad un provider), che soddisfi le esigenze software e hardware necessarie, è però anche la soluzione più cara ed impegnativa perché le risorse e la loro gestione sono completamente in mano vostra. Quando ricorrete a risorse virtuali per ragioni di costi e condividete con altri la base del vostro progetto, può però capitare che le prestazioni messe a disposizione vengano provvisoriamente limitate.
La causa di ciò è di solito un eccessivo sfruttamento delle risorse da parte di uno degli utenti che condividono il vostro stesso spazio, ragion per cui si parla di effetto Noisy Neighbor. Oggi questo fenomeno si manifesta soprattutto nel cloud computing flessibile, quello che è lo standard della cosiddetta architettura multi-tenant o multi-istanza (in particolare nei cloud pubblici).
Il problema del Noisy Neighbor nell’ambiente dei server virtuali
L’effetto Noisy Neighbor però non si verifica solo nel Cloud, ma allo stesso modo anche quando si condividono delle risorse. Già nell’hosting condiviso tradizionale, i provider e i loro clienti dovevano affrontare questo problema: se un utente richiede, consciamente o inconsciamente, più risorse di quante gli spettino, questo si traduce in una riduzione almeno per uno degli altri utenti, in particolare la memoria si dimostra troppo limitata.
Allo stesso tempo gli hypervisor, che servono come livello di rete tra le risorse fisiche e le macchine virtuali, sono però sufficientemente sviluppati cosicché è quasi impossibile per il singolo utente evitare la limitazione delle risorse.
Anche il cloud hosting moderno, il cui vantaggio principale è la sua scalabilità molto flessibile, ha un problema a causa dell’effetto Noisy Neighbor: mentre i dischi rigidi usati per l’hosting offrono necessariamente sempre più spazio, la performance dei supporti dati migliora solo impercettibilmente. Se sono collegate in un Cloud più istanze degli utenti e una o più macchine virtuali incidono sulla memoria del server fisico con valori input o output più alti, questo significa che tutti gli utenti andranno incontro a considerevoli ritardi. Le memorie SSD contrastano il fenomeno, ma non riescono ad eliminare del tutto l’effetto negativo; inoltre non sempre fanno parte delle funzionalità standard offerte da un fornitore di cloud hosting.
Nel cloud computing vi è un ulteriore effetto Noisy Neighbor, che risulta dai comportamenti dell’hypervisor e del processore. Mentre l’hypervisor non ha alcun accesso alla memoria locale e alla cache dei processori, queste a loro volta non hanno molte informazioni su cosa accada dall’altra parte nel livello di rete. Per questa ragione i processori stessi decidono quali dati vengono salvati temporaneamente negli algoritmi. Inoltre i processori multi core moderni collocano anche singole macchine virtuali nella cache L3, che accelera lo scambio di dati tra i core. Ne consegue che l’esecuzione delle operazioni da parte di tutte le altre macchine, che ricorrono contemporaneamente al rispettivo processore, richiedono molto più tempo.
Effetto Noisy Neighbor nel cloud computing: possibili soluzioni
Per contenere il problema dell’effetto Noisy Neighbor e ottimizzare in maniera continuativa la performance di tutti i siti hostati, alcuni fornitori di Cloud sono passati a una infrastruttura all-flash storage. Questo tipo di memorizzazione è caratterizzata dal fatto che gli Hard Disk Drive (HDD) tradizionali vengono sostituiti da quelli SSD (Solid State Drive), che offrono prestazioni decisamente migliori, ma sono anche più cari. Anche i nuovi supporti di memoria flash non possono evitare completamente l’effetto Noisy Neighbor, nonostante il loro elevato tasso di input/output. Quindi i cosiddetti all-flash array, meccanismi di memorizzazione di database che contengono più di un dispositivo flash, durante la configurazione della struttura di memorizzazione non prevedono memorie HDD. Questi array hanno un contingente di memoria integrato per l’input e l’output del dati, che si può gestire attraverso un livello di applicazione individuale e adattabile. Così il provider del Cloud o il gestore di un proprio Cloud può controllare e coordinare il trasferimento dei dati tra le diverse macchine virtuali.
Se è difficile valutare lo sviluppo del vostro progetto, dovreste informarvi in anticipo sulle possibilità di upgrade e downgrade delle risorse. Altrimenti vi troverete a pagare in fretta prestazioni di memoria e di CPU di cui non avete affatto bisogno oppure diventerete voi stessi dei Noisy Neighbor, che danno sui nervi con il loro “rumore” agli altri utenti del Cloud.
Da ottobre 2015 anche IONOS utilizza soluzioni di memorizzazione all-flash array per le offerte di cloud hosting. La tecnologia SolidFire impiegata garantisce le migliori performance per tutti i progetti ospitati e permette di offrire pacchetti con le prestazioni più adatte e al prezzo più conveniente, che possono essere aumentate o diminuite in ogni momento.
Sei interessato a un server virtuale e vuoi evitare l’effetto “Noisy Neighbor“? Informati qui sull’offerta server di IONOS.