OpenStack
OpenStack software | |
---|---|
![]() | |
Genere | Cloud computing |
Data prima versione | 21 ottobre 2010 |
Ultima versione | 2017.2.0 ("Ocata") (22 Febbraio 2017) |
Sistema operativo | Linux |
Linguaggio | Python |
Licenza | licenza Apache 2.0 (licenza libera) |
Sito web | www.openstack.org/ |
OpenStack (O~S) è un progetto IaaS (Infrastructure-as-a-Service) cloud computing di Rackspace Cloud e NASA. A oggi oltre 200 società si sono unite al progetto tra cui Arista Networks, AT&T, AMD, Avaya, Brocade Communications Systems, Canonical, Cisco Systems, Dell[1], EMC, Ericsson, F5 Networks, Groupe Bull, Hewlett-Packard[2], IBM[3], Inktank, Intel, NEC, NetApp[4], Nexenta, Rackspace Hosting, Red Hat, SUSE Linux, VMware, Oracle[5] e Yahoo!.[6]
OpenStack è un software libero open source rilasciato sotto licenza Apache che integra il codice dalla piattaforma della NASA Nebula e dalla piattaforma Rackspace.
Componenti
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)
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)
OpenStack Object Storage (Swift) è un sistema di storage scalabile e ridondante. Gli oggetti e i files 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)
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)
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)
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.
Note
- ^ Dell OpenStack-Powered Cloud Solution, su content.dell.com. URL consultato il 23 ottobre 2012.
- ^ HP Announces Support for OpenStack, su h30507.www3.hp.com, 27 luglio 2011. URL consultato il 23 ottobre 2012.
- ^ IBM supports OpenStack (Computerworld), su computerworlduk.com. URL consultato il 23 ottobre 2012.
- ^ NetApp and OpenStack Foundation, su netapp.com. URL consultato il 19 novembre 2014.
- ^ 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.
- ^ Companies » OpenStack Open Source Cloud Computing Software, su openstack.org. URL consultato il 7 gennaio 2013.
Voci correlate
- OpenNebula
- IEEE 802.1aq (Shortest Path Bridging)
Altri progetti
Wikimedia Commons contiene immagini o altri file su OpenStack
Collegamenti esterni
- (EN) Sito ufficiale, su openstack.org.
- (EN) Blog ufficiale, su openstack.org.
- OpenStack, su packages.debian.org.
- (EN) Mirrors of opendev.org/openstack, su GitHub.
- Repository sorgenti di OpenStack, su opendev.org.
- (EN) Sito di segnalazione bug, su bugs.launchpad.net.