Introduzione ad OpenStack – 1

OpenStack

 

OpenStack è la piattaforma di cloud computing opensource nata da un progetto supervisionato da NASA e Rackspace nel 2010 – due anni dopo venne istituita una fondazione non-profit (OpenStack Foundation). Ad oggi, facendo riferimento ad alcuni dati resi noti nel corso del summit svoltosi a Tokyo nell’ottobre 2015, è possibile affermare che si tratta della piattaforma più popolare del mercato con circa 50 compagnie che contribuiscono mensilmente allo sviluppo del progetto e 4000 sviluppatori attivi in tutto il mondo – Cloudstack, soluzione alternativa che più si avvicina ad OpenStack, resta a quota 327.

Nella prima parte della nostra breve guida introduttiva, prendendo spunto da un’intervista pubblicata dal portale Opensource.com, inzieremo a parlare di OpenStack e dei suoi componenti principali, senza addentrarci troppo in questioni tecniche (necessiterebbero di un intero sito dedicato).

Che cos’è OpenStack ed a chi si rivolge

Come anticipato in apertura, si tratta di una piattaforma cloud scritta in Python e pensata per la gestione dei pool di computazione, dello storage e delle risorse di rete attraverso CLI (command line interface o interfaccia a riga di comando) o interfaccia web. Il sistema operativo al quale si appoggia OpenStack è Linux con le sue numerose varianti (RHEL di RedHat, SUSE, Ubuntu etc.).

Come infrastruttura, OpenStack consente di creare degli ambienti nei quali è possibile variare in tempo reale le risorse allocate, che non restano quindi limitate ad una singola location: Big Data, servizi web in generale, NFV (Network Function Virtualization) per provider sono alcuni degli ambiti in cui viene impiegata la piattaforma opensource.

Componenti chiave di OpenStack e relative funzionalità

La piattaforma si aggiorna due volte all’anno: ciascuna release non è indicata da un numero, bensì da un nome specifico (es: la prima versione del 2016 sarà Mitaka). I componenti chiave dell’infrastruttura riguardano i processi computazionali, lo storage ed il networking e sono quindi definibili come il “cuore” del progetto:

  • Computazione
    Nova: mette a disposizione VM (macchine virtuali) in tempo reale (on demand).
  • Storage
    Swift: mette a disposizione un sistema di storage scalabile che supporta l’object storage (una specifica architettura storage che gestisce i dati come “oggetti”)
  • Networking
    Neutron: mette a disposizone una serie di API, plugin e software di autorizzazione ed autenticazione per l’orchestrazione e l’interoperabilità di dispositivi di rete in ambienti IaaS.

I restanti componenti sono collocabili invece nella categoria “shared services” della quale parleremo nella prossima puntata.