By info@ediscere.it |

OpenShift - αω

Container Orchestration Engine

Proprio come i container del mondo reale hanno rivoluzionato il modo in cui le merci sono imballate, gestite e trasportate in tutto il mondo, Docker insieme all'ecosistema dei container aperti sta trasformando la distribuzione del software portando la standardizzazione. 

Docker mette a disposizione un modo per eseguire processi isolati e permette anche di impacchettare un'applicazione insieme al suo ambiente di runtime usando strumenti come i dockerfile.  Tuttavia, quando si tratta di eseguire Docker in un ambiente di produzione, con carichi di lavoro dei container che si estendono su più di un nodo, è necessario disporre di un COE (Container Orchestration Engine).

I COE offrono il clustering e convertono i tuoi nodi in un unico super computer, prendono decisioni intelligenti su dove eseguire la pianificazione dei container, connettono i container in esecuzione su diversi nodi impostando una rete multi host e offrono molte altre caratteristiche interessanti come la tolleranza ai guasti, le distribuzioni a tempo zero ecc.

Kubernetes

Kubernetes è il modello di riferimento nel mondo dell'orchestrazione dei container. È stato originariamente creato da Google, sulla base della loro esperienza nella costruzione e gestione di container su larga scala. Tuttavia, ora è guidato da Cloud Native Compute Foundation (CNCF), un organizzazione aperta Kubernetes è dotato di caratteristiche sbalorditive, è molto affidabile ed è un motore di orchestrazione di container estremamente sofisticato. Può permettervi di convertire la vostra infrastruttura in un Container as a Service, portando alcune delle caratteristiche che suscitano grande entusiasmo, come Zero Down Time Deployments, Fault Tolerance, Auto Scaling, Cloud e integrazioni di storage, che erano estremamente difficili da implementare.  E lo porta alle masse con il suo sistema ecologico veramente aperto e libero da vincoli. 

Openshift

Openshift semplifica la distribuzione di Kubernetes astraendo la complessità e fornendo un'interfaccia semplice e unificata.

Se ad esempio abbiamo la necessità di distribuire una classica applicazione a livelli con un front-end e un tipico database in back-end. Supponiamo inoltre che il codice dell'applicazione e i file di configurazione, compreso i file per la connessione al DB, vengono gestiti in un repository GitHub Questo contiene il codice che state per distribuire.

Il Servizio che deve fornire Openshift sarà quello di considerare le compoinenti dell'applicazione come dei containers. Il front-end, in particolare può essere i distribuito con repliche dello stesso servizio, gestito come container e distribuito in base al carico di lavoro.

Quindi OpenShift si comporta come una piattaforma di gestione dei servizi che distribuisce i carichi di lavoro. Ovviamente OpenShift dovrà fare in modo che la gestione dell'applicazione sia altamente disponibile e scalabile distribuendo istanze multiple del servizio front-end.

Per alta disponibilità si intende che deve gestire sia eventuali cadute di un servizio, sostiuendo il container in errore, che permettere l'attività manutentiva o di aggiornamento del software senza un tempo di inattività; sostituendo pochi container alla volta, OpenShift permette un downtime zero per le installazioni. Un altro compito demandato ad OpenShift è quello di gestire in modo dinamico la connessione al DB, mediante una funzione di ricerca.

 

Sitografia

 

 "Complete Docker Tutorial"