Home Prodotti Software Container e DevOps: a che punto è lo sviluppo di applicazioni cloud...

Container e DevOps: a che punto è lo sviluppo di applicazioni cloud native

I container Linux consentono di attenuare i problemi di sovraccarico e ottenere iterazioni più rapide in più ambienti: sono tecnologie che consentono di raggruppare e isolare le applicazioni attraverso un ambiente di runtime completo, attraverso tutti i file necessari per l’esecuzione.

In questo modo è più facile spostare applicazioni tra gli ambienti (dev, test, produzione) conservandone tutte le funzionalità.  E i container rivestono un ruolo importante anche per la sicurezza IT.

Per quanto riguarda l’orchestrazione dei container, il mercato ha virato su Kubernetes come progetto comunitario di riferimento. Red Hat è da sempre uno dei maggiori contributori del progetto, supportato all’interno di Red Hat OpenShift, piattaforma container per imprese basata su Kubernetes, che implementa operazioni automatizzate su tutto lo stack per gestire deployment in ambienti cloud ibridi e multicloud, ottimizzato per incrementare la produttività degli sviluppatori.

Abbiamo allora deciso di parlare di container e Kubernetes con Giuseppe Bonocore, Solution Architect, di Red Hat Italia, specializzato su Application Development e Modernization, JBoss Middleware e OpenShift, uno sviluppatore ha oltre 10 anni di esperienza su soluzioni open source e che prima di far parte di Red Hat ha lavorato come technical leader in molti progetti internazionali per soluzioni mission critical.

A che punto si trovano le applicazioni cloud in senso ampio, dal punto di vista delle aziende che hanno sposato il cloud in senso mission critical?

L’adozione del cloud, anche in contesti mission critical, è ormai un mantra assoluto per le aziende italiane, ed è un tema all’attenzione di tutti i manager IT. Se il cloud di per sé non è ormai una tematica nuova, ciò che oggi fa la differenza è una strategia chiara e completa in ambito hybrid cloud. Solo in questo modo si possono sfruttare i vantaggi dei public cloud, combinandoli con le caratteristiche offerte dall’on premise, e spostare i carichi di lavoro dinamicamente a seconda delle esigenze. Proprio in questa direzione va OpenShift 4, che rende sempre più semplice ed efficace la gestione di applicazioni in ambiente hybrid e multi cloud.

In questo contesto, che fase stanno vivendo le applicazioni cloud native per i container?

Le applicazioni cloud native rappresentano, insieme all’hybrid cloud, l’altro elemento fondamentale della modernizzazione. In questo senso, i runtime offerti da Red Hat, ed oggetto del roadshow, costituiscono i building block migliori per costruire le proprie applicazioni. In particolare, i runtime containerizzati contengono tecnologie all’avanguardia quali Quarkus, JBoss EAP, Spring Boot, Vert.x, NodeJS e coprono tutto lo spettro di esigenze delle applicazioni cloud native, dal reactive, al microservizio, al JEE. Inoltre, le infrastrutture offerte da OpenShift offrono gli strumenti per erogare funzionalità serverless, basate su Knative, e service mesh, basate su Istio, Kiali ed altre tecnologie.

Giuseppe Bonocore, Solution Architect di Red Hat Italia

Come beneficia dei container l’attività degli sviluppatori?

OpenShift 4 ha un focus particolare verso gli sviluppatori. È stata implementata una nuova developer console che offre una visualizzazione personalizzabile dei contesti applicativi, e una serie di azioni “contestuali” che offrono un accesso rapido alle funzionalità più utilizzate: creazione di rotte, link di applicazioni, accesso al codice sorgente.

Attraverso le feature già citate di serverless e service mesh, sarà possibile abilitare le applicazioni containerizzate a paradigmi nuovi, come Scale To Zero, migliorando la visibilità, per esempio attraverso OpenTracing e console grafiche quali Kiali, e implementando modalità di rilascio smart, come Canary, A/B Testing, Dark Launches.

Quali sono i principali strumenti oggi esistenti per la creazione di microservizi?

Attraverso i progetti CodeReady, OpenShift offre un tooling completo al servizio dello sviluppo, che include CodeReady container, una versione all-in-one di OpenShift per lo sviluppo locale sulla propria workstation; CodeReady studio, un IDE corredato di tutti i plugin necessari per interagire con cluster OpenShift e middleware Red Hat; CodeReady workspaces, un IDE browser based che consente di iniziare a sviluppare in un ambiente completo in tempi rapidissimi, e senza necessitare di installazione di software aggiuntivo sulla workstation degli utenti.

In tema DevOps, quali sistemi abilitano la continuous integration e continuous delivery di microservizi?

OpenShift nasce come API driven, ed è totalmente integrabile in workflow complessi, come CI/CD, GitOps. Per quanto riguarda l’ultima release, oltre a continuare ad essere integrabile con tool consolidati, quale Jenkins, viene offerta la nuova modalità di pipelines native implementata con il progetto Tekton. Anche gli Operator, che sono uno dei pilastri di quest’ultima release, offrono funzionalità avanzate di gestione del ciclo di vita applicativo.

Di quali requisiti professionali devono essere in possesso uno sviluppatore e un system administrator per avvicinarsi ai container con OpenShift?

L’esperienza fornita da OpenShift è variabile a seconda del background di ciascuno. Il tooling offerto può consentire allo strumento di essere molto user friendly, ed avere una barriera all’ingresso estremamente bassa.

Per quanto riguarda i Dev, questo significa ad esempio di poter usufruire di funzionalità quali il “source to image” o di cataloghi come l’Operator HUB, che rendono praticamente trasparente la creazione e l’istanziazione dei container.

Per i dipartimenti Ops, lo strumento offre funzionalità di management automatizzato e di upgrade OTA, che rendono molto semplice la curva di adozione, senza contare della possibilità di accedere al servizio in modalità totalmente managed, qualora lo si desideri.

Quali sono le feature di gestione della piattaforma e delle applicazioni OpenShift che uno sviluppatore e un system admin devono conoscere?

Le funzionalità più interessanti per i sys admin sono le modalità di installazione e upgrade OTA offerti da CoreOS, gli Operator, il monitoring e l’alerting offerti da Prometheus e Grafana.

Per quanto riguarda i developer segnalo il mondo serverless, basato su Knative, il service mesh, basato su Istio, i nuovi runtime per i microservizi, tra cui Quarkus, che rappresenta l’evoluzione naturale di Java in ambito cloud native.

LASCIA UN COMMENTO

Inserisci il tuo commento
Inserisci il tuo nome

Se questo articolo ti è piaciuto e vuoi rimanere sempre informato sulle novità tecnologiche

css.php