Storia del computing dai mainframe al cloud computing

Con continui riferimenti e pubblicità a prodotti basati sul cloud computing, ai non addetti ai lavori potrebbe sembrare che il paradigma cloud sia la soluzione, spuntata improvvisamente dal nulla, a tutti i problemi che possono affliggere il reparto IT. In precedenza ho analizzato vantaggi e svantaggi del cloud computing, in questo articolo vorrei soffermarmi sulle origini tecnologiche del cloud computing, per cercare di rispondere al seguente interrogativo: a livello tecnologico, il cloud computing è un “rebrand” di tecnologie mature, già ampiamente utilizzate, oppure è una nuova tecnologia?

Per rispondere alla domanda è bene tornare indietro di qualche decennio, anche per poter fare parallelismi con le architetture utilizzate in passato.

Agli albori dell’era computazionale, nei CED erano collocati enormi mainframe; chi volesse farne uso doveva prenotarne l’utilizzo, recarsi al CED con una scatola piena di schede perforate (sulle quali era registrato il programma da far eseguire) ed attendere i risultati. Quando il costo dei componenti elettronici iniziò a calare, dai grossi ed esosi mainframe si passò ai MiniComputer (mini per l’epoca, ovviamente) ed anche le medie aziende e le università iniziarono a potersi permettere un proprio calcolatore.  La Digital Equipment Corp. (DEC) fu la pioniera, con la produzione dei gloriosi sistemi PDP.

PDP  8

Con l’avvento dei minicomputer i programmi non potevano più essere eseguiti in batch, ed i progettisti iniziarono anche ad affrontare nuovi problemi, causati dalla necessità di gestire l’esecuzione contemporanea di più programmi (multitasking) e l’accesso di più utenti; i problemi furono risolti adottando algoritmi di Timesharing.

Televideo TerminalE’ bene sottolineare che il paradigma di comunicazione utilizzato in quegli anni (siamo negli anni ’70-’80) non era client/server, perché i terminali, dai quali gli utenti avevano accesso al mainframe/minicomputer, erano solo un mero rimpiazzo delle schede perforate e delle stampanti ad aghi: un terminale non faceva altro che fornire una tastiera ed un monitor in una stanza che non fosse quella in cui erano ubicati rack del mainframe.

Avvicinandosi ai nostri giorni, negli anni ’80 affiora il termine personal computer e nelle aziende inizia a sorgere il problema di come poter condividere facilmente risorse tra i pc in dotazione ai dipendenti: sale in auge l’architettura client/server e si inizia a parlare di file server, server di stampa, server di autenticazione, etc.

Con l’arrivo delle connessioni dialup, le aziende hanno potuto iniziare ad interconnettere le proprie filiali in modo semplice e le compagnie telefoniche hanno iniziato ad avere a listino servizi a valore aggiunto per le aziende e per gli utenti finali.  La prima azienda a configurarsi come ISP è stata Prodigy, azienda nata sotto le ali protettive di AT&T e della CBS nel 1984, che forniva un accesso dialup e diversi servizi: meteo, news, forum di discussione (BBS), email, servizi bancari, online shopping e pubblicità.

Prodigy service - 1992

Prodigy basò tutta la sua strategia aziendale sull’online shopping, ma l’impossibilità per i potenziali clienti di avere immagini realistiche delle merci, a causa della grafica adottata (dalla foto potete rendervi conto di come il linguaggio grafico NAPLPS produca pagine praticamente identiche a quelle dell’attuale Televideo), decretò il fallimento dell’operazione, con il conseguente passaggio a metodi di pagamento per abbonamento.

 

L’aumentare della banda disponibile per i collegamenti e l’avvento del Web porta alla nascita dei primi Application Service Provider (ASP), ovvero delle prime aziende che fornivano applicazioni accessibili tramite accesso remoto. Tra gli ASP troviamo Citrix che, nel 1995, presenta al pubblico Citrix WinFrame: un sistema operativo basato su WindowsNT 3.51 al quale era stata aggiunta la possibilità di essere utilizzato in multiutenza (ritorna l’impiego dei terminali, ma questa volta si tratta di utilizzare sul PC un software che funge da terminale virtuale). Microsoft fiuta le potenzialità del prodotto di Citrix e decide di non concedere più in licenza i sorgenti di WinNT 4, scegliendo di dare vita al noto Microsoft Terminal  Services.

I tempi, però, non erano ancora maturi e le soluzioni proposte da Citrix e Microsoft non ebbero il successo sperato sia a causa dei costi delle licenze, sia per le stesse ragioni che oggi spingono a guardare con diffidenza il cloud computing (proprietà dei dati, qualità del servizio, etc).

Accantonata l’idea di fare uso massivo dei servizi sviluppati dagli ASP, Connectix prima, VMWare poi, presentano alle aziende i loro prodotti per la virtualizzazione. VMWare Workstation ed ESX Server fanno il loro esordio a cavallo degli anni 2000 e vengono accolti positivamente dalle aziende, che vedono nella virtualizzazione la possibilità concreta di ottimizzare l’infrastruttura IT ed abbassare il TCO. Proprio la virtualizzazione è uno dei pilastri su cui poggiano i servizi di cloud computing attualmente erogati dai provider mondiali.

In ambito prettamente software, agli inizi del terzo millennio nasce l’idea di una nuova architettura in cui l’infrastruttura software è vista come un insieme di servizi organizzati per concorrere allo stesso obiettivo; l’architettura in oggetto viene giustamente chiamata Service Oriented Architecture (SOA). Nel corso del passato decennio l’architettura SOA viene completamente definita ed il consorzio OASIS standardizza i linguaggi ed i protocolli che ne sono alla base (SOAP, WSDL, UDDI, WS-*, etc).

Software SOA Architecture

Il paradigma SOA è stato ed è tutt’ora adottato da molti vendor, per gli indubbi vantaggi che l’architettura porta con se.

La fusione tra le tecnologie di virtualizzazione ed il paradigma SOA ha permesso lo sviluppo di applicativi altamente portabili e ad architettura distribuita, oltre alla possibilità di interconnettere ed utilizzare facilmente software eterogenei ed eventualmente gestiti da altre aziende. Le potenzialità delle infrastrutture cloud, quindi, sono possibili solo grazie all’applicazione di quanto descritto; a questo punto possiamo facilmente rispondere alla domanda iniziale: le infrastrutture cloud non fanno altro che utilizzare tecnologie mature e sviluppate nell’ultimo decennio.

N.B. Questo articolo era stato pubblicato nel 2011 su MyCloudBeans ( http://www.mycloudbeans.com/content/cloud-computing-rebrand-o-nuova-tecnologia-breve-storia-del-computing-dai-mainframe-al-cloud ), blog tematico che curavo in precedenza. Nel corso degli anni, l’articolo è stato citato in diverse tesi universitarie, paper e presentazioni e, pertanto, ho ritenuto utile ripubblicarlo.

Ecco alcune tesi in cui risulta citato l’articolo: