L’evoluzione tecnologica ha subito bruschi e continui strappi nel corso degli ultimi vent’anni, richiedendo un nuovo approccio. Se prima si controllava la velocità del cambiamento, che in genere aumentava a ritmo lento, oggi la grandezza da controllare è l’accelerazione, molto più complessa da affrontare, e di tanto in tanto con impennate veramente inattese. Il modo stesso nel quale considerare l’innovazione ha richiesto numerose ed irregolari modifiche all’approccio complessivo, fino al raggiungimento di un nuovo modello sufficientemente stabile.

Il nuovo modello di convergenza IT/OT è oggi pronto, e ha tutte le caratteristiche di robustezza e durabilità per poter integrare le notevoli spinte nello sviluppo di applicazioni, con le necessarie istanze di sicurezza ed intelligenza artificiale, sulle opportune architetture.

Microservizi, base delle applicazioni moderne

La soluzione del software ai complessi problemi di oggi è quindi disponibile. Grandi moltitudini di dati con formato e flusso diversi vengono analizzati, elaborati e quindi inviati a ciascun tipo di utente, su qualsiasi output device, in tempi brevissimi. La soluzione della quale parliamo prevede la suddivisione delle grandi applicazioni in un numero elevato di moduli di dimensioni ridotte o ridottissime, per i quali si usano svariati nomi tra i quali funzioni o microservizi. L’esecuzione di questi moduli viene gestita da sistemi virtuali prevalentemente in cloud.

I problemi di un microservizio non affliggono nessuna parte che non sia quel singolo microservizio, lasciando in esecuzione tutti gli altri. Questo è ciò che si definisce approccio moderno alle applicazioni.

La coesistenza con sistemi legacy

Esiste però una gran parte di situazioni nelle quali molto software è stato scritto prima dell’avvento dei microservizi. Questo software viene eseguito su un hardware che può anche essere molto eterogeneo, in un sistema complessivo che esegue i compiti per i quali è stato programmato, implementa un modello di costi che ancora non è giunto alla fine del suo ciclo di vita, e comunque modella una parte dell’attività grazie ai rapporti tra le persone che in azienda e fuori dall’azienda hanno integrato quel software con attenzioni personali, spesso non descritte altrove. In questi casi si fa riferimento in senso figurato ai “pezzi di nastro” con cui analisti e softwaristi tradizionali tengono insieme componenti tecnologiche con qualche problema, e in senso diretto ai foglietti di appunti con cui gli operatori integrano informazioni e processi originali dell’applicazione, che però alla prova dei fatti hanno richiesto qualche piccola attenzione fuori dalle maschere a schermo.

L’attività di questa gran parte di applicazione e sistemi richiede alcune considerazioni. La prima cosa che viene in mente è di sostituirla integralmente con applicazioni e sistemi moderni. Se dal punto di vista filosofico questa idea ha un senso, nella pratica è sconsigliabile: richiederebbe una immediata perdita in conto economico e una fase di riscrittura che renderebbe estremamente difficile la prosecuzione dell’attività nel breve termine. Ovviamente se la parte in questione è di dimensioni ridotte, si può fare una specifica valutazione di fattibilità, ma in generale le dimensioni da affrontare sono notevoli.

Convergenza IT/OT: liberare dati e processi dal legacy

L’esistente, o legacy, e il nuovo devono quindi convivere. Anche questa convivenza può essere affrontata in vari modi, a seconda dell’investimento che s’intende fare nella soluzione di convivenza. I due sistemi possono convivere passivamente ed essere integrati manualmente dagli operatori, una scelta che alle volte nel passato, e solo in ambiti particolari, è stata seguita, con risultati risibili e probabilmente più costosi di qualsiasi altra scelta. Ma per fare scelte bisogna avere le idee chiare, e per avere le idee chiare bisogna avere una precisa descrizione del parco software, un completo assessment della situazione.

È possibile sviluppare dei software che operino sul legacy, intercettino il flusso dei dati e lo immettano in un nuovo sistema che si occupi di quelle operazioni che il legacy non riuscirebbe a fare. Lo sviluppo di questo software avrebbe un costo relativamente ridotto; non si partirebbe da zero, ma si incrementerebbe quanto già fatto nello sviluppo della parte nuova.

Si tratta comunque di affrontare un costo aggiuntivo. In realtà non si tratta di un costo secco, bensì di un investimento che verrebbe ripagato sul medio periodo.

Affrontando questo tipo di ammodernamento applicativo, infatti, si agisce da subito su dati e processi. I dati così raccolti restano patrimonio storico dell’azienda per qualsiasi futura attività. Questo può rivelarsi essenziale già in termini di amministrazione aziendale, dove lo storico ha un suo senso; è però fondamentale in tutte le componenti che prevedono l’estrazione di big data (e-commerce, social e così via).

Un forte vantaggio competitivo viene anche dalla rielaborazione dei processi preesistenti. In un mondo competitivo come quello odierno, infatti, chi prima parte prima ottimizza e meglio compete con una concorrenza agguerrita. Ciascuna nuova tecnologia, infatti, genera una nuvola di migliori soluzioni per tutte le attività, facendo via via crescere nuovi competitor che oggi non devono affrontare la gestione del legacy.

Per scegliere la soluzione migliore è necessario quindi fare un completo assessment del patrimonio software aziendale e scegliere le modernizzazioni più ampie possibili, ma lasciando attivo nella versione attuale ciò che non conviene toccare e che comunque andrà integrato nel nuovo sistema. Mettere dati e processi nella condizione di fluire senza intoppi sarà quindi il risultato di un efficace ammodernamento del parco applicativo implementato punto per punto sulla propria azienda.