Per la fase del progetto che comportava la modernizzazione delle applicazioni, FlowFactor ha utilizzato tre componenti principali per trasformare le applicazioni della compagnia di trasporti in architetture modulari e containerizzate:
- Il software IBM Transformation Advisor ha analizzato le applicazioni e le configurazioni e ha consigliato i passaggi da seguire per modernizzare le app dal tradizionale WebSphere Application Server al runtime leggero e cloud-native IBM WebSphere Liberty in container. Sebbene il numero di passaggi per ogni applicazione potesse far pensare a un processo lungo e scoraggiante, FlowFactor ha sfruttato la sua esperienza per identificare il codice comune a molte applicazioni, consentendone il riutilizzo. Pertanto, dopo aver modernizzato la prima applicazione, il resto ha richiesto relativamente poco lavoro.
- IBM WebSphere Liberty ha fornito un runtime delle applicazioni leggero, ideale per eseguire le applicazioni modernizzate in un ambiente cloud ibrido containerizzato (Transformation Advisor, WebSphere Liberty e WebSphere tradizionale sono tutti disponibili in IBM WebSphere Hybrid Edition).
- La piattaforma Red Hat® OpenShift® (link esterno a ibm.com) e Open Liberty Operator hanno consentito l'automazione della distribuzione e l'orchestrazione dei container, semplificando l'automazione dei workflow tra ambienti di sviluppo, test e produzione.
FlowFactor ha inoltre riprogettato la pipeline di build del cliente, attuando processi standardizzati e riutilizzabili. Successivamente, il team ha applicato il software di automazione open source Jenkins end-to-end, dai processi di build iniziali fino alla distribuzione in produzione. Grazie alla nuova architettura delle app, il software Jenkins può automatizzare lo spostamento del codice containerizzato lungo l'intero ciclo di vita del software.
Ma tutto ciò era solo una parte del progetto.
Nel trasporto pubblico, far salire le persone a bordo è la parte più semplice. Nella modernizzazione delle app, può essere la parte più difficile. Implementare una tecnologia che automatizza i processi e convincere le persone a trasformare il proprio modo di lavorare per ottenere il massimo valore dall'automazione sono due cose diverse.
FlowFactor aveva l'obiettivo di aiutare la compagnia di trasporti ad accogliere una nuova cultura per abbracciare l'automazione e adottare pratiche DevOps.
"Per le aziende e le istituzioni più grandi e tradizionali si tratta certamente di un argomento delicato", spiega Niemegeerts. Gli ingegneri e altri esperti dei processi esistenti si pongono seri interrogativi: Un cambiamento così drastico distruggerà ciò che attualmente funziona bene? Il processo si limiterà all'automatizzazione del lavoro?
“L'essenziale”, afferma Niemegeerts, “è trovare un equilibrio, automatizzare molto e coinvolgere gli ingegneri originali, spiegando loro cosa rimarrà invariato. Abbiamo mostrato agli ingegneri che il loro lavoro non sarebbe mai stato davvero sostituito, solo modificato. Ciò che conta è che avranno la possibilità di svolgere più spesso la parte più interessante del loro lavoro senza doversi occupare delle attività ripetitive. In questo modo avranno il tempo di risolvere meglio i problemi e di analizzare e innovare di più".
Niemegeerts continua: "Non appena iniziamo a consegnare le prime applicazioni modernizzate, i clienti notano i vantaggi. Vedono tempi di distribuzione più rapidi e un impatto minore. Non sono necessarie ampie finestre di manutenzione per distribuire una nuova applicazione".
E DevOps diventa il modo per ottenere il massimo da processi più rapidi e flessibili. È qui che i team precedentemente separati imparano a bilanciare le proprie responsabilità e a collaborare in modo più efficiente e agile. Come spiega Janssen: "In passato, la disponibilità delle applicazioni era responsabilità del gruppo infrastruttura. Ora, quando il gruppo infrastruttura vede che il team di sviluppo si sta assumendo la responsabilità di portare stabilità, e non solo nuove funzionalità, nella produzione, avviene il cambiamento di mentalità e il processo inizia davvero a funzionare e a fornire nuove applicazioni”.
Per quanto riguarda gli sviluppatori, afferma Janssen, "Il team di sviluppo ha molto più potere. Ora possono implementare quando vogliono, in tutti i loro ambienti".