OpenShift - Panoramica
OpenShift è una piattaforma di sviluppo cloud come servizio (PaaS) ospitata da Red Hat. È una piattaforma di facile utilizzo basata su cloud open source utilizzata per creare, testare ed eseguire applicazioni e infine distribuirle sul cloud.
OpenShift è in grado di gestire applicazioni scritte in diversi linguaggi, come Node.js, Ruby, Python, Perl e Java. Una delle caratteristiche principali di OpenShift è che è estensibile, il che aiuta gli utenti a supportare l'applicazione scritta in altre lingue.
OpenShift include vari concetti di virtualizzazione come livello di astrazione. Il concetto alla base di OpenShift si basa sulla virtualizzazione.
Virtualizzazione
In generale, la virtualizzazione può essere definita come la creazione di un sistema virtuale piuttosto che la versione fisica o effettiva di qualsiasi cosa a partire dal sistema, dallo storage o da un sistema operativo. L'obiettivo principale della virtualizzazione è rendere l'infrastruttura IT più scalabile e affidabile. Il concetto di virtualizzazione esiste da decenni e con l'evoluzione del settore IT oggi, può essere applicato a una vasta gamma di livelli a partire dal livello di sistema, a livello di hardware, fino alla virtualizzazione a livello di server.
Come funziona
Può essere descritto come una tecnologia in cui qualsiasi applicazione o sistema operativo viene estratto dal suo livello fisico effettivo. Un utilizzo chiave della tecnologia di virtualizzazione è la virtualizzazione del server, che utilizza un software chiamato hypervisor per astrarre il livello dall'hardware sottostante. Le prestazioni di un sistema operativo in esecuzione sulla virtualizzazione sono buone come quando è in esecuzione sull'hardware fisico. Tuttavia, il concetto di virtualizzazione è popolare poiché la maggior parte del sistema e dell'applicazione in esecuzione non richiedono l'uso dell'hardware sottostante.
Architettura fisica vs virtuale
Tipi di virtualizzazione
Application Virtualization- In questo metodo, l'applicazione viene estratta dal sistema operativo sottostante. Questo metodo è molto utile in cui l'applicazione può essere eseguita in isolamento senza dipendere dal sistema operativo sottostante.
Desktop Virtualization- Questo metodo viene utilizzato per ridurre il carico della workstation in cui è possibile accedere al desktop da remoto, utilizzando un thin client alla scrivania. In questo metodo, i desktop vengono eseguiti principalmente in un data center. Un classico esempio può essere un'immagine desktop virtuale (VDI) che viene utilizzata nella maggior parte delle organizzazioni.
Data Virtualization - È un metodo per astrarre e allontanarsi dal metodo tradizionale di gestione e gestione dei dati.
Server Virtualization- In questo metodo, le risorse relative al server vengono virtualizzate che include il server fisico, il processo e il sistema operativo. Il software che consente questa astrazione viene spesso definito hypervisor.
Storage Virtualization - È il processo di raggruppamento di più dispositivi di archiviazione in un unico dispositivo di archiviazione gestito da un'unica console centrale.
Network Virtualization - È il metodo in cui tutte le risorse di rete disponibili vengono combinate suddividendo la larghezza di banda disponibile ei canali, ciascuno dei quali è indipendente l'uno dall'altro.
OpenShift
OpenShift è un'applicazione Platform as a Service (PaaS) abilitata per il cloud. È una tecnologia open source che aiuta le organizzazioni a spostare la loro infrastruttura applicativa e piattaforma tradizionali da supporti fisici e virtuali al cloud.
OpenShift supporta un'ampia varietà di applicazioni, che possono essere facilmente sviluppate e distribuite sulla piattaforma cloud OpenShift. OpenShift supporta fondamentalmente tre tipi di piattaforme per sviluppatori e utenti.
Infrastructure as a Service (IaaS)
In questo formato, il fornitore di servizi fornisce macchine virtuali a livello hardware con alcune configurazioni hardware virtuali predefinite. Ci sono più concorrenti in questo spazio a partire da AWS Google cloud, Rackspace e molti altri.
Lo svantaggio principale di avere IaaS dopo una lunga procedura di configurazione e investimento è che si è ancora responsabili dell'installazione e della manutenzione del sistema operativo e dei pacchetti del server, della gestione della rete dell'infrastruttura e della cura dell'amministrazione di base del sistema.
Software as a Service (SaaS)
Con SaaS, si ha la minima preoccupazione per l'infrastruttura sottostante. È semplice come plug and play, in cui l'utente deve solo registrarsi per i servizi e iniziare a usarlo. Lo svantaggio principale di questa configurazione è che è possibile eseguire solo una quantità minima di personalizzazione, consentita dal fornitore di servizi. Uno degli esempi più comuni di SaaS è Gmail, in cui l'utente deve solo accedere e iniziare a utilizzarlo. L'utente può anche apportare alcune piccole modifiche al proprio account. Tuttavia, non è molto utile dal punto di vista dello sviluppatore.
Platform as a Service (PaaS)
Può essere considerato come uno strato intermedio tra SaaS e IaaS. L'obiettivo principale della valutazione PaaS è per gli sviluppatori in cui l'ambiente di sviluppo può essere avviato con pochi comandi. Questi ambienti sono progettati in modo tale da poter soddisfare tutte le esigenze di sviluppo, fin dall'avere un web application server con un database. Per fare ciò, è sufficiente un singolo comando e il fornitore di servizi fa le cose per te.
Perché utilizzare OpenShift?
OpenShift fornisce una piattaforma comune alle unità aziendali per ospitare le proprie applicazioni su cloud senza doversi preoccupare del sistema operativo sottostante. Ciò rende molto facile usare, sviluppare e distribuire applicazioni su cloud. Una delle caratteristiche principali è che fornisce hardware gestito e risorse di rete per tutti i tipi di sviluppo e test. Con OpenShift, lo sviluppatore PaaS ha la libertà di progettare l'ambiente richiesto con le specifiche.
OpenShift fornisce diversi tipi di accordo sul livello di servizio quando si tratta di piani di servizio.
Free - Questo piano è limitato a tre anni con 1 GB di spazio per ciascuno.
Bronze - Questo piano include 3 anni e si espande fino a 16 anni con 1 GB di spazio all'anno.
Sliver - Questo è un piano di bronzo di 16 anni, tuttavia, ha una capacità di archiviazione di 6 GB senza costi aggiuntivi.
Oltre alle funzionalità di cui sopra, OpenShift offre anche una versione locale nota come OpenShift Enterprise. In OpenShift, gli sviluppatori hanno la possibilità di progettare applicazioni scalabili e non scalabili e questi progetti vengono implementati utilizzando server HAproxy.
Caratteristiche
Ci sono più funzionalità supportate da OpenShift. Pochi di loro sono -
- Supporto multilingue
- Supporto di più database
- Sistema a cartuccia estensibile
- Gestione della versione del codice sorgente
- Distribuzione con un clic
- Supporto multi ambiente
- Flusso di lavoro degli sviluppatori standardizzato
- Dipendenza e gestione della build
- Ridimensionamento automatico delle applicazioni
- Console Web reattiva
- Ricco set di strumenti della riga di comando
- Accesso SSH remoto alle applicazioni
- Supporto API Rest
- Stack di applicazioni on demand self-service
- Servizi di database integrati
- Integrazione continua e gestione dei rilasci
- Integrazione IDE
- Debug remoto delle applicazioni