Openshift: cos'è e perché piace ai Dev, agli Ops e al business
CLOUD & DEVOPS
Openshift: cos'è e perché piace ai Dev, agli Ops e al business
event 16 luglio 2018
![Openshift: cos'è e perché piace ai Dev, agli Ops e al business](/documents/20121/71594/container-love-red-heart.jpg/cc8c3e13-471b-f850-2c34-0a3e8507f6de?t=1686044240311)
In un precedente articolo ho avuto modo di parlare dei vantaggi dell'elasticità del cloud e dei risultati che si possono ottenere grazie al passaggio da server mutabili (VM) a potenzialmente immutabili (container).
Per raggiungere tali risultati è necessario gestire i container così come viene gestito il codice sorgente: bisogna introdurre un workflow di CI/CD che coinvolga anche i container.
La piattaforma Red Hat Openshift ha un vantaggio fondamentale rispetto ad analoghi prodotti che servono a gestire i container (orchestratori di container): permette di definire un workflow di CI/CD completo, che parte dal codice sorgente dell'applicazione e dal codice che descrive le immagini per giungere al deploy delle applicazioni containerizzate.
Naturalmente Openshift è in primo luogo un eccellente orchestratore di container. Esso è basato su Kubernetes, un prodotto open source creato da Google a partire da una lunga esperienza di utilizzo e gestione di container in ambienti di produzione ad alte prestazioni.
L'utilità di un orchestratore di container
Un orchestratore di container è indispensabile per gestire sistemi distribuiti che fanno uso di un gran numero di container:
- esso permette di gestire applicazioni moderne, strutturate a micro-servizi;
- gestire un gran numero di micro-servizi in un cluster di server è molto complicato senza un orchestratore di container: è necessario risolvere problemi di deployment combinato dei container, gestire il networking multi-host dei container, il service discovery, la gestione dei volumi persistenti in modo distribuito e così via;
- Openshift, come Kubernetes, permette di gestire in modo semplice lo scaling dei servizi e il load balancing tra le repliche di uno stesso servizio. Questa funzionalità rende semplice ottenere lo scaling selettivo delle singole componenti di un'applicazione a micro-servizi.
Le caratteristiche di Openshift
Per installare Openshift è sufficiente avere un cluster di macchine con sistema operativo RHEL.
Non ha importanza come siano fatti i server: possono essere server fisici, VM oppure macchine su cloud pubblici e privati. Openshift tratta questo cluster di server come pure risorse di calcolo e di storage e crea su di esso uno strato di astrazione nel quale vivono le applicazioni containerizzate.
Openshift è esso stesso un sistema distribuito fatto da diversi componenti. Ciascun componente del sistema è installabile in alta affidabilità, in modo da non avere punti deboli (nessun "single point of failure").
Openshift è costruito a partire da Kubernetes ma sfrutta diversi altri progetti e tecnologie open source (come Source 2 Image, la tecnologia che permette di passare dal codice sorgente di un'applicazione all'applicazione containerizzata, o Jenkins, un popolarissimo server di CI/CD). Kubernetes a sua volta, è un aggregato di prodotti open source sostenuti da una community di sviluppatori che ha pochi uguali al mondo per numerosità e livello di partecipazione.
Openshift è pensato in modo da essere facile da usare:
- mette a disposizione diverse interfacce utente (web-based oppure in linea di comando, per permettere una migliore automazione), delle API che danno la possibilità di gestire ogni aspetto della piattaforma e una serie di runtime per facilitare la creazione di applicazioni containerizzate.
- mette a disposizione un ricco catalogo di linguaggi e di server (es. application server, broker di code e altri prodotti middleware) per costruire sistemi distribuiti complessi e applicazioni a micro-servizi in modo semplificato.
- è inoltre pensato per assecondare la collaborazione tra utenti minimizzando le interferenze indesiderate. La piattaforma è multitenancy e dotata di un sistema articolato di gestione degli utenti, dei ruoli e dei permessi. L'accesso alle risorse può essere controllato a un livello di granularità estremamente fine e l'utilizzo di qualsiasi risorsa può essere sottoposto a limitazioni.
Openshift: per una più stretta collaborazione tra sviluppatori e sistemisti
Openshift costituisce quindi la piattaforma ideale per ottimizzare la collaborazione tra sviluppatori e sistemisti. Openshift permette agli sviluppatori di approvvigionarsi in modo autonomo di tutti gli strumenti necessari per costruire applicazioni e workflow di build e deploy sofisticati a piacimento; d'altro canto, i sistemisti hanno il pieno controllo della piattaforma, dell'utilizzo che viene fatto delle risorse e, grazie alle immagini e ai container, dell'ambiente di esecuzione delle applicazioni, potendo tra l'altro accedere in modo immediato alle eventuali fix di sicurezza pubblicate da Red Hat e applicarle in modo istantaneo ai container che girano sulla piattaforma.
Red Hat OpenShift è una piattaforma PaaS per applicazioni cloud che automatizza l’hosting, la configurazione, l’implementazione e l’amministrazione degli stack di applicazioni in un ambiente cloud flessibile.
Per approfondire questo argomento e scoprire come OpenShift può aiutarti a portare al minimo il time-to-market delle tue applicazioni
rocket_launch Guarda il webinar!Guarda il webinar!
explore Vai al videoaltri articoli sull'argomento
![Locandina 06-07](https://extrared.it/documents/20121/88401/Locandina+06-07.jpg/8893f990-a8de-1a22-a71a-35c95f4abf46?version=1.0&t=1688984693166)
Dynatrace: osservabilità e sicurezza unificate
![20230523_095908](https://extrared.it/documents/20121/86617/20230523_095908.jpg/42a38476-0e1d-7bea-1d62-2de3ffcadb4b?version=1.0&t=1686572080647)
Red Hat Summit 2023 Boston
![Symposium_ACM_poster](https://extrared.it/documents/20121/85314/Symposium_ACM_poster.jpg/a0fb2f33-1995-2a91-3c39-dce95a42106f?version=1.0&t=1686046462400)
Red Hat Advanced Cluster Management
![1680083843341.jpg](https://extrared.it/documents/20121/71594/1680083843341.jpg/5b120c29-fd54-d668-27e0-d29985d8accc?version=1.0&t=1681974212262)
Quarkus & Couchbase: a simple REST example
![Locandina 30-03.jpg](https://extrared.it/documents/20121/71594/Locandina+30-03.jpg/e6be16dc-32c0-031e-8ace-5f8d2f77f153?version=2.0&t=1681973203284)
![20230417_111025.jpg](https://extrared.it/documents/20121/71594/20230417_111025.jpg/a2ffcaa7-19f5-f1cc-86ab-aa5d7cc019b5?version=1.0&t=1682073724020)
![Che cos'è la Business Intelligence.jpg](https://extrared.it/documents/20121/71594/Che+cos%27%C3%A8+la+Business+Intelligence.jpg/d740d293-a192-d74c-d596-cadffe53b18d?version=1.0&t=1681890696125)
Che cosa è la Business Intelligence?
Extra Red e il DevOps con Red Hat OpenShift
![Sviluppare un'applicazione cloud native.jpg](https://extrared.it/documents/20121/71594/Sviluppare+un%27applicazione+cloud+native.jpg/792c82c6-b861-1c77-5903-eba4ee459c01?version=1.0&t=1681889607669)
8 passi per sviluppare un'applicazione cloud native
![pizza-delivery-box-cloud.jpg](https://extrared.it/documents/20121/71594/pizza-delivery-box-cloud.jpg/11fc3daa-8e96-c779-3e06-e014b7f48f99?version=1.0&t=1681889607578)