- Quali sono le quattro strategie di modernizzazione del mainframe?
- Rehost, replatform, refactor e retain. Il rehost sposta il carico di lavoro su un emulatore o un'istanza cloud senza modificare il codice. Il replatform sostituisce il livello di runtime (database, transaction manager, scheduler) lasciando intatto il codice dell'applicazione. Il refactor riscrive il codice in un linguaggio moderno preservando la logica di business. Il retain mantiene deliberatamente il carico di lavoro sul mainframe. Le grandi organizzazioni normalmente ne applicano diverse all'interno di un unico portfolio piuttosto che sceglierne una sola.
- Conviene eseguire il rehosting o il refactoring delle applicazioni COBOL?
- Dipende dalla frequenza con cui il codice cambia e dal costo di un eventuale errore. Il rehosting è più rapido e comporta meno rischi, ma mantiene sia il codice legacy sia la dipendenza dalle competenze specifiche, pertanto è adatto a carichi di lavoro stabili soggetti a pressioni legate all'hardware o al data center. Il refactoring elimina definitivamente la dipendenza dal COBOL ed è indicato per i carichi di lavoro con un backlog di modifiche attivo, ma ha costi superiori e fallisce se le regole di business originali non sono mai state documentate. La decisione va presa per singolo carico di lavoro basandosi sullo storico delle modifiche, anziché a livello di intero portafoglio.
- Perché le migrazioni da COBOL a Java falliscono?
- Raramente a causa della sintassi. Falliscono perché le specifiche non sono mai state messe per iscritto, quindi nessuno può dimostrare che il sistema riscritto sia corretto; perché l'aritmetica differisce tra il formato packed decimal del COBOL e la virgola mobile di Java, producendo derive silenziose negli arrotondamenti anziché crash; perché le suite di test codificano il comportamento attuale sui percorsi che qualcuno ha pensato di testare, anziché il comportamento corretto su tutti i percorsi; perché i costi di ricertificazione normativa vengono scoperti in ritardo; e perché gli esperti che conoscono il sistema vanno in pensione durante il programma.
- Quanto tempo richiede la modernizzazione del mainframe?
- Dipende molto più dal livello di comprensione del sistema esistente che dalla quantità di codice. I portafogli con documentazione aggiornata ed esperti in materia disponibili procedono nell'arco di trimestri. I portafogli in cui le regole di business esistono solo come comportamento dedicano la maggior parte del tempo alla fase di discovery, prima di iniziare qualsiasi attività di migrazione. Per questo motivo, la documentazione e l'acquisizione della conoscenza sono prerequisiti, anziché flussi di lavoro paralleli.
- È mai opportuno lasciare un workload sul mainframe?
- Sì. I workload stabili e ad alto throughput, che cambiano raramente e sono economici da gestire (i processi di settlement batch ne sono l'esempio più evidente), sono spesso già adeguati allo scopo e spostarli aggiunge rischi senza offrire nuove funzionalità. Il retain è una strategia legittima quando viene scelto in modo deliberato e documentato. Non è invece una strategia mantenere un workload che nessuno sa spiegare, perché la conoscenza andrà comunque persa quando il team andrà in pensione.