Ultimamente mi sono fatto un bel giro sui siti web dei maggiori provider di hosting cloud italiani e ho notato un trend interessante, tutti quanti si affannano a specificare che
non fanno overbooking delle risorse.
Evidentemente, ad un certo punto, si sono accorti che l'overbooking di risorse fa parte della lista di ciò che il cliente non vuole e hanno pensato bene di specificarlo eppure, mio caro lettore, l'overbooking fa parte della natura dei sistemi condivisi ed è qualcosa che qualsiasi provider farà sempre.
In pratica, finchè il ricavo marginale della vendita di una unità cloud in overbooking sarà superiore al costo marginale necessario a produrla, ovvero finchè non si perdono più clienti di quanti se ne guadagnano. Brillante!
Al di là dell'umana avarizia, ti starai chiedendo perchè all'interno di un cloud si faccia overbooking. Dopotutto, l'idea che ti sarai fatto del "cloud" è che questo contenga una quantità di risorse molto elevate, sempre in aumento... elastiche!
L'idea che ti sei fatto è - probabilmente - vera solo nel caso di cloud estremamente grandi: Amazon, Google, Heroku ne sono alcuni esempi.
A livello italiano, tuttavia, la situazione è ben diversa, le risorse esistono in una quantità finita e non elevatissima. Inoltre è la struttura stessa dei cloud più piccoli ad essere soggetta a limiti che fanno dell'overbooking una normalità.
Per capire perchè l'overbooking sia inevitabile, bisogna capire come funzionano i mini-cloud nazionali.
Un ambiente cloud altro non è che una collezione di server fisici collegati a una oppure a più di una SAN. I server fisici sono quelli che ti aspetteresti comprando un qualunque server dedicato, magari hanno più RAM e un processore multi-thread un po più spinto ma le differenze finiscono qui.
La SAN è un normale array di dischi. A seconda di quanto il provider vuole (e può) spendere la SAN sarà più o meno piena e conterrà dischi più capienti oppure più veloci. Per farti un'idea di come un cloud è organizzato dai uno sguardo alla rappresentazione - molto semplificata - che ho allegato sopra.
Se il mini-cloud è fatto per bene, avrà magari un paio di switch ben carrozzati, magari un paio di SAN e poi delle API per automatizzare la gestione delle virtual machines. Questo è tutto quello che serve per partire... e poi?
E poi il provider si mette a vendere e, man mano che riempie il cloud, aggiunge nodi di calcolo, oppure banda, oppure ulteriori SAN..
E qui nascono i problemi, perchè la decisione del provider di espandere il cloud è basata su di un capacity planning iniziale. Quando il limite progettuale dell'infrastruttura viene raggiunto allora la si espande, e qui casca l'asino.
Un'infrastruttura è satura quando il costo di produrre una ulteriore unità di potenza "cloud" è superiore al ricavo che se ne ottiene.
A meno che il provider non sia particolarmente ben messo sia dal punto di vista progettuale che dal punto di vista del cash flow è presumibile che il cloud verrà espanso solo quando ce ne sia l'effettiva necessità (leggi: problemi) e non prima.
Questa considerazione è tanto più vera quanto sono valide queste affermazioni:
1) Il costo dell'hardware decresce nel tempo (quindi comprare dopo offre un rapporto potenza/euro più favorevole).
2) Il costo della banda internet italiana è elevato (quindi meglio comprare il più tardi possibile e solo quello che serve per davvero).
3) Il costo dell'elettricità è in aumento (perchè anticipare spese elettriche mangiando via il margine?)
4) L'assorbimento elettrico dei server diminuisce man mano che la tecnologia avanza (quindi meglio comprarli dopo).
5) Lo spazio occupato dai server (a parità di potenza) diminuisce man mano che la tecnologia avanza (quindi aspettando puoi ottenere densità di sala maggiori).
Se unisci queste considerazioni al fatto che i servizi cloud vengono percepiti dai clienti come dei servizi più economici dei normali server dedicati e che i servizi cloud vengono inoltre percepiti come privi di barriere in ingresso ed in uscita allora capirai come i cloud provider italiani siano tra l'incudine ed un martello bello grosso!
E' chiaro che, in una situazione di questo tipo si deve sfruttare l'hardware fino all'ultima goccia: quindi i cloud shared italiani (che gli piaccia ammetterlo oppure no) fanno overbooking, ma si vergognano ad ammetterlo.
Ora, se ti viene la tentazione di considerarmi nel mucchio degli altri provider, trattieniti: io non faccio cloud shared, io faccio cloud dedicato.
Questo significa che l'infrastruttura che vedi ad inizio articolo, nei limiti del possibile, cerco di farla per ciascun singolo cliente che ho: questo significa che, se lavori con me, sei tu a decidere se fare overbooking dei **tuoi** sistemi (te li alloco, ma sono tuoi).
Dal canto mio, io cerco di guidare i clienti attraverso un percorso di capacity planning fatto a misura di quello che i clienti producono, forse non sarò il più economico ma almeno i miei clienti sanno quello che hanno, sanno dove vanno e sanno che la loro infrastruttura non è soggetta a problemi di concorrenza di accesso alle risorse da parte di altri clienti.
Non fraintendermi, non sto dicendo che se vai da altri provider ti troverai necessariamente male. Dico solo che non devi aspettarti che i problemi di performance dei tuoi sistemi non siano dovuti (anche) al grado di saturazione del cloud che li ospita.
Per oggi è tutto. Se ti piace quello che scrivo e vuoi entrare in contatto con me, oppure se hai bisogno di un partner competente per le tue esigenze di cloud dedicato, non esitare a contattarmi attraverso questo form.