Alternative a OpenShift
OpenShift è la piattaforma di sviluppo di riferimento per applicazioni containerizzate su base Kubernetes. Come cluster manager, Kubernetes costituisce, per un crescente numero d’imprese, la base di partenza per l’uso e lo sviluppo di applicazioni containerizzate e di servizi. Kubernetes si è quindi affermato come un sistema operativo distribuito per uno sviluppo moderno e containerizzato.
La piattaforma OpenShift proviene dall’azienda Red Hat, che ha ottenuto il successo come produttrice della distribuzione professionale Linux “Red Hat Enterprise Linux” (RHEL). Anche l’alternativa a OpenShift “Rancher” è stata acquisita nel frattempo da SUSE, un’altra distribuzione Linux. “Canonical Kubernetes” rappresenta, inoltre, un’ulteriore alternativa a OpenShift di un affermato distributore Linux. Oltre a queste tre grandi piattaforme vi presentiamo una serie di altre interessanti alternative a OpenShift.
Quali sono le caratteristiche di un’alternativa a OpenShift?
La piattaforma OpenShift è un poderoso sistema che unisce vari tipi di funzioni. Oltre alla gestione di Kubernetes, è offerta una dashboard con tutta la visualizzazione del cluster. La gamma delle funzioni è arricchita con strumenti per il monitoring, il login, le pipeline DevOps e un service mesh, rendendo più facile in tal modo lo sviluppo di altre applicazioni e servizi. In sintesi, nel caso di OpenShift e delle alternative ad essa, si tratta di soluzioni di Kubernetes Management.
OpenShift e le alternative presentate, hanno pertanto una base applicativa comune che rimane sempre la stessa, vale a dire Kubernetes. La serie delle funzioni supera, inoltre, di molto la gestione di applicazioni containerizzate. In contrapposizione al solo Kubernetes sia OpenShift che le alternative gestiscono deployment e uso del cluster Kubernetes distribuito oltre i limiti del cloud e dell’infrastruttura. La classica autenticazione dell’utente e la protezione delle immagini di container da usare incrementano la sicurezza del sistema.
Dal confronto escludiamo le offerte che rappresentano alternative a Kubernetes autonome. Tra esse sono compresi progetti come “Apache Mesos” e “Azk”, descritti nel nostro articolo dedicato alle alternative a Kubernetes. Non considereremo, inoltre, le offerte Kubernetes as a Service (KaaS) dei grandi provider cloud. È possibile usare questi servizi, comunque, solo nell’infrastruttura cloud dei singoli provider. Alcuni di essi sono ad esempio:
- Cloud Managed Kubernetes di IONOS
- Google Kubernetes Engine (GKE)
- Amazon Elastic Kubernetes Service (EKS)
- Azure Kubernetes Service (AKS)
- IBM Cloud Kubernetes Service (IKS)
Il mercato delle soluzioni di management Kubernetes è attualmente in evoluzione. Il nostro articolo è aggiornato a ottobre 2021.
Che cosa sono le soluzioni di management Kubernetes?
Kubernetes permette un grado d’automazione su una piattaforma, presente dappertutto, mai ottenuto prima. Si tratta però, nel caso di Kubernetes, di una tecnologia altamente complessa. Non tutte le organizzazioni sono dotate di esperienza e capacità di operare tramite una propria infrastruttura Kubernetes. Un cluster Kubernetes “gestito completamente” (in inglese: “fully managed”), anche noto come “Kubernetes as a Service” (KaaS), risolve il problema: il provider gestisce nel suo ambiente cloud un cluster Kubernetes per conto del cliente, che potrà dedicarsi così completamente alla sua attività aziendale.
Una soluzione di management Kubernetes è un livello gestionale basato su Kubernetes. Oltre un’orchestrazione dei container, è possibile gestire il completo ciclo di vita delle applicazioni containerizzate. I risultanti cluster Kubernetes utilizzabili possono essere ospitati in qualsiasi infrastruttura che va dai cloud pubblici al proprio ambiente OpenStack fino ad arrivare ai “Bare metal” e ai dispositivi Edge. Sono ottenute così tramite Kubernetes delle funzioni per l’utente senza la necessità di connettere il sistema a un provider d’infrastruttura specifico.
Per una comparazione, consideriamo la differenza tra soluzioni Fully managed e Self managed. Alcune delle alternative a OpenShift esistono solo come soluzioni gestite. Tutte offrono, tuttavia, la possibilità di un uso del cluster worker al di là dei limiti dell’infrastruttura.
Quali sono le funzioni più importanti delle alternative a OpenShift?
Le soluzioni di management Kubernetes sono in un costante stato di sviluppo. Anche nel caso in cui le alternative a OpenShift dispongano di funzioni simili, esistono spesso delle differenze nei dettagli. Di seguito vi presentiamo una panoramica delle funzioni più importanti:
Funzioni | Domande importanti | Esempi |
---|---|---|
Interfacce utente | Quali tipi d’interfaccia usano gli utenti per gestire il sistema? | API, CLI, interfaccia web |
Sistema operativo | Quale sistema operativo è necessario per la gestione dei nodi? | Ubuntu, RHCOS, RHEL, CentOS, Windows |
Gestione di container e cluster | Quale software è impiegato per la gestione di container e cluster? | Kubernetes, Docker Swarm, Docker |
Formati di container | Quali formati di container sono supportati dalla piattaforma? | Containerd, Kata Containers, CRI-O |
Modello di deployment | In quale modo si possono creare cluster distribuiti? | Multicloud, cloud ibridi |
DevOps e CI/CD | Quali strumenti sono integrati per DevOps o per una costante integrazione/deployment? | Jaeger, Jenkins |
Infrastruttura | Su quale infrastruttura di calcolo possono essere gestiti i nodi? | Amazon AWS, Microsoft Azure, vSphere, Bare metal, Edge |
Versione per un test gratuito | È possibile provare il sistema prima di concludere un contratto definitivo? | Versione demo disponibile gratuitamente, versione da testare in seguito a una registrazione, nessuna versione di test |
Distribuzione Kubernetes | Quale distribuzione Kubernetes è impiegabile? | Kubernetes “Vanilla”, RKE, K3s, MicroK8S |
Licenza o edizioni | Esiste, oltre all’edizione proprietaria a pagamento, una versione libera disponibile? | Open Source / Community, Premium / Enterprise |
Monitoring e logging | Quali strumenti sono disponibili per il monitoraggio dello stato dei cluster? | Prometheus, Grafana |
Gestione della rete | Quali tecnologie sono disponibili per la gestione della rete tra i cluster? | Calico, Flannel |
Modello di prezzo | Come sono calcolabili i costi risultanti? | Prezzo in base all’uso di risorse, al numero di nodi, all’hardware messo a disposizione |
Configurazione | Come avviene la creazione del cluster e container, quali strumenti devono essere impiegati? | Helm charts, Operatoren, Charms |
Service Mesh | Come comunicano tra essi i servizi distribuiti? | Istio, Consul |
Funzioni di sicurezza | Quali funzioni importanti per la sicurezza comprende il sistema? | Registro container protetto, controllo degli accessi, autenticazione dell’utente |
Le alternative a OpenShift a confronto
Vi presentiamo un riepilogo su OpenShift e una serie di alternative importanti, illustrandovi per ciascuna alternativa i vantaggi e gli svantaggi, le differenze più rilevanti rispetto a OpenShift e una panoramica degli impieghi più interessanti e convenienti. Confrontiamo le seguenti soluzioni di management Kubernetes:
- Red Hat OpenShift
- SUSE Rancher
- Canonical Kubernetes
- Mirantis Kubernetes Engine (in precedenza Docker Enterprise)
- VMware Tanzu (in precedenza Pivotal)
- Platform9 Managed Kubernetes
- Giant Swarm
- Portainer
Red Hat OpenShift
Con OpenShift l’azienda Red Hat si è affermata come pioniere delle soluzioni di management Kubernetes. Il software è impiegato per la creazione di ambienti applicativi e di sviluppo distribuiti e scalabili. Sin dagli inizi di Kubernetes, Red Hat ha contribuito notevolmente allo sviluppo della tecnologia. Anche l’importante concetto degli operatori Kubernetes è stato introdotto originariamente da Red Hat.
Quali sono i vantaggi e gli svantaggi di Red Hat OpenShift?
Il più grande vantaggio di OpenShift consiste nella vasta gamma di funzioni del sistema. Insieme alla gestione di cluster sono integrate le tecnologie riguardanti il management completo del ciclo di vita dell’applicazione, incluso lo sviluppo, il roll-out, l’uso e la manutenzione. Red Hat, inoltre, mette a disposizione i propri registri dei container e un catalogo di operatori.
La varietà della serie di funzioni di OpenShift implica, naturalmente, un’elevata complessità del software. L’installazione e la manutenzione di OpenShift richiedono un team specializzato oppure il supporto nell’ambito di una soluzione gestita (managed solution). Una complessità aggiuntiva è la differenza significativa tra la distribuzione Kubernetes di OpenShift rispetto alla versione upstream. Un ulteriore dettaglio è che OpenShift funziona solo sul sistema operativo di Red Hat, “Red Hat Enterprise Linux CoreOS” (RHCOS).
OpenShift è una soluzione speciale anche riguardo alle immagini di container impiegate. In relazione alle rigide impostazioni di sicurezza non tutte le immagini dei repository liberamente disponibili sono utilizzabili. Per la creazione dell’infrastruttura, OpenShift usa i propri modelli di applicazioni invece dei ben noti Helm chart di Kubernetes. I poderosi operatori di OpenShift realizzano tuttavia un meccanismo alternativo.
In quali ambiti d’impiego è particolarmente adatto Red Hat OpenShift?
OpenShift è particolarmente adatto per applicare strategie di cloud ibrido (hybrid cloud) e per creare e scalare le applicazioni containerizzate necessarie a tal fine. Chi opera già in ambienti di software come Red Hat può trarre profitto in modo particolarmente agevole dall’impiego del software.
SUSE Rancher
La pluriennale alternativa a OpenShift Rancher è stata acquisita alla fine del 2020 dal produttore del sistema operativo SUSE. Rancher rappresenta una piattaforma potente e versatile di management Kurbetes. Il software facilita la gestione di più cluster Kubernetes superando i limiti di diversi ambienti cloud. Tra le funzioni sono comprese quelle di provisioning, monitoring e logging.
Quali sono i vantaggi e gli svantaggi di SUSE Rancher?
Il software Rancher integra, accanto alla necessaria gestione di cluster, anche una serie di interessanti tecnologie. È disponibile, infatti, con “Rancher Kubernetes Engine” (RKE), una propria distribuzione Kubernetes, offerta al pubblico completamente come open source. Per l’uso su dispositivi “Edge” e IoT, esiste anche la distribuzione minima K3s con cui possono essere realizzati anche cluster “single node”. I tipici controlli di accesso in base agli standard “Open Policy Agency” (OPA) e “Longhorn“ storage engine completano l’offerta.
In quali ambiti d’impiego è particolarmente adatto SUSE Rancher?
Rancher si presta in maniera ottimale per la gestione di più cluster Kubernetes tramite un’interfaccia centralizzata. È possibile, inoltre, assegnare in modo centralizzato i permessi utente tramite diversi cluster.
Canonical Kubernetes
Con Canonical Kubernetes è disponibile un’ulteriore soluzione di management Kubernetes offerta da un noto produttore di sistemi operativi. Linux Ubuntu, sviluppato da Canonical, è la base per le distribuzioni Kubernetes dei grandi provider cloud come Google Kubernetes Engine (GKE), Amazon Elastic Kubernetes Service (EKS) e Azure Kubernetes Service (AKS). Canonical Kubernetes permette così la creazione di cluster che si estendono oltre i limiti del cloud.
Quali sono i vantaggi e gli svantaggi di Canonical Kubernetes?
I vantaggi più importanti di Canonical Kubernetes sono la grande versatilità e i costi d’impiego ridotti. “Charmed Kubernetes” rappresenta un interessante approccio basato sull’operatore per la creazione dell’infrastruttura. Con i cosiddetti “Charms” possono essere facilmente integrate e gestite applicazioni basate su Kubernetes, Container e VM al di là degli ambienti di cloud ibridi. Il sistema operativo impiegabile è esclusivamente Ubuntu.
In quali ambiti d’impiego è particolarmente adatto Canonical Kubernetes?
Canonical Kubernetes funziona su un’ampia gamma di hardware. Sono supportate, infatti, le architetture di processore x86, ARM, IBM POWER e IBM Z e sono utilizzabili, inoltre, sia CPU sia GPU. Per l’uso su computer e dispositivi Edge, è disponibile la distribuzione Kubernetes minima “MicroK8s”, il cui uso di risorse è particolarmente sobrio e ridotto.
Mirantis Kubernetes Engine
L’impresa Mirantis ha acquistato la “Docker Enterprise Edition” da Docker Inc. nel 2019. Da allora la tecnologia è stata rinominata come “Mirantis Kubernetes Engine”. È possibile constatare come la struttura base del software trovi origine nella realtà applicativa di Docker. In tal modo viene supportato oltre a Kurbetes, come cluster manager, anche Docker Swarm.
Quali sono i vantaggi e gli svantaggi di Mirantis Kubernetes Engine?
Mirantis Kubernetes Engine occupa alcune nicchie interessanti. Infatti, oltre al necessario Linux, in relazione ai nodi, anche Windows è supportato come sistema operativo. Un altro dettaglio di rilievo è che i nodi Linux e Windows si combinano senza problemi e lo stesso succede riguardo ai nodi con Kubernetes o Docker Swarm. Il prodotto è indicato per clienti di grandi dimensioni. C’è la carenza purtroppo di una community attiva e la versione gratuita da testare richiede una registrazione.
In quali ambiti d’impiego è particolarmente adatto Mirantis Kubernetes Engine?
La tecnologia è particolarmente adatta per grandi organizzazioni che hanno un grande interesse per lo sviluppo. Se è già presente un’infrastruttura basata su nodi Docker Swarm o Windows, con l’ausilio di Mirantis Kubernetes Engine è possibile espanderla in modo relativamente facile integrandola con l’uso di Kubernetes.
VMware Tanzu
Con https://tanzu.vmware.com/tanzuPanoramica su VMware Tanzu">VMware Tanzu è disponibile una piattaforma Kubernetes dello specialista della virtualizzazione VMware. Il prodotto proviene dall’acquisizione della ditta Pivotal da parte di VMware alla fine del 2019. Tramite VMware Tanzu si riesce a creare cluster Kubernetes su un’infrastruttura VMwares vSphere. L’integrata “Tanzu Mission Control” è un’interfaccia grafica centralizzata per la gestione di cluster Kubernetes distribuiti. Sono comprese, infatti, oltre alle funzioni per lo sviluppo e all’uso di applicazioni containerizzate, anche quelle di monitoring e logging, così come la gestione di rete e dello spazio di archiviazione.
Quali sono i vantaggi e gli svantaggi di VMware Tanzu?
I vantaggi che VMware Tanzu offre consistono soprattutto negli strumenti integrati. “VMware Tanzu Application Catalog”, ad esempio, contiene un catalogo costantemente curato di componenti open source e di applicazioni. È disponibile, inoltre, un proprio registro container: “Harbor”. Ciò permette una protezione di diversi artefatti build grazie al controllo degli accessi basato sui ruoli. Le immagini container salvate in Harbor sono controllate riguardo a vulnerabilità e falle di sicurezza e infine contrassegnate come sicure. L’impiego mirato e ottimale di VMware Tanzu risiede chiaramente nell’uso su una infrastruttura vSphere. La predisposizione come supporto per altre piattaforme cloud non è molto sviluppata.
In quali ambiti d’impiego è particolarmente adatto VMware Tanzu?
VMware Tanzu trova impiego in particolare presso imprese che hanno già familiarità con l’infrastruttura vSphere. Esiste, oltre alla versione commerciale, anche una versione libera, la “VMware Tanzu Community Edition”. È scaricabile e installabile su computer con sistemi operativi Linux, Windows e Mac.
Platform9 Managed Kubernetes
L’azienda Platform9 è stata fondata da ingegneri in precedenza operativi presso VMware. Il concetto base della piattaforma consiste nell’impiego di software open source già esistenti come Kubernetes in combinazione con un modello di Software as a Service (SaaS) specifico per i clienti. Diventa possibile, quindi, tramite diversi ambienti cloud, una gestione centralizzata di cluster Kubernetes distribuiti. Platform9 cura, inoltre, le installazioni Kubernetes riducendo in tal modo la complessità operativa per quanto riguarda il cliente.
Quali sono i vantaggi e gli svantaggi di Platform9 Managed Kubernetes?
Il vantaggio principale della piattaforma consiste nel modello operativo “Fully managed”. Da parte del cliente, pertanto, non è più necessario occuparsi degli aggiornamenti del sistema operativo oppure di Kubernetes. Sono evidenti i vantaggi offerti da modelli di prezzo chiari, da una documentazione approfondita e da una versione di test gratuita. Anche se l’interfaccia web è leggermente obsoleta, le funzioni standard sono però presenti: il software “Prometheus” controlla costantemente lo stato di sicurezza dei cluster, i log sono raccolti in modo centralizzato ed elaborati. L’installazione delle applicazioni disponibili nei repository Helm pubblici è molto facile e agevole.
In quali ambiti d’impiego è particolarmente adatto Platform9 Managed Kubernetes?
Platform9 si situa in una speciale nicchia, rivolgendosi ai provider di servizi nel settore delle telecomunicazioni che gestiscono un grande numero di dispositivi Edge in cluster Kubernetes. La piattaforma supporta, parallelamente alle moderne applicazioni containerizzate, anche le app “Legacy” basate su macchine virtuali.
Giant Swarm
Giant Swarm è una piattaforma Kubernetes “Fully managed”. Il software gestisce l’ambiente Kubernetes indipendentemente dall’infrastruttura cloud usata. Per il cliente si situano così in primo piano le applicazioni e i servizi operativi su Kubernetes. I cluster worker e di management possono essere impiegati tramite una propria infrastruttura di calcolo su Amazon AWS, Microsoft Azure oppure “On premises”
Quali sono i vantaggi e gli svantaggi di Giant Swarm?
La piattaforma gestisce e ottimizza il ciclo di vita completo delle applicazioni containerizzate ed è velocemente operativa. Rispetto a OpenShift, eseguire un’installazione Giant Swarm è possibile nell’arco di un giorno. Essendo impiegata una distribuzione Kubernetes invariata è relativamente facile spostare parti dell’infrastruttura tra gli ambienti cloud. In questo modo viene ridotto il pericolo di un vendor lock-in (blocco imposto dal fornitore). Risulta tuttavia svantaggiosa l’inesistenza di un modello di prezzo omogeneo. In compenso, ciascun cliente riceve un’offerta di prezzo personalizzata e specifica.
In quali ambiti d’impiego è particolarmente adatto Giant Swarm?
Giant Swarm è una soluzione ottimale soprattutto per il controllo di architetture microservice distribuite. Si realizzano e si scalano così sistemi agili e resistenti. Il software, infine, si occupa della dispendiosa gestione dell’infrastruttura sottostante.
Portainer
Rispetto alle già menzionate alternative a OpenShift, il software Portainer si basa su un altro principio. Non si tratta in questo caso di una piattaforma completamente gestita o di una propria distribuzione Kubernetes. Viene impiegata invece un’interfaccia grafica per l’utente che uniforma la gestione di deployment Kubernetes già esistenti. I team DevOps hanno la possibilità di gestire in modo centralizzato ambienti multi cluster, di configurarli e proteggerli. Si giunge così a una semplificazione per gli sviluppatori, riguardo al deployment, alla gestione e alla risoluzione dei problemi delle applicazioni containerizzate.
Quali sono i vantaggi e gli svantaggi di Portainer?
Il maggiore vantaggio di Portainer consiste nella versatilità del software. Oltre a Kubernetes, infatti, è possibile usare anche Docker Swarm e Docker per la gestione di cluster o container. Portainer è basato su un software open source ed è disponibile sia in una libera versione community, sia come versione a pagamento con il supporto Enterprise. Il software è installabile in ambienti cloud su dispositivi Edge oppure su una propria struttura di elaborazione “on premises”. Portainer è un software relativamente nuovo e la documentazione è attualmente ancora poco soddisfacente.
In quali ambiti d’impiego è particolarmente adatto Portainer?
Portainer è molto adatto per gestire infrastrutture cluster già esistenti in modo centralizzato e uniforme. Nel caso in cui, oltre a Kubernetes, siano impiegati anche sistemi basati su Docker o Docker-Swarm, è possibile gestire questi ultimi senza problemi.