Tutto chiaro su cosa permette di fare questo oggetto, ma resta da capire cosa sia effettivamente OpenShift e quali vantaggi derivino dalla sua implementazione.
“Ci piace definirlo il sistema operativo del cloud, come fosse un’evoluzione di Red Hat Linux – spiega Colabella. – OpenShift elimina le tematiche di basso livello infrastrutturale, diventa un layer dove io posso orchestrare applicazioni di qualsiasi tipo in modo totalmente automatizzato, perché il concetto di container che lui gestisce mi permette di incapsulare l’applicazione e tutte le sue dipendenze in un oggetto ben definito in grado di girare ovunque. Quindi io sostanzialmente, avendo solo questo oggetto, non devo più gestire macchine virtuali, sistemi operativi, eccetera. in passato il software era organizzato molto a silos, ogni applicazione e ogni middleware aveva il suo sistema operativo supportato, bisognava aggiornarli con le patch, e dovevo gestire tutto manualmente, dal sistema operativo fino all’applicazione.
Con OpenShift tutto questo viene eliminato perché io ragiono su come costruire l’applicazione, che poi viene regolata tramite container.
Quindi vado a lavorare con i team di sviluppo di operation solo per accordarmi sul processo di costruzione della logica applicativa e riesco a scalarla “automaticamente” perché il container può essere clonato da OpenShift e scalato per picchi di lavoro. Un altro vantaggio notevole in termini infrastrutturali è il fatto che appunto, avendo una logica agnostica in cui le applicazioni girano in container, io posso evitare di allocare risorse e potenza di calcolo per una specifica applicazione. Posso far lavorare su una data infrastruttura un’applicazione la mattina quando c’è traffico, ma magari la notte che ho volumi di traffico inferiori posso restringere l’applicazione in termini di uso di risorse e fare spazio ad altre.
Quindi mentre prima avevo tanti silos a impegnare infrastrutture e skill, con OpenShift elimino questi problemi e dò per scontato che il cuore dell’applicazione, il modello di rilascio, tutto quello che era lavoro meccanico di routine è stato limato. Questo è un plus che da un lato ha abilitato una standardizzazione, svincolando le operation da tanti lavori di poco valore rifocalizzando i team, e dal lato applicativo ha abilitato una modularità di sviluppo che comporta velocità e agilità, porta a essere competitivi sul mercato perché riesco a creare team autonomi che sviluppano servizi, micro-servizi, moduli applicativi in modo indipendente. Se per esempio un team sviluppa un modulo per pagamento di bonifici, potrà poi far evolvere questo modulo indipendentemente dall’applicazione di home banking. Se più avanti trovo un algoritmo più efficiente per gestire i bonifici, il team può lavorare in modo completamente autonomo. OpenShift è quello che mi abilita e mi consente questo percorso per diventare agile”.
Insomma, OpenShift consente di fare le cose in modo più rapido ma spendendo meno energie, risorse, operation, personale. Sta poi alla ogni azienda sfruttare al massimo questo mezzo per creare le proprie logiche in modo da sfruttare il proprio segmento di mercato. E parliamo anche, per esempio, di logiche IoT o di machine learning, perché “any application” vuol dire poter usare anche logiche specifiche, mentre “any infrastructure” consente di eseguire il deployment in ogni ambiente, che si tratti di una fabbrica con un piccolo CED, di un treno, di un negozio sul territorio.
“È questo che rende forte la nostra offerta, questa libertà che abilita un percorso di trasformazione digitale – puntualizza Colabella – Volendo scegliere in dettaglio, lo sviluppatore non si deve più preoccupare di oggetti fisici ma di oggetti logici. L’architettura per lui è un database, poi se gira su un public cloud provider oppure on premise è totalmente trasparente perché l’applicazione, una volta eseguito il deployment sull’ambiente specifico, eredita tutti gli elementi logici e dà un contesto fisico. Lo sviluppatore lavora solo sulla logica dell’applicazione e sulla qualità dei codici e si può focalizzare su questi aspetti, senza perdere tempo per occuparsi di “dettagli” come la collocazione del database eccetera”.
Architetture in evoluzione
Il concetto di “any platform”, in un mondo volatile come l’informatica, è forse il più complicato da realizzare a garantire. Cosa succede a OpenShift quando sul mercato arriva una nuova architettura?
“Da un punto di vista applicativo la cosa non ha un grande impatto, parliamo più di evoluzione infrastrutturale – afferma Colabella. – L’evoluzione che sta avendo OpenShift riguarda l’ampliamento sempre maggiore dello spettro di infrastrutture che può utilizzare. Di recente abbiamo annunciato che OpenShift può girare anche su sistemi mainframe. C’è un grosso lavoro della nostra ingegneria e di ingegnerie terze parti, perché poi c’è Kubernetes che è un prodotto sviluppato dalla comunità. In pratica, la logica è adeguare OpenShift da un punto di vista strutturale. Kubernetes è incluso in OpenShift per supportare logiche di storage più performanti o infrastrutture nuove che si stanno affermando, ma anche per ridurre il foot print, in modo di poter girare anche in CED periferici poco carrozzati. Lo vediamo di fatto come un sistema operativo, perché l’evoluzione che sta avendo è proprio quella di concentrare la maggior parte delle funzioni. Alla fine, un container è un processo che gira su un sistema operativo e se io cambio il sistema operativo voglio essere sicuro che girerà tutto come prima.
E questo è un problema che molte tecnologie continuano ad avere.
Noi invece puntiamo a rendere unico il trend di sviluppo della tecnologia, per rendere il sistema operativo sempre più minimale e per rendere possibile il deployment anche in contesti limitati; e da un altro punto di vista riesce ad avere anche la parte che gira sopra, kubernetes e OpenShift costantemente allineati. In questo modo garantiamo che questo framework funzioni sempre in un contesto aperto e dando supporto sempre più ampio a nuove tecnologie. L’unico vincolo che ha è l’uso del sistema operativo Red Hat Enterprise Linux, perché lui stesso è un sistema operativo, non un middleware tradizionale, e ha bisogno di essere tenuto costantemente allineato ed evoluto tutto insieme.
OpenShift su altri sistemi operativi non è supportato perché è lui di fatto il sistema operativo. Nel senso che è strettamente integrato. Per fare un esempio dei vantaggi di questo approccio, se abbiamo due applicazioni che girano su una certa infrastruttura e vogliamo impedire che parlino fra loro, lo possiamo gestire a livello logico, ma la potenza di Red Hat Enterprise Linux e Red Hat OpenShift ci permette di scendere a livello di kernel e isolare fisicamente i processi, a tutti i livelli, e questo garantisce livelli di sicurezza molto più elevati”. In un mondo in cui le aziende sempre più spesso sfruttano infrastrutture Public Cloud, da sola questa garanzia di sicurezza e riservatezza basterebbe a fare la differenza in molti contesti critici.