Modelli di carico di calcolo

Completato

Se il traffico verso una risorsa cloud come una macchina virtuale o un set di macchine virtuali oppure un'app Web fosse costante e invariabile, il ridimensionamento non sarebbe necessario. Un amministratore cloud potrebbe semplicemente eseguire il provisioning del numero di istanze necessarie per gestire il carico senza bisogno di altri interventi. Tuttavia, i modelli di traffico cambiano nel tempo, a volte in modo prevedibile, a volte no. Nel mondo reale, un amministratore deve diagnosticare il carico sulle risorse che gestisce e usare il ridimensionamento per garantire che il sistema sia in grado di soddisfare la domanda.

Prima di discutere delle procedure si parlerà del perché eseguire il ridimensionamento, esaminando alcuni dei modelli di carico comuni sperimentati dalle macchine virtuali e da altre risorse cloud.

Crescita costante

Uno dei fattori più comuni alla base della necessità di un ridimensionamento è la crescita costante della domanda. La figura 1 illustra il traffico del sito Web di una società in un periodo di 24 mesi. La società sta crescendo rapidamente e il traffico verso il suo sito Web cresce altrettanto. Presupponendo che un server Web sia in grado di gestire 5.000 richieste per unità di tempo, una società può iniziare con tre o quattro server Web, ma dopo due anni ne richiederà circa 20 per stare al passo con l'aumento della domanda e continuare a servire i clienti al meglio.

Figura 1: Crescita costante.

Figura 1: Crescita costante.

La crescita costante è tra i modelli di carico più semplici da compensare, perché il cambiamento è continuo e graduale. Si potrebbe ridimensionare l'ambiente usando server fisici, dal momento che è possibile prevedere il momento in cui saranno necessari nuovi server e che per la preparazione si hanno a disposizione settimane, se non mesi, ma il cloud computing consente di portare online nuovi server virtuali in pochi minuti. Inoltre, anche se la tendenza su 24 mesi mostra una crescita costante e prevedibile, i carichi potrebbero fluttuare notevolmente in periodi di tempo più brevi. Il cloud computing è molto più adattabile alle microtendenze rispetto al ridimensionamento con server fisici.

Carichi costantemente fluttuanti

L'elasticità rapida offerta dal cloud computing è essenziale quando i carichi fluttuano in modo imprevedibile in periodi di tempo relativamente brevi. La figura 2 illustra il carico su un sito Web in un periodo di 24 ore. Di nuovo, supponendo che un server sia in grado di gestire 5.000 richieste per unità di tempo, il numero di server necessari nel corso della giornata varia da 2 a 16. Si potrebbe gestire questo traffico mantenendo sempre online 16 server Web virtuali, ma i provider di servizi cloud addebitano le macchine virtuali anche se sono inattive. La capacità in eccesso non solo rappresenterebbe uno spreco di energia, ma raddoppierebbe quasi i costi.

Figura 2: Carico costantemente fluttuante.

Figura 2: Carico costantemente fluttuante.

Carichi ciclici

La figura 3 mostra un carico che aumenta e diminuisce seguendo uno schema regolare e abbastanza prevedibile, ad esempio la domanda aumenta durante le ore lavorative e cala nelle ore serali e notturne. Con un carico di questo tipo, per gestire la domanda negli orari di punta sono necessari circa 20 server, sempre presupponendo 5.000 richieste per unità di tempo per server. Attivare e disattivare a rotazione server fisici 24 ore al giorno è improponibile, ma si può eseguire facilmente il provisioning e il deprovisioning di server virtuali in base a una pianificazione per assicurarsi che la capacità dei server equivalga approssimativamente alla domanda. La presenza di server fisici inattivi o scarsamente utilizzati per 12 ore al giorno si traduce in spese in conto capitale indesiderate e in un consumo di energia inutile. Anche i server virtuali hanno un costo, ma è possibile effettuarne il deprovisioning quando non sono necessari e crearli nuovamente quando richiesto.

Figura 3: Carico ciclico che si ripete ogni 24 ore.

Figura 3: Carico ciclico che si ripete ogni 24 ore.

Picchi imprevedibili

Uno dei modelli più difficili da affrontare dal punto di vista dei costi e della manutenzione è quello che presenta picchi imprevedibili (Figura 4). Se i picchi sono prevedibili, ad esempio nel caso del sito Web di un servizio di consegna della pizza che sperimenta carichi più elevati nei fine settimana e durante le festività, è possibile pianificare la capacità aggiuntiva. Se invece non sono prevedibili, occorre essere pronti a gestirli in qualsiasi momento.

Figura 4: Picchi imprevedibili.

Figura 4: Picchi imprevedibili.

Possiamo ipotizzare i costi in eccesso (il costo dei server di cui è stato effettuato il provisioning per gestire i carichi di picco, ma che sono relativamente inattivi durante i periodi di traffico meno intenso) come l'area tra la parte superiore della curva e una linea orizzontale tracciata attraverso il punto più alto. In questo caso, il costo della fornitura di capacità per 100.000 richieste per unità di tempo per il carico nella Figura 4 è sensibilmente più elevato rispetto al costo della fornitura di capacità equivalente nella Figura 3.

Se è possibile prevedere l'entità dei picchi di domanda (non necessariamente la tempistica) e i costi non sono un problema, è possibile fornire capacità adeguata in qualsiasi momento effettuando il provisioning di un numero di server sufficiente per gestire i carichi più elevati. Il cloud computing consente di portare online le risorse quando sono necessarie e di portarle offline (smettendo di incorrere negli addebiti corrispondenti) quando non lo sono. L'elasticità si ottiene ridimensionando le risorse cloud. Di seguito si esaminerà il concetto di ridimensionamento in modo più approfondito e si illustreranno i motivi per cui rappresenta un fattore chiave nell'economia del cloud computing.

Verificare le conoscenze

1.

Si supponga che un server sia in grado di gestire 5.000 richieste per unità di tempo e che un sito Web sperimenti carichi che variano in modo relativamente uniforme da un minimo di 5.000 a un picco di 25.000. Il sito è ospitato nel cloud usando macchine virtuali e ogni macchina virtuale costa € 4 al giorno. Qual è la differenza approssimativa in termini di costo annuale tra fornire capacità elastica dimensionata in modo da soddisfare la domanda e capacità costante per gestire i picchi di carico?