OpenStack è tra i sistemi operativi cloud in più rapida crescita. Tuttavia, la parola è estremamente confusa e molte persone non hanno la vera idea dietro.

In questo articolo proviamo a sezionare la tecnologia alla base di OpenStack e come è nata. Ma prima di immergerci a fondo in OpenStack, dobbiamo comprendere a fondo alcuni aspetti della tecnologia dietro OpenStack chiamata Virtualization.

Fonte immagine: pixabay.com

Cos'è la virtualizzazione?

La virtualizzazione è una tecnologia che ci consente di creare istanze virtuali della controparte del mondo reale. Ad esempio, una vera macchina fisica verrebbe creata in macchine virtuali. Le macchine virtuali sono solo un'implementazione virtuale delle tue macchine reali.

Un'analogia può essere tracciata sugli emulatori. Le macchine virtuali agiscono più dello stesso tipo, ma invece di emulare i giochi, emulano un'intera macchina.

La tecnologia che agisce dietro la virtualizzazione e consente la creazione di istanze virtuali è chiamata hypervisor. Ora tutte le macchine virtuali vengono eseguite su una macchina fisica.

Le macchine virtuali in sé possono essere di qualsiasi tipo di macchina con una data configurazione, tuttavia, devono essere inferiori a quelle della macchina su cui si sta generando. Quello che fa l'hypervisor è che colma il divario tra il kernel della macchina fisica e il kernel della macchina virtuale.

Cattura le chiamate di sistema, converte il codice operativo del linguaggio a livello di macchina, lo elabora e quindi lo trasforma nel codice operativo che sarebbe successivamente compreso dalla macchina virtuale.

La macchina su cui viene "generata" o creata una macchina virtuale è chiamata macchina Host. La macchina virtuale che viene generata o creata dall'hypervisor sulla macchina host è chiamata Macchina ospite.

Allo stesso modo, il sistema operativo in esecuzione sul computer host è chiamato sistema operativo host e il sistema operativo in esecuzione sul computer guest è chiamato sistema operativo guest.

La macchina host e i sistemi operativi host sono sempre significativamente potenti rispetto alla macchina guest e ai sistemi operativi guest. Questo perché l'hardware effettivo che fornisce la potenza di elaborazione risiede solo nella macchina host.

L'hypervisor è inoltre installato sul computer host in cui svolge la maggior parte delle sue operazioni, sfruttando la potenza del sistema operativo host stesso. La macchina virtuale utilizza l'hypervisor per ottenere l'accesso ad alcuni componenti hardware della macchina host effettiva.

Il ruolo dell'hypervisor è quello di fornire alla macchina virtuale l'hardware virtuale richiesto. Le macchine virtuali generate dall'hypervisor generalmente non hanno idea di essere virtuali.

L'hardware richiesto viene fornito durante la generazione della macchina virtuale. Una volta generata, in una rete reale, la macchina virtuale sarebbe trattata come un singolo nodo.

Tipi di hypervisor

Gli hypervisor sono divisi in due tipi principalmente:

Tipo 1: hypervisor nativo o bare metal:

Questi hypervisor funzionano direttamente sull'hardware dell'host e hanno una stretta integrazione con il kernel host. Gestiscono direttamente i sistemi operativi guest e le macchine virtuali generate appaiono come un processo. Sono anche chiamati hypervisor bare metal. Esempi includono Citrix, XenServer e VMW sono ESX / ESXi.

Tipo 2: hypervisor ospitati:

Questi hypervis0or vengono eseguiti come programma normalmente installato nei sistemi operativi host. Generano una macchina virtuale e le astraggono dal sistema operativo host. Un'analogia può essere tracciata sugli emulatori di gioco. Gli esempi includono QEMU, VirtualBox e VMWare Workstation.

Esiste anche un terzo tipo di hypervisor ibrido come KVM (Kernel based Virtual Machine) che, sebbene eseguito come un programma tipico, ma in esecuzione, viene strettamente integrato con il kernel e successivamente con l'hardware del computer host.

KVM è forse l'hypervisor open source più famoso e per OpenStack, KVM è ampiamente utilizzato. Tutti questi hypervisor funzionano creando qualcosa chiamato immagini.

Queste immagini sono la copia di replica di un sistema operativo installato o di un sistema operativo personalizzato con requisiti speciali del kernel. Successivamente, quando l'utente utilizza l'immagine, la modifica in base ai dati memorizzati dal cliente.

Questo spazio di archiviazione viene nuovamente gestito dall'hypervisor, che vede che i dati del cliente vengono conservati ed è presente esattamente nello stesso stato in cui era prima che l'utente lo lasciasse.

La virtualizzazione era necessaria per consentire un uso efficiente dell'hardware. Soprattutto per gli operatori di data center cloud, la virtualizzazione è stata un vantaggio. Utilizzando diversi tipi di hypervisor, i fornitori di cloud hanno rapidamente utilizzato la virtualizzazione per generare macchine virtuali, switch virtuali, router virtuali e altre istanze virtuali di hardware.

Li hanno ulteriormente integrati da vicino per creare qualsiasi tipo di rete o macchina come richiesto dai clienti. Utilizzando la virtualizzazione, un operatore del data center potrebbe stabilire più macchine anziché una sola.

E poiché il cloud si basa sul noleggio della tua potenza di calcolo, il modello di entrate è aumentato sostanzialmente noleggiando diverse macchine virtuali anziché una singola macchina fisica.

Aumentava anche la riusabilità, poiché la macchina virtuale che non veniva utilizzata poteva essere affittata ad altri clienti. Quindi la virtualizzazione stava dominando e modificando le regole del data center.

Invece di acquistare un intero hardware a costi considerevoli, gli utenti aziendali prendevano in prestito istanze virtualizzate dell'hardware, riducendo il costo della propria infrastruttura IT.

Quindi la virtualizzazione stava facendo passi da gigante, tuttavia, gli operatori dei data center hanno dovuto affrontare un grosso problema che ha fermato i loro progressi in modo significativo e persino ridotto i loro ricavi fino al punto di dover affrontare perdite.

Il grosso problema che gli operatori dei data center non potevano visualizzare era la gestione! Mentre la virtualizzazione si evolveva e forniva istanze virtualizzate di quasi tutto l'hardware possibile, emerse la difficoltà nel processo di gestione di quelle moltitudini di hardware virtuale.

Immagina come responsabile della tua attività, vorresti 10 macchine diverse in luoghi diversi in fusi orari diversi. Ognuno di loro vorrebbe con requisiti hardware e software separati e anche, tenere traccia della quantità di dati che scorre dentro e fuori di esso.

Come operatore di data center, rispetti le richieste dei clienti e crei quelle 10 macchine virtuali. Tuttavia, immagina insieme alla creazione di quelle macchine virtuali, continui a ricevere nuove richieste per più macchine virtuali, ognuna con requisiti ancora più complessi.

Come gestiresti così tante macchine virtuali, ognuna con il proprio complesso set di requisiti e impostazioni? Inoltre, è necessario fatturare accuratamente ciascuna delle macchine virtuali che vengono noleggiate. Supponiamo che il cliente abbia esigenze di fatturazione diverse.

Per una macchina che viene utilizzata come server, la fatturazione verrebbe sulla quantità di dati che viene ricevuta dalla macchina. Per un'altra macchina, che funge da client, la fatturazione verrebbe effettuata per il periodo di tempo in cui la macchina client virtuale è accesa.

E questi requisiti sono solo per una persona. In qualità di operatore di data center, è necessario possedere migliaia e migliaia di hardware virtuale, ognuno con le proprie esigenze di rete, hardware e software.

Un'interfaccia di gestione adeguata era fondamentale per mettere l'organizzazione nel disordine che stava diventando un data center virtualizzato. Invece di utilizzare estesamente le righe di comando e gli script, era necessario un "sistema operativo cloud" ben costruito per fornire una corretta manutenzione al data center. Ed è qui che appare OpenStack nella foto.

Corsi consigliati

  • Corso online su AJAX
  • Pacchetto di formazione professionale Quick Test
  • Corso online su ExtJS
  • Pacchetto di formazione CISSP

Che cos'è OpenStack?

Come accennato all'inizio, OpenStack è essenzialmente un sistema operativo cloud. Per sistema operativo intendiamo una piattaforma software gratuita e open source per il cloud computing. È iniziato nel 2010 come progetto congiunto di Rackspace Hosting e della NASA.

Inizialmente, è stato iniziato ad affrontare questo particolare problema del data center, che era come gestire molte macchine virtuali. Da lì, è rapidamente cresciuto fino a diventare una vera e propria comunità con impegno e supporto tecnologico da parte di alcuni dei marchi più famosi in Information Technology come Oracle, VMWare, Yahoo Inc. ecc.

OpenStack è attualmente supportato dalla fondazione OpenStack, un'entità aziendale senza scopo di lucro fondata nel 2012. La sempre crescente comunità OpenStack è riuscita a rilasciare una versione migliore del loro software OpenStack ogni sei mesi in un ciclo di rilascio basato sul tempo con chiari traguardi di sviluppo in ogni delle loro pubblicazioni.

Ogni versione ha aggiunto costumi, trasformandosi da un semplice software di gestione del data center in una sofisticata piattaforma software cloud.

Ha fornito un'interfaccia per gestire quasi ogni aspetto di una macchina virtuale, dalla creazione di macchine virtuali su richiesta al clic di un pulsante alla raccolta di dati dalla rete, OpenStack si è ampiamente ramificato.

Ogni due anni, la comunità si riunisce per pianificare nuove funzionalità e supporto nel vertice di progettazione OpenStack in cui i piani di progettazione della vasta comunità OpenStack vengono rivisti e assemblati.

OpenStack consente agli utenti di assemblare e distribuire macchine virtuali in modo efficiente. Fornisce qualcosa chiamato "interfaccia utente grafica" per accedere a quasi tutte le funzioni richieste dall'utente finale.

Tornando al nostro esempio precedente, vorresti 10 macchine, ognuna con il proprio set di requisiti. Con la precedente interfaccia a riga di comando, sarebbe stato molto complicato gestire tutto da solo.

Con OpenStack, tutto ciò che dovresti fare è fare clic su alcuni pulsanti e configurare la tua macchina virtuale di conseguenza. Supponiamo quindi che se desideri una rete estesa ben costruita, puoi gestire e vedere la tua rete di computer in grafici e statistiche in tempo reale.

Se desideri funzionalità avanzate come l'analisi dei dati e il supporto del cluster HADOOP, puoi persino semplificarlo facilmente nella tua macchina virtuale. Altre funzionalità standard come archiviazione, CPU, memoria e utilizzo del core possono anche essere facilmente configurate nell'interfaccia utente grafica presentata da OpenStack.

Con OpenStack viene fornito anche il supporto per la fatturazione in tempo reale, tramite il quale è possibile tenere traccia delle statistiche di ogni macchina virtuale generata utilizzando il software. Include statistiche in tempo reale come l'utilizzo della memoria, l'utilizzo del disco, l'utilizzo del core ecc.

Inoltre, poiché OpenStack è scritto principalmente in linguaggio Python, beneficia anche degli script. Quindi anche l'automazione della gestione di migliaia di macchine virtuali è curata. Puoi scrivere uno script per dire, pianificare l'automazione della macchina virtuale quando dovrebbe essere accesa e quando sarebbe spenta.

Automatizzando in questo modo, puoi creare una piattaforma di cloud computing molto ben costruita e completa. E poiché OpenStack è completamente gratuito, chiunque può utilizzare il codice sorgente per sviluppare e aggiungere le proprie funzionalità, completamente su misura per soddisfare le proprie esigenze organizzative o personali. HP l'ha fatto rilasciando le proprie versioni di cloud chiamate HP Helion.

OpenStack, sotto la terminologia cloud, rientrerebbe nella categoria di Infrastructure as a Service (IaaS), il che significa che viene utilizzato principalmente per aiutare a costruire l'infrastruttura su cui verranno distribuite le macchine virtuali.

Semplifica essenzialmente la generazione di macchine virtuali. È su queste macchine virtuali o "piattaforme" che i clienti affittano in base alle loro esigenze.

Componenti di base di OpenStack

OpenStack si è ramificato per avere molti componenti diversi, essendo open source, è possibile aggiungere e integrare diversi componenti con il software.

Tuttavia, al centro del software, si trovano solo tre componenti base di openstack:

  1. Componente di archiviazione:

Il componente di archiviazione OpenStack è costituito da Cinder e Swift. Lo scopo principale del componente è archiviare i dati delle macchine virtuali generate e funzionanti.

  1. Componente dell'infrastruttura:

Altrimenti chiamato Nova Compute, questo componente è responsabile della gestione di ogni aspetto della gestione e della creazione di una macchina virtuale. Ciò include l'allocazione dell'hardware richiesto, l'interazione con gli hypervisor e la funzione di nodo centrale nell'interazione con ogni altro componente necessario per generare macchine virtuali.

  1. Servizi di imaging:

Chiamato anche Glance, fornisce servizi di ricerca e recupero delle immagini. Ciò che essenzialmente fa è che fornisce supporto per archiviare e gestire diverse repliche o immagini di macchine virtuali. Pertanto, in base ai requisiti, è possibile recuperare qualsiasi tipo di immagine per il cliente.

Conclusione

OpenStack, sin dal suo umile inizio come software open source per l'amministrazione del cloud, è rapidamente cresciuto fino a diventare una grande comunità di appassionati di cloud che hanno trasformato OpenStack in diverse aree del Cloud.

Il cuore di OpenStack è la virtualizzazione e gli hypervisor, che assicurano che OpenStack come piattaforma di gestione possa sfruttare la potenza delle macchine virtuali.

Generalmente distribuito come sistema operativo per l'infrastruttura come servizio (IaaS), offre un'opzione più semplice per gestire migliaia di istanze virtualizzate.

Il futuro di OpenStack sembra brillante, ora con i big data e altri aspetti della tecnologia cloud più recenti integrati perfettamente con esso. E con una comunità sempre crescente, Open Stack è pronto a crescere a un ritmo significativo.

Articoli consigliati

Ecco alcuni articoli che ti aiuteranno a ottenere maggiori dettagli su Open Stack vs Virtualization, quindi passa attraverso il link.

  1. La cosa migliore da imparare Azure Paas vs Iaas
  2. Vuoi conoscere le domande di intervista AJAX?
  3. Guida completa per Android e Open Source Security (OS)
  4. Miti e idee sbagliate sul software open source
  5. Quale tecnologia è la migliore? Cloud computing o virtualizzazione
  6. Top 10 Confronto utile tra cloud computing e virtualizzazione

Categoria: