COBOL sulla nuvola

COBOL a la nube

Migrare COBOL sulla nuvola sembra un obiettivo raggiungibile data la situazione attuale della tecnologia.

Ad esempio, l’apparizione di nuovi compilatori o emulazioni apre diversi percorsi per accedere alla nuvola, i traduttori da COBOL a linguaggi più moderni appaiono come opzioni candidate.

L’accesso mobile e il cloud computing sono tecnologie sempre più richieste e la tecnologia sottostante nelle applicazioni COBOL non sembra essere troppo amichevole con queste piattaforme tecnologiche.

Crediamo che la perfetta combinazione di strumenti e esperienza renda il percorso da COBOL alla nuvola basato su presupposti più solidi e fondati.

Facciamo il primo passo per intraprendere questo viaggio che ormai è considerato come inevitabile.

COBOL sulla nuvola: un’introduzione

Da quando Grace Hopper ha stabilito le basi su cui è stato costruito il COBOL nel 1959 e dopo il suo lungo percorso verso la standardizzazione, questo linguaggio di programmazione ha guadagnato posizioni fino a diventare la spina dorsale dell’informatica aziendale che si trova principalmente nei mainframe.

Non dobbiamo dimenticare che molte delle sue prime applicazioni sono state promosse e sviluppate dal e per il Dipartimento della Difesa degli Stati Uniti, quindi questa spinta iniziale al COBOL è stata senza dubbio determinante per il alto grado di penetrazione che ha ottenuto nel mercato dello sviluppo informatico.

Da allora, il COBOL non ha smesso di aggiornarsi e, sebbene sia una questione opinabile i progressi fatti in questo campo, quello che non possiamo negare è che la stessa architettura su cui è costruito il COBOL è diventata obsoleta. E questo limita seriamente la capacità del codice sviluppato in COBOL di adattarsi ai moderni paradigmi dello sviluppo software o alla sicurezza intrinseca richiesta nelle attuali applicazioni data l’interoperabilità necessaria.

Chi sta spingendo il viaggio da COBOL alla nube?

In qualche modo, è proprio il Ministero della Difesa e il governo degli Stati Uniti che stanno anche promuovendo la migrazione delle applicazioni ereditate in COBOL verso ambienti più moderni. E ovviamente, non lo fanno perché sia di moda.

Tutta l’infrastruttura su cui venivano costruiti i sistemi sviluppati in COBOL soffre di alcuni problemi di affidabilità, scalabilità, documentazione insufficiente e manca di caratteristiche moderne come i microservizi o la containerizzazione, mantenendoli isolati dalle migliorie future previste.

Tampoco possiamo ignorare il fatto che, in qualche modo, la pressione sulla necessità di migrare la massiccia pensionamento dei programmatori incaricati dello sviluppo delle applicazioni ha anche giocato un ruolo.

Per queste ragioni, il governo degli Stati Uniti ha convenuto che la migrazione verso un ambiente Cloud, basato su linguaggi di programmazione moderni, era un compito che doveva essere avviato senza ulteriori ritardi.

Il Dipartimento della Difesa ha valutato diverse tecnologie e ha testato varie soluzioni come rehosting, refactoring e emulatori COBOL.

Infine, ha definito 3 grandi fasi da seguire come necessarie per affrontare il processo di migrazione:

  • Fase uno: conversione di codice automatizzata. Refactoring da COBOL a Java.
  • Fase due: la pulizia. Rimozione di qualsiasi pezzo di codice persistente di COBOL.
  • Fase tre: il grande movimento. Migrazione verso Cloud propriamente detta.

Visto in grandi linee, la definizione di queste fasi sembra logica e di buon senso, ma non va in profondità su tutto ciò che coinvolge il processo di migrazione dal COBOL alla nube.

In effetti, ci sono centinaia di consigli su come fare il primo passo in rete. Consigli sui generis che presentano un volto o l’altro del viaggio di migrazione.

Per esempio, possiamo trovare consigli del tipo seguente per migrare COBOL in cloud:

  • Sistemi di decoupling: cerca punti di divisione che separano le vecchie applicazioni dal paradigma di “tutto incluso”.
  • Integra, automatizza e poi sostituisci le tecnologie: ottimizza l’integrazione delle parti decouplate. Verifica quale tecnologia risponde meglio alle tue esigenze.
  • Elimina le tecnologie di blocco: identifica dove rallenta o blocca il flusso di informazioni.
    Adotta pratiche agili di sviluppo: DevOps e codice aperto è il nuovo paradigma.

Ancora una volta, sembrano logici e pieni di senso comune, ma sembra che ci troviamo in un mare di consigli e altri consigli, quindi la domanda del milione è: qual è la strada da seguire?

L’ambiente di migrazione.

Come abbiamo sottolineato finora, per migrare da COBOL alla nube dobbiamo passare attraverso diverse fasi e per questo abbiamo diverse soluzioni.

Il caso è decidere quali fattori determinano la scelta della soluzione scelta e quali saranno le fasi da completare per una migrazione di successo.

Da un lato, dobbiamo decidere quanto vogliamo conservare della struttura dell’applicazione legacy e, dall’altro, quanto vogliamo sfruttare della nuova tecnologia del cloud.

Sono due estremi che dovranno essere definiti per determinare i passi da seguire in una migrazione priva di problemi.

Occorre abbandonare l’idea che la migrazione del carico di lavoro COBOL sulla nuvola si riduca solo a una ricompilazione del codice in un determinato emulatore COBOL o a una trasformazione allegra del codice originale in un linguaggio di programmazione più moderno.

Evidentemente, ci sono soluzioni disponibili, ma dovremmo prendere molto seriamente i vantaggi e gli svantaggi di ciascuna di esse.

A volte è facile perdere di vista che l’architettura di codifica è EBCDIC e che la modalità di programmazione che imperava in quelle decadi era puramente transazionale e di elaborazione batch. Inoltre, la creazione delle applicazioni COBOL seguiva il paradigma tradizionale di replicare informaticamente un processo che veniva eseguito a mano.

Ma l’approccio attuale è molto diverso. Oggi si iniziano a studiare gli oggetti (dati) che saranno modificati da metodi (processi).

Il nuovo paradigma è: i dati prima.

La strategia del viaggio COBOL sulla nuvola

Per trasformare da un paradigma all’altro, è necessaria una strategia solida. Fondata su strumenti e metodologie di efficacia provata.

Ad esempio, citando alcuni strumenti: abbiamo bisogno di analizzatori grammaticali e la possibilità di rappresentazione di alberi sintattici astratti. E, oltre a questi, abbiamo bisogno di una tecnologia supportata dall’esperienza.

In altre parole, un approccio di efficacia verificata che dimostri di essere una metodologia che può essere ripetuta e adattata di fronte ai sfide che presenta la modernizzazione necessaria per trasformare un’applicazione ereditata, da COBOL alla nuvola.

In sintesi: da COBOL alla nuvola.

Come è stato detto innumerevoli volte, la maggior parte delle applicazioni mission-critical sono scritti in COBOL e la nuvola è vista ora come un modo per aggiungere un extra di flessibilità all’intera infrastruttura, inoltre, essere nella nuvola permette di scalare con investimenti minimi.

Il mercato si muove senza sosta verso ambienti moderni di sviluppo come DevOps e la nuvola sembra un destino veramente efficace e accessibile.

Non è un’opzione rimanere fuori. È il momento di prendere decisioni e valutare i costi e i tempi per modernizzare la nostra piattaforma legacy e, senza dubbio, la nuvola è arrivata per restare.

In Base100 offriamo una prova di concetto che ti consente di vedere come funziona una parte del tuo sistema in un nuovo ambiente.

I compiti di modernizzazione iniziano con l’utilizzo di Caravel Insight, valutando il parco installato, dove rileviamo e inventariamo l’intera applicazione ereditata per capire a fondo ciò che ci troviamo di fronte.

Il compito di ispezionare, rilevare e capire non smette di essere difficile, ma crediamo fermamente che sia il modo corretto di avvicinarsi all’architettura originaria per ridurre al minimo i rischi nell’architettura di destinazione, senza menzionare che mantiene sotto controllo i costi e i rischi da assumere.

Base100

In Base100, come partner tecnologici di Google Cloud, offriamo un determinato insieme di strumenti e prodotti al fine di garantire il successo in qualsiasi processo di implementazione di soluzioni miste di modernizzazione del Mainframe e del hardware midrange proprietario.

Ti interessa la proposta?

Continuiamo ad avanzare, parliamo di modernizzazione!

Contattaci