|Lingua =
}}
'''OpenStack (O~S)''' è un progetto IaaS (Infrastructure-as-a-Service) [[cloud computing|''cloud computing'']] di [[Rackspace Cloud]] e [[NASA]]. A oggi oltre 200 società si sono unite al progetto tra cui Arista Networks, [[AT&T]], [[Advanced Micro Devices|AMD]], [[Avaya]], Brocade Communications Systems, [[Canonical Ltd.|Canonical]], [[Cisco Systems]], [[Dell]]<ref>{{Cita web|url=http://content.dell.com/us/en/enterprise/by-need-it-productivity-data-center-change-response-openstack-cloud |titolo=Dell OpenStack-Powered Cloud Solution |editore=Content.dell.com |data= |accesso=23 ottobre 2012}}
</ref>, [[EMC Corporation|EMC]], [[Ericsson]], F5 Networks, [[Groupe Bull]], [[Hewlett-Packard]]<ref>
{{Cita web|url=http://h30507.www3.hp.com/t5/Data-Central/HP-Announces-Support-for-OpenStack/ba-p/96283 |titolo=HP Announces Support for OpenStack |editore=H30507.www3.hp.com |data=27 luglio 2011 |accesso=23 ottobre 2012}}
=== 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 d''ashboardDashboard'', 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 archiviazionestorage 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 banche datidatabase, 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 [[Indirizzo IP|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 network''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 [[Software defined network|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 [[Intrusion detection system|IDS]], [[Load balancing|bilanciamento del carico]], [[firewall]] e [[Virtual Private Network|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 [[Amazon Elastic Compute Cloud|EC2]].
== Note ==
|