Loading

| HT blog

Monday 9 August 2010

Cloud hosting: cosa è e come funziona - 1° parte

di Stefano Bellasio

Nelle ultime settimane noto che in rete sono diversi gli articoli che iniziano a parlare del mondo del cloud computing. Sembra che finalmente si stia uscendo dal preconcetto che sia solamente una moda, e si stiano finalmente apprezzando le potenzialità di questa tecnologia (ovviamente ci sono anche gli svantaggi). 

La definizione di cloud hosting non è chiara a molti giustamente. Tra le tante cose che questa tecnologia ha fatto, una delle meno meritevoli è stata quella di creare confusione in molti settori, tra cui anche quello hosting. L'obiettivo di questo post è quello di chiarire cosa si intenda con cloud hosting e quali siano le caratteristiche salienti di questa tecnologia. Vi segnalo intanto che c'è stata da poco una discussione sulla nostra community a riguardo, una lettura vi darà sicuramente ulteriori punti di vista di aziende ed utenti di HT. 

Dallo shared hosting al cloud hosting

Tutti voi saprete sicuramente di cosa parliamo quando diciamo "shared hosting", per chi fosse leggermente arruginito, basterà sapere che solitamente è un ambiente condiviso, su server Linux o Windows, con determinate risorse dedicate, tipicamente non di ram e cpu, in virtù dell'ambiente shared in cui risiede. Niente di più di un account su un server, creato ad hoc oppure tramite l'uso di pannelli di controllo molto comuni come sono ad esempio cPanel o Plesk. 

Quando parliamo di cloud hosting parliamo sempre di un ambiente condiviso, ma con caratteristiche differenti, e maggiori garanzie. La prima cosa che dobbiamo sapere infatti è che in un servizio di cloud hosting ci aspettiamo di avere una garanzia non solo su risorse come lo spazio disco o la banda, ma anche su CPU e memoria RAM: il nostro account è di fatto paragonabile ad una VPS, ma rispetto ad essa è in versione managed, ovvero il suo aggiornamento e mantenimento è a cura del provider, e soprattutto non consente di interagire sul sistema come possiamo fare un con una VPS. Si tratta di un prattodotto del tutto simile ad uno shared hosting con alcune caratteristiche che ora vedremo e che, purtroppo, sono difficili da "standardizzare" in quanto ogni ISP decide poi come creare la propria offerta di cloud hosting. 

Cloud Hosting: scalabile e distribuito

Se si tratta di una ambiente condiviso, in cosa varia un servizio di cloud hosting da un comune shared hosting? Per prima cosa nella scalabilità. Abbiamo detto che possiamo avere garanzie sulla CPU e sulla RAM del sistema, ma proprio perchè queste soluzioni sono spesso abilitate dalla virtualizzazione, possiamo anche richiedere maggiori risorse al nostro sistema in tempo reale, utilizzando la nostra soluzione di cloud hosting con lo stesso principio con cui si parla di scalabilità per un ambienti di cloud computing. 

In realtà, direte voi, anche in un comune piano di shared hosting posso aumentare le risorse a mia disposizione. Verissimo, ma non come dovrebbe avvenire nel cloud hosting: qui il cliente ha la possibilità di far scalare la propria piattaforma di hosting con GB di ram aggiuntivi, con maggiore potenza computazionale e ovviamente con l'impostazione di parametri come la banda dedicata per la sua istanza. In alcuni prodotti, come Cloud Sites di Rackspace, si parla addirittura della possibilità di pagare in base ai cicli di CPU utilizzati, con una offerta base che include 10.000 cicli di CPU al mese. 

Questo è possibile perchè i servizi di cloud hosting sono solitamente ospitati su cluster di macchine virtuali, e qui giungiamo alla seconda peculiarità di questi ambienti. Io immagino una soluzione di cloud hosting come distribuita su più macchine, e quindi in fail over, in modo tale che se una di queste dovesse fallire, un'altra possa continuare a far funzionare la mia istanza senza alcun downtime. L'esperienza ci dice che anche il cloud computing fallisce, tuttavia la distribuzione su più macchine nello stesso data center ed eventualmente la distribuzione geografica abbassano fortemente le possibilità che la mia istanza di cloud hosting subisca lunghi periodi di downtime. Devo dire che a mio parere una distribuzione di cloud hosting non deve essere necessariamente distribuita geograficamente, non lo reputo un requisito fondamentale per definire tale questo prodotto, tuttavia è ovviamente un plus che andrebbe considerato in base al prezzo e al target a cui si rivolge il fornitore. 

Pannello di controllo e scalabilità

In un soluzione di cloud hosting è ovviamente presente anche un pannello di controllo. Può essere una soluzione ad hoc disegnata dal provider oppure un pannello molto comune, come nel caso di Cloud.bg che utilizza attualmente cPanel su un cluster di macchine. 

Il pannello di controllo è una componente importante perchè nonostante il cloud hosting sia un prodotto managed, di fatto il cliente che cerca questa soluzione vuole poter agire e controllare la sua istanza in completa autonomia: voglio sapere molto chiaramente quante e quali risorse sto utilizzando, così come dovrei poter avere a disposizione un pannello molto semplice per aumentare le risorse in tempo reale o per monitorare se il sistema sta aggiungendo risorse nel caso lo scaling avvenga in maniera automatica. 

Sulla scalabilità vi sarebbe molto da discutere: come deve avvenire in un sistema di cloud hosting? Prendo l'esempio di Cloud Sites che automatizza il processo, facendo si che la nostra istanza cresca o diminuisca in base alle richieste che giungono sui siti ospitati. In sostanza il cluster si occupa del bilanciamento e dell'assegnamento delle risorse, con la possibilità di visionare in tempo reale i cicli di CPU. La soluzione di Seeweb non funziona in questo modo e si basa invece sull'utilizzo di SPU, e ancora quella di Cloud.bg non fornisce tutto ciò e semplicemente sfrutta la sua struttura cluster per assicurare la scalabilità del sistema. Risulta evidente che la soluzione ideale non c'è qui, o almeno esiste quella ideale per ogni singolo cliente, anche se mi sento di dire che serve ancora maggiore studio per lanciare sul mercato una offerta di cloud hosting che abbia veramente tutte le caratteristiche che immaginiamo. 

Accesso SSH

Presente in una offerta di cloud hosting? Non in tutte giustamente. Io sono per vietare l'accesso in questi ambienti, dato che essendo managed l'utente non dovrebbe ricorrere a questo strumento e quasi sempre il cliente non è in grado di utilizzare pienamente quest'ultimo anche se limitato. Vi sono offerte che offrono l'accesso SSH anche in ambienti di shared hosting, una scelta opinabile e che, ovviamente, non è fondamentale per stabilire se un servizio di cloud hosting sia di qualità o meno. 

Vi voglio segnalare tuttavia come si può presentare una offerta di cloud hosting in ambito Windows: http://www.serverintellect.com/cloud-hosting/aspnet/

Tariffazione dei servizi cloud hosting

La tariffazione può essere a base annuale con l'aggiunta dei costi per la variazione delle risorse di volta in volta, un modello abbastanza simile a quello del cloud computing, dove tuttavia le variabili in gioco sono di meno, dato che non bisogna considerare quasi mai le ore di computazione. Se prendiamo oggi i principali ISP attivi in questo settore vediamo che quasi nessuno ha un modello con pagamento annuale unico, quasi tutti offrono un canone mensile da cui partire per poi andare a ritoccare il costo finale in base alle risorse tolte o aggiunte. 

Dove si spinge il managed del cloud hosting

Prima di concludere la prima parte di questo viaggio nel mondo del cloud hosting, vorrei discutere di cosa significa che è una soluzione managed, in modo da chiarire eventuali dubbi. Intendo dire che, al pari dello shared hosting, la manutenzione e aggiornamento dei server e dei demoni è a carico del provider e dipende solamente da quest'ultimo. Bisogna poi capire se quest'ultimo ha una configurazione impostabile automaticamente per le nostre applicazioni e siti web, oppure se è possibile intervenire sulla modifica dei parametri (ad esempio di Apache) per adattare la nostra configurazione. Se ciò è possibile, potrebbe essere compito dell'assistenza farlo per noi, con l'indicazione delle nostre esigenze e del nostro carico. 

Sinceramente penso che una offerta di cloud hosting non debba richiedere la modifica diretta delle configurazioni dei demoni, ma debba essere possibile agire tramite pannello di controllo con impostazioni ad hoc, in base alla tipologia di sito e al load attuale sull'istanza. Questo per preservare la natura managed del prodotto e il fatto che chi gestisce un simile prodotto non ha sempre competenze sistemistiche nemmeno di base, tali da potergli far capire quando Apache andrebbe modificato nella sua configurazione o quando chiedere un tuning del suo account. 

Commenti Recenti

Powered by Disqus