Cloud computing

Secondo Wikipedia, Cloud computing è un’espressione usata per descrivere delle tecnologie che consentono di accedere a delle risorse hardware/software poste in altri luoghi.
Come si può intuire il cloud computing è un grande contenitore che raccoglie diverse branche con obiettivi e requisiti differenti. Si può fare un paragone con il termine virtualizzazione: esso può riferirsi sia alla virtualizzazione di piattaforma, sia storage,  o network…
Tuttavia si possono trovare delle caratteristiche comuni alle varie accezioni di cloud compunting.

Chi accede alle informazioni conservate sui server della cloud non ha conoscenza di come le informazioni verranno reperite (da hard disc, da nastro magnetico, da memorie…) ma potrà farlo mediante un’interfaccia che astrae le risorse del sistema.
Il concetto di Cloud deriva dalle illustrazioni delle configurazioni di rete: la nuvola grigia, la cloud,  è l’idea di un sistema di cui non si conoscono i meccanismi di funzionamento ma che permette l’invio e la ricezione dei dati.

Generalmente il fornitore di servizi, che mette a disposizione l’infrastruttura cloud, colloca un gruppo di server configurati in modo di garantire un’alta affidabilità e la scalabilità.
Gli utenti dei servizi sono di due tipi: il primo insieme contiene coloro che configurano i servizi, implementando ad esempio il software, e il secondo comprende gli utilizzatori finali che accedono alle applicazioni implementate dai primi utenti.
[ad#midarticlequadr]
L’alta affidabilità è tipicamente una delle funzionalità che gli utenti richiedono da un servizio di cloud computing; inoltre quando si costruisce una cloud si deve tenere anche in considerazione la scalabilità. Inizialmente sia l’alta affidabilità sia la scalabilità introducono complessità  nella progettazione di una cloud, tuttavia permettono di ridurre successivamente i problemi derivanti da rotture hardware o problemi software consentendo anche di aumentare la capacità della cloud rapidamente.

Il cloud computing viene usato oggi principalmente per fornire Web Service. L’architettura cloud si adatta molto bene ai Web Service: per esempio le interfacce di accesso alle risorse possono essere usate come le interfacce di utilizzo del servizio web.
Coloro che mettono a disposizione i servizi di cloud computing decidono anche i metodi di pagamento: tra cui on-demand instance (una specie di pay per use) dove si paga in base all’uso delle risorse oppure un prezzo fisso annuale.
Inoltre spesso è anche previsto un costo per il trasferimento dati che si differenza in base ai terabyte in uscita dalla cloud e in entrata.

Alcuni ipotizzano che il cloud computing possa portare nuovamente al passato quando c’era un mainframe (un calcolatore molto potente) che gestiva una serie di terminali (dummy terminals) collegati ad esso e i programmi uniti alla capacità di calcolo risiedevano nel computer centrale.
Mediante il cloud computing si potrebbe trasferire sia lo storage sia l’attività di calcolo nella cloud cosicché gli utenti potrebbero accedervi utilizzando dispositivi con ridotte funzionalità e potenza (cellulari, smartphone, thin client…).

Da tutto ciò si possono intuire alcune problematiche sul cloud computing: è necessario gestire bene la batteria di server con risorse eterogenee, possono sorgere dei problemi relativi alle licenze software e bisogna garantire la protezione dei dati.
Per risolvere queste questioni i maggiori produttori di hardware si sono già attivati per offrire soluzioni per la semplificazione della gestione della cloud nonché per riuscire a massimizzare le performance e migliorare l’efficienza del cloud computing.

Ecco una breve esposizione di alcuni servizi e tecnologie collegate al cloud computing:

Amazon Web Services (AWS)

E’ un collettore di vari servizi di infrastruttura (infrastructure services) che raccoglie Amazon Elastic Compute Cloud un servizio che fornisce una istanza (una macchina virtuale) che può scalare facilmente, Amazon Simple Storage Service (Amazon S3) una sorta di servizio di backup remoto, …

Amazon Elastic Compute Cloud

E’ una delle proposte di infrastructure services di cloud computing più note.

Prevede un costo sia per il traferimento dei dati sia per l’uso delle risorse. All’utente sono assegnate una o più istanze (Amazon Machine Images (AMIs)) che possono ospitare uno dei seguenti sistemi operativi preconfigurati: Red Hat Enterprise Linux, Windows Server 2003, Oracle Linux, OpenSolaris, openSuse, Ubuntu, Fedora, Gentoo e Debian.
Le Amazon Machine Images sono una sorta di template (tipo O.S template in OpenVZ).
Amazon Elastic Compute Cloud mette a disposizione del software come i database: Oracle 11g, MYSQL Enterprise (Oracle e Mysql non richiedono supplementi di prezzo), Microsoft SQL Server Standard 2005, IBM DB2 e IBM Informix Dynamic Server. Non solo i database sono già promti all’uso ma c’è anche Apache, IIS, Application Server, JBoss…

Windows Azure

Windows Azure è il nome attribuito da Microsoft a un sistema operativo creato appositamente per funzionare in una cloud. fino ad ora non si sa molto riguardo a questo progetto ambizioso ma probabilmente si baserà su Windows Server.

windows

Articolo precedente

Windows Server Core
storage

Articolo successivo

Assemblare un server economico