Cloud: quale futuro per l’architettura x86?

E’ il 1976 l’anno in cui inizia l’ascesa di Intel e dell’architettura x86 nel mondo IT e, diversi decenni dopo, nel cloud: l’azienda di Santa Clara presentava infatti al mondo l’Intel 8086, un processore a 16bit. Era solo l’inizio: con il passare degli anni, l’inarrestabile avanzata tecnologica portò sul mercato nuove famiglie di chip x86 sempre più veloci e performanti: 286, 386, 486, i Pentium, la gamma Xeon e via dicendo. Attualmente il mercato dei server ed il cloud sono dominati da Intel e della soluzioni x86, giunte ormai alla settima generazione. Perchè?

Semplicemente perchè la modalità di distribuzione dei servizi cloud più diffusa è l’IaaS (Infrastructure as a Service),  alla quale fanno riferimento le principali piattaforme cloud pubbliche del mondo (AWS, Azure, Google Cloud Platform etc.) . Un ambiente IaaS è ideale per accogliere workload on premise, basati sui colladuti sistemi x86. Certo, il processo di migrazione è una procedura delicata alla quale devono seguire alcuni immancabili aggiustamenti (es: sistemi per la gestione della sicurezza e degli accessi) ma, in generale, un workload trasferito nella nuvola funzionerà in maniera speculare a quanto avviene nel “data center aziendale”.

Il PaaS (Platform as a Service) è un modello che offre una differente filosofia di fruizione: l’accesso passa infatti dal livello delle VM al livello delle API, application programming interface. Il corrispettivo da pagare è calcolato di conseguenza in base al numero di utilizzi (call) delle API piuttosto che a quello delle risorse consumate (IaaS). Cambia anche “la struttura stessa” delle applicazioni che, a differenza di quelle migrate da ambienti on premise alla nuvola, sono state programmate e pensate per la nuvola – sono quindi nate nel cloud e scritte con linguaggi di programmazione astratti utilizzando API che non fanno alcun riferimento diretto alle architetture dei sistemi ed ai set di istruzioni x86.

Container e x86

vm_container

VM e container a confronto: la struttura delle prime è molto più complessa di quella dei container

La conteinerizzazione, secondo tassello del discorso, è una tecnologia di transizione tra la virtualizzazione completa IaaS e l’approccio PaaS. Per essere più precisi i container sono un elemento imprescindibile per la realizzazione di applicazioni PaaS. Abbiamo avuto modo di vedere quali vantaggi offrono i container in uno dei nostri precedenti post ma riassumendo: tempi di avvio ridotti rispetto alle VM, maggiore isolamento, possibilità di utilizzare una distribuzione differente da quella dell’host, formato differente delle applicazioni (sono “pacchetti” simili ad un archivio compresso ZIP) che non necessitano di procedure di configurazione aggiuntive, gestione semplificata degli aggiornamenti.

Il crescente successo dei container e di Docker, nome della startup e del “formato” container che ha rilanciato una tecnologia non nuova ma che sembrava essersi persa lungo il cammino, suggeriscono che il mondo IT apprezza indubbiamente le possibilità offerta dalla containerizzazione – parallelamente alla quale si è sviluppato un vivace ecosistema di applicazioni dedicate ad esempio all’orchestrazione dei container, tra le più famose va ricordata sicuramente Kubernetes. Linux e Unix sono già da diverso tempo ottimizzati per sfruttarli e ben presto anche Microsoft si è unita alla schiera di supporter dei container – Windows Server 2016 offre diverse possibilità di deploy.

Applicazioni cloud ed ARM

Il terzo tassello del discorso è legato alle applicazioni cloud native ed ARM. E’ probabile che nell’immediato futuro le “app cloud” finiranno con l’essere la tipologia dominante: queste ultime sono agnostiche dal punto di vista architetturale, non devono essere per forza eseguite su sistemi x86 perchè non ne condividono i set di istruzioni. Diversi addetti ai lavori si chiedono a tal proposito se l’architettura x86, ormai sulla scena da decenni e caratterizzata, nonostante l’opera di svecchiamento, da elementi inevitabilmente obsoleti o antiquati, sia ancora la soluzione ideale per rispondere alle nuove sfide di un mondo IT sempre più orientato al cloud ed alla containerizzazione.

Il ritorno sulla scena di ARM, del quale abbiamo parlato in un precedente approfondimento, sembra rispondere a tutti coloro che desiderano a gran voce l’arrivo di un nuovo paradigma architetturale destinato a tagliare i legami con l’obsoleto mondo x86. Le potenzialità dei chip ARM sono state ribadite più volte: efficienza energetica, elevato rapporto prezzo/prestazioni. Sebbene le proposte Intel siano migliorate dal punto di vista dei consumi, restano sempre indietro rispetto ad ARM – e molto più costose a parità di configurazioni server. Data center ad alta densità ed a basso costo sono non il sogno ma il modello al quale puntano tutti i principali cloud provider a livello globale. Ed ARM, in base a quanto visto, potrebbe essere uno degli indiscussi protagonisti del cloud di domani, una nuvola in cui container, PaaS ed ARM avranno preso il posto di soluzioni x86 ed IaaS, che finiranno per essere impiegate solo nella gestione di wokload vecchi o di nicchia.

Fonte: 1