OpenStack

Da Wikipedia, l'enciclopedia libera.
OpenStack
Ultima versione 2014.1.1 ("IceHouse") (9 giugno 2014)
Sistema operativo Linux
Linguaggio Python
Genere Cloud computing
Licenza Apache License
(Licenza libera)
Sito web openstack.org

OpenStack è un progetto IaaS cloud computing di Rackspace Cloud e NASA. A oggi oltre 200 società si sono unite al progetto tra cui Arista Networks, AT&T, AMD, 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[modifica | modifica wikitesto]

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 | modifica wikitesto]

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 | modifica wikitesto]

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 replicazione 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 replicazione e distribuzioni dei dati sulle differenti unità via software, si può utilizzare hardware commerciale senza dover ricorrere a costose soluzioni proprietarie.

Block Storage (Cinder)[modifica | modifica wikitesto]

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 and VNX), GlusterFS, Hitachi Data Systems, IBM Storage (Storwize family, SAN Volume Controller, XIV Storage System, e GPFS), Linux LIO, NetApp, Nexenta, Scality, SolidFire, HP (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 degli snapshot fornisce funzionalità per il backup dei dati memorizzati su volumi su block storage. Gli snapshot possono essere ripristinati o utilizzati per creare nuovi volumi di storage a blocchi.

Networking (Neutron)[modifica | modifica wikitesto]

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 | modifica wikitesto]

OpenStack Dashboard (Horizon) fornisce una 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[modifica | modifica wikitesto]

  1. ^ Dell OpenStack-Powered Cloud Solution, Content.dell.com. URL consultato il 23 ottobre 2012.
  2. ^ HP Announces Support for OpenStack, H30507.www3.hp.com, 27 luglio 2011. URL consultato il 23 ottobre 2012.
  3. ^ IBM supports OpenStack (Computerworld), Computerworlduk.com. URL consultato il 23 ottobre 2012.
  4. ^ NetApp and OpenStack Foundation, NetApp.com. URL consultato il 19 novembre 2014.
  5. ^ Oracle Sponsors OpenStack Foundation; Offers Customers Ability to Use OpenStack to Manage Oracle Cloud Products and Services, morningstar.com, 10 dicembre 2013. URL consultato l'11 dicembre 2013.
  6. ^ Companies » OpenStack Open Source Cloud Computing Software, Openstack.org. URL consultato il 7 gennaio 2013.

Voci correlate[modifica | modifica wikitesto]

Altri progetti[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]

Documentazione[modifica | modifica wikitesto]