OpenStack

software libero di gestione del cloud computing

OpenStack (a volte indicato come O~S) è una suite software per l'allestimento e la gestione di piattaforme cloud IaaS. [1]

OpenStack
software
Logo
Logo
GenereCloud computing
Data prima versione21 ottobre 2010
Ultima versione2023.2 Bobcat (4 ottobre 2023)
Sistema operativoLinux
LinguaggioPython
LicenzaApache 2.0
(licenza libera)
Sito webwww.openstack.org/

È un software libero open source rilasciato sotto licenza Apache che integra il codice dalla piattaforma della NASA Nebula e dalla piattaforma Rackspace. A oggi oltre 500 società si sono unite al progetto tra cui Arista Networks, AT&T, AMD, Avaya, Brocade Communications Systems, Canonical, Cisco Systems, Dell[2], EMC, Ericsson, F5 Networks, Groupe Bull, Hewlett-Packard[3], IBM[4], Inktank, Intel, NEC, NetApp[5], Nexenta, Rackspace Hosting, Red Hat, VMware, Oracle[6] e Yahoo!.[7]

Componenti

modifica
 

L'architettura di Openstack è suddivisa nei seguenti moduli:

  • OpenStack Compute (nome in codice Nova)
  • OpenStack Object Storage (nome in codice Swift)
  • OpenStack Image Service (nome in codice Glance)
  • OpenStack Identity (nome in codice Keystone)
  • OpenStack Dashboard (nome in codice Horizon)
  • OpenStack Networking (nome in codice Neutron, precedentemente Quantum)
  • OpenStack Block Storage (nome in codice Cinder)

Compute (Nova)

modifica

OpenStack Compute (Nova) è un controller per il cloud computing (la parte principale di un sistema IaaS). È scritto in Python e usa molte librerie esterne quali Eventlet (per la programmazione concorrente), Kombu (per la comunicazione AMQP), e SQLAlchemy (per l'accesso al database).

L'architettura di Compute è progettata per scalare orizzontalmente su hardware standard senza particolari requisiti software o hardware proprietari e di fornire la capacità di integrarsi con i sistemi legacy e tecnologie di terze parti. È stato progettato per gestire e automatizzare il pool di risorse del computer e può funzionare con tecnologie di virtualizzazione ampiamente utilizzate, come pure in configurazioni bare-metal e high-performance computing (HPC). Ad esempio KVM e XenServer sono scelte disponibili come hypervisor.

Object Storage (Swift)

modifica

OpenStack Object Storage (Swift) è un sistema di storage scalabile e ridondante. Gli oggetti e i file sono memorizzati su diversi dischi distribuiti su diversi server nel centro di calcolo. OpenStack si fa carico del compito di assicurare la replica e l'integrità dei dati all'interno del cluster. Il cluster di storage può scalare orizzontalmente semplicemente aggiungendo nuovi server. In caso di guasto ad un server o ad un disco, OpenStack replica i contenuti dai nodi ancora attivi in altri dischi e/o server, al fine di mantenere il livello di affidabilità e ridondanza configurati. Dato che OpenStack effettua le operazioni di replica e distribuzione dei dati sulle differenti unità via software, si può utilizzare hardware commerciale senza dover ricorrere a costose soluzioni proprietarie.

Block Storage (Cinder)

modifica

OpenStack Block Storage (Cinder) fornisce uno storage persistente a livello di dispositivi a blocchi per il loro utilizzo da parte delle istanze di OpenStack Compute. Il sistema di storage a blocchi gestisce la creazione, il collegamento e lo scollegamento dei dispositivi a blocchi ai server. I volumi del block storage sono pienamente integrati con OpenStack Compute e con la Dashboard, permettendo agli utenti di gestire i loro dispositivi di storage. In aggiunta ai sistemi locali di storage usuali di Linux, Cinder può utilizzare piattaforme di storage quali Ceph, CloudByte, Coraid, EMC (ScaleIO, VMAX e VNX), GlusterFS, Hitachi Data Systems, IBM Storage (Storwize family, SAN Volume Controller, XIV Storage System, e GPFS), Linux LIO, NetApp, Nexenta, Scality, SolidFire, HPE (StoreVirtual e 3PAR StoreServ families) e Pure Storage. Block Storage è particolarmente indicato per ottenere buone performance in casi quali lo storage di database, file system espandibili o per fornire ai server un accesso a storage raw block level. La gestione delle snapshot fornisce funzionalità per il backup dei dati memorizzati su volumi su block storage. Le snapshot possono essere ripristinate o utilizzate per creare nuovi volumi di storage a blocchi.

Networking (Neutron)

modifica

OpenStack Networking (Neutron, in precedenza Quantum) è un sistema per la gestione delle reti e degli indirizzi IP. OpenStack Networking assicura che la rete non sarà il collo di bottiglia o fattore limitante in un cloud e offre agli utenti una reale gestione self-service anche delle loro configurazioni di rete.

OpenStack Networking fornisce differenti modelli di rete per le diverse applicazioni o i gruppi utente. I modelli standard includono flat networks o VLAN per la separazione del traffico. OpenStack Networking gestisce gli indirizzi IP, consentendo l'assegnazione di indirizzi IP statici dedicati oppure tramite DHCP.

I floating IP sono indirizzi che consentono di reindirizzare il traffico in modo dinamico a qualsiasi risorsa di calcolo gestita da OpenStack, questa caratteristica può essere utile in caso di manutenzione programmata o in caso di guasto. Gli utenti possono creare le proprie reti, controllare il traffico e collegare server e dispositivi per una o più reti.

Gli amministratori possono sfruttare la tecnologia SDN come OpenFlow per consentire elevati livelli di multi-tenancy e massive scale. OpenStack Networking ha un extension framework che consente la messa in campo e la gestione di servizi di rete aggiuntivi, come IDS, bilanciamento del carico, firewall e VPN.

Dashboard (Horizon)

modifica

OpenStack Dashboard (Horizon) fornisce un'interfaccia grafica, sia per gli amministratori che per gli utenti, per l'accesso e la gestione delle risorse fornita dalla cloud. Horizon può integrarsi con prodotti e servizi di terze parti utili per la fatturazione, il monitoraggio e altri strumenti di gestione. La dashboard si può modificare nell'aspetto, funzionalità particolarmente utile per i fornitori di servizio e operatori commerciali che forniscono istanze di OpenStack. Horizon è solo uno dei vari metodi con cui si può interagire con le risorse fornite da OpenStack. Gli sviluppatori possono automatizzare l'accesso o realizzare strumenti per la gestione delle risorse usando la API native di OpenStack o la API per la compatibilità con EC2.

  1. ^ (EN) Homepage del progetto OpenStack, su openstack.org. URL consultato il 1º agosto 2023;
    Cosa offre OpenStack, su redhat.com, RedHat. URL consultato il 1º agosto 2023;
    (EN) What is OpenStack?, su ubuntu.com, Canonical. URL consultato il 1º agosto 2023.
  2. ^ Dell OpenStack-Powered Cloud Solution, su content.dell.com. URL consultato il 23 ottobre 2012.
  3. ^ HP Announces Support for OpenStack, su h30507.www3.hp.com, 27 luglio 2011. URL consultato il 23 ottobre 2012 (archiviato dall'url originale il 14 febbraio 2014).
  4. ^ IBM supports OpenStack (Computerworld), su computerworlduk.com. URL consultato il 23 ottobre 2012.
  5. ^ NetApp and OpenStack Foundation, su netapp.com. URL consultato il 19 novembre 2014.
  6. ^ Oracle Sponsors OpenStack Foundation; Offers Customers Ability to Use OpenStack to Manage Oracle Cloud Products and Services, su news.morningstar.com, morningstar.com, 10 dicembre 2013. URL consultato l'11 dicembre 2013 (archiviato dall'url originale il 30 dicembre 2017).
  7. ^ Companies » OpenStack Open Source Cloud Computing Software, su openstack.org. URL consultato il 7 gennaio 2013.

Voci correlate

modifica

Altri progetti

modifica

Collegamenti esterni

modifica

Documentazione

modifica
  • (EN) nova, su nova.openstack.org.
  • (EN) swift, su swift.openstack.org.
  • (EN) glance, su glance.openstack.org.
  • (EN) doc, su docs.openstack.org.