Eseguire il refactoring delle applicazioni mainframe con Astadia

Azure ExpressRoute
Azure Bastion
Azure Load Balancer
Collegamento privato di Azure
Azure Site Recovery

La soluzione di refactoring COBOL automatizzata di Astadia offre applicazioni e database abilitati per il cloud che eseguono le stesse operazioni delle controparti legacy. Le applicazioni con refactoring vengono eseguite come applicazioni Azure nelle macchine virtuali fornite da Azure Macchine virtuali. Azure ExpressRoute li rende disponibili agli utenti e Azure Load Balancer distribuisce il carico.

Architettura dei mainframe

Ecco un'architettura mainframe che rappresenta il tipo di sistema adatto alla soluzione di refactoring Astadia.

Diagramma per un'architettura mainframe adatta al refactoring astadia.

Scaricare un file di Visio di questa architettura.

Flusso di dati

  1. L'input utente TN3270 e HTTP(S) arriva tramite TCP/IP.
  2. L'input mainframe usa protocolli mainframe standard.
  3. Sono disponibili applicazioni batch e online.
  4. Le applicazioni scritte in COBOL, PL/I, Assembler e altri linguaggi vengono eseguite in un ambiente abilitato.
  5. I dati vengono conservati in file e in database gerarchici, di rete e relazionali.
  6. I servizi comunemente usati includono l'esecuzione del programma, le operazioni di I/O, il rilevamento degli errori e la protezione all'interno dell'ambiente.
  7. I servizi middleware e di utilità gestiscono l'archiviazione su nastro, la coda, l'output e l'attività Web.
  8. Ogni sistema operativo viene eseguito nella propria partizione.
  9. Le partizioni separano carichi di lavoro o tipi di lavoro diversi.

Architettura di Azure

Ecco un'architettura di Azure per sostituire la funzionalità mainframe con le applicazioni con refactoring.

Diagramma dell'architettura per una soluzione di refactoring Astadia.

Scaricare un file di Visio di questa architettura.

Flusso di dati

  1. L'input proviene da client remoti e altri utenti tramite ExpressRoute. TCP/IP è il modo principale per connettersi al sistema.
    • Gli utenti locali accedono alle applicazioni basate sul Web sulla porta Transport Layer Security (TLS) 443. Le interfacce utente rimangono invariate per ridurre al minimo il training dell'utente finale.
    • L'accesso amministrativo locale usa gli host Azure Bastion.
    • Gli utenti di Azure si connettono al sistema tramite il peering di reti virtuali.
  2. Load Balancer gestisce l'accesso ai cluster di calcolo dell'applicazione. Load Balancer supporta le risorse di calcolo scale-out per gestire l'input. Opera a livello di livello 7, applicazione o livello 4, a livello di rete, a seconda dell'input dell'applicazione.
  3. Le librerie di runtime astadia eseguono applicazioni con refactoring in Azure Macchine virtuali. Le risorse di calcolo usano l'unità SSD Premium di Azure o il disco Ultra di Azure Archiviazione dischi gestiti con rete accelerata.
  4. I servizi dati nei cluster di applicazioni supportano più connessioni a origini dati permanenti. collegamento privato di Azure fornisce connettività privata dall'interno della rete virtuale ai servizi di Azure. Le origini dati includono servizi dati come database SQL di Azure e Azure PostgreSQL.
  5. L'archiviazione dei dati è con ridondanza locale o con ridondanza geografica, a seconda dell'utilizzo. Si tratta di una combinazione di:
    • Archiviazione ad alte prestazioni:
      • SSD Premium
      • Archiviazione su disco Ultra
    • UNITÀ SSD Standard di Azure, inclusi BLOB, archivio e archiviazione di backup
  6. I servizi dati di Azure offrono un'archiviazione dati scalabile e a disponibilità elevata che condividono i cluster di calcolo. L'archiviazione può essere con ridondanza geografica.
    • Archiviazione BLOB di Azure funge da zona di destinazione per i dati provenienti da origini dati esterne.
    • Azure Data Factory inserisce i dati e sincronizza più origini dati di Azure ed esterne.
  7. Azure Site Recovery offre il ripristino di emergenza per le macchine virtuali (VM) e i componenti del cluster contenitore.
  8. I servizi come Microsoft Entra ID, Rete di Azure, Azure DevOps, Analisi di flusso di Azure, Azure Databricks, GitHub e Power BI sono facilmente integrati con il sistema modernizzato.

Componenti

  • ExpressRoute estende le reti locali in Azure tramite una connessione fiber privata e dedicata da un provider di connettività. ExpressRoute stabilisce connessioni a servizi cloud Microsoft come Azure e Microsoft 365.
  • Azure Bastion offre la connettività RDP (Remote Desktop Protocol) o SSH (Secure Shell) facile alle macchine virtuali della rete virtuale dal portale di Azure tramite TLS. Azure Bastion ottimizza la sicurezza degli accessi amministrativi riducendo al minimo le porte aperte.
  • Load Balancer distribuisce il traffico in ingresso ai cluster di risorse di calcolo. Usa regole configurabili e altri criteri per distribuire il traffico.
  • Azure Macchine virtuali offre molte dimensioni e tipi di macchine virtuali scalabili su richiesta. Con Azure Macchine virtuali si ottiene la flessibilità della virtualizzazione e non è necessario acquistare e gestire l'hardware fisico.
  • Rete virtuale di Azure è il blocco predefinito fondamentale per le reti private di Azure. Le macchine virtuali all'interno delle reti virtuali comunicano in modo sicuro tra loro, con Internet e con le reti locali. Una rete virtuale è simile a una rete locale tradizionale, ma con vantaggi dell'infrastruttura di Azure come scalabilità, disponibilità elevata e isolamento.
  • collegamento privato offre connettività privata dalle reti virtuali ai servizi di Azure. Collegamento privato semplifica l'architettura di rete e protegge la connessione tra gli endpoint di Azure eliminando l'esposizione alla rete Internet pubblica.
  • Archiviazione di Azure offre un'archiviazione cloud scalabile e sicura per tutti i dati, le applicazioni e i carichi di lavoro.
    • Archiviazione su disco di Azure offre archiviazione a blocchi durevole e a prestazioni elevate per applicazioni aziendali di importanza critica. I dischi gestiti di Azure sono volumi di archiviazione a livello di blocco gestiti da Azure nelle macchine virtuali. I tipi di dischi disponibili sono Ultra Disk Archiviazione, Ssd Premium, SSD Standard e HDD Standard di Azure. Questa architettura usa dischi SSD Premium o Archiviazione su disco Ultra.
    • File di Azure fornisce condivisioni file completamente gestite nel cloud a cui si accede tramite il protocollo SMB (Server Message Block) standard del settore. Le distribuzioni di Windows, Linux e macOS locali e cloud condividono l'accesso montando contemporaneamente condivisioni file.
    • Azure NetApp Files offre condivisioni file di Azure di livello aziendale basate su NetApp. NetApp Files semplifica la migrazione e l'esecuzione di applicazioni complesse basate su file senza modificare il codice.
    • L'Archiviazione BLOB è scalabile e sicura per archivi, data lake, elaborazione ad alte prestazioni, Machine Learning e carichi di lavoro nativi del cloud.
  • Azure ha database relazionali, NoSQL e in memoria completamente gestiti per soddisfare le esigenze moderne dell'applicazione. La gestione automatizzata dell'infrastruttura offre scalabilità, disponibilità e sicurezza. Per una panoramica dei tipi di database, vedere Tipi di database in Azure.
    • database SQL è un motore di database completamente gestito. Il database SQL viene sempre eseguito sulla versione stabile più recente di SQL Server e su un sistema operativo con patch con disponibilità elevata. Le funzionalità di gestione predefinite del database includono l'aggiornamento, l'applicazione di patch, i backup e il monitoraggio. Grazie a queste attività, è possibile concentrarsi sull'amministrazione e l'ottimizzazione del database business critical specifici del dominio.
    • Database di Azure per PostgreSQL è un database completamente gestito basato sul motore di database relazionale Postgres open source. Per le applicazioni che richiedono maggiore scalabilità e prestazioni, l'opzione di distribuzione Hyperscale (Citus) ridimensiona le query su più computer partizionandole.
    • Azure Cosmos DB è il database NoSQL veloce completamente gestito con API aperte per qualsiasi scala.
  • Site Recovery esegue il mirroring delle macchine virtuali in un'area di Azure secondaria per il failover rapido e il ripristino di emergenza in caso di errore di un data center di Azure.
  • Data Factory è un servizio di estrazione, trasferimento e caricamento (ETL) per l'integrazione e la trasformazione dei dati serverless con scalabilità orizzontale. Offre un'interfaccia utente senza codice per la creazione intuitiva di contenuti e una singola console per il monitoraggio e la gestione.

Dettagli dello scenario

Ci sono motivi importanti per cui le aziende devono sostituire i loro sistemi COBOL e mainframe:

  • Scarsità di esperienza di dominio: gli sviluppatori che comprendono la tecnologia COBOL e mainframe stanno ritirando e pochi sviluppatori sono addestrati per sostituirli. Il pool di talenti diventa costantemente più piccolo e i costi e i rischi di affidarsi all'aumento della COBOL.
  • Flessibilità limitata: COBOL e i sistemi sottostanti che lo supportano non sono stati progettati per applicazioni moderne basate sul cloud. Sono flessibili e difficili da integrare.
  • Costi esorcizzanti: i costi hardware e software del mainframe IBM sono elevati. I costi di licenza e manutenzione per le applicazioni mainframe ausiliarie e i database aumentano.

Esiste un modo in avanti per i sistemi COBOL e mainframe. La soluzione di refactoring COBOL automatizzata di Astadia offre applicazioni e database abilitati per il cloud che eseguono le stesse operazioni delle controparti legacy. Le applicazioni con refactoring vengono eseguite come applicazioni Azure nelle macchine virtuali fornite da Azure Macchine virtuali. Azure ExpressRoute li rende disponibili agli utenti e Azure Load Balancer distribuisce il carico.

Il refactoring riduce i costi e consente un'integrazione più approfondita e la personalizzazione per soddisfare i requisiti aziendali. I problemi e i costi di COBOL e il mainframe danno modo a un nuovo mondo di qualità e scalabilità che include:

  • Test automatizzati e controllo di qualità.
  • Docker e Kubernetes per la distribuzione e l'orchestrazione in contenitori.

La soluzione di refactoring crea applicazioni che:

  • Sono funzionalmente equivalenti alle controparti originali.
  • Sono scritti in Java o C#.
  • Seguire i concetti e i paradigmi orientati agli oggetti.
  • Sono facili da gestire.
  • Eseguire e le applicazioni che sostituiscono o migliorare.
  • Sono pronti per il cloud.
  • Vengono recapitati usando una toolchain DevOps standard e procedure consigliate.

Il processo di refactoring include normalizzazione del flusso, ristrutturazione del codice, estrazione del livello dati, rimodellamento dei dati e creazione di pacchetti per la ricostruzione. Identifica il codice clonato e lo sostituisce con oggetti condivisi per semplificare la manutenzione e la gestibilità. Il processo identifica e rimuove anche il codice inattivo analizzando i dati e controllare le dipendenze.

Gli sviluppatori Java e C# adattano le applicazioni con refactoring per l'ottimizzazione del cloud usando gli strumenti DevOps standard e i concetti di integrazione continua e recapito continuo (CI/CD). Tali strumenti e metodi non sono disponibili per le applicazioni mainframe. L'ottimizzazione offre efficienza e vantaggi aziendali, ad esempio elasticità, definizione granulare del servizio e facile integrazione con i servizi nativi del cloud.

Potenziali casi d'uso

Il refactoring automatizzato è disponibile per la maggior parte dei dialetti e delle piattaforme COBOL, tra cui z/OS, OpenVMS e VME. I candidati per l'uso includono le organizzazioni che cercano di:

  • Modernizzare l'infrastruttura ed evitare i costi elevati, le limitazioni e la rigidità dei sistemi mainframe.
  • Evitare i rischi di carenza di COBOL e sviluppatori di mainframe.
  • Ridurre i costi operativi e le spese in conto capitale.
  • Spostare i carichi di lavoro del mainframe nel cloud senza i costi e i rischi di riscritture manuali prolungate.
  • Eseguire la migrazione di applicazioni cruciali nel cloud mantenendo al tempo stesso la continuità con altre applicazioni locali.
  • Rendere i sistemi orizzontalmente e verticalmente scalabili.
  • Implementare tecniche di ripristino di emergenza.

Considerazioni

Le considerazioni contenute in questa sezione, basate su Microsoft Well-Architected Framework, si applicano a questa soluzione.

DevOps

Il refactoring non solo supporta l'adozione più rapida del cloud, ma promuove anche l'adozione di DevOps e dei principi di sviluppo agile. Si ha piena flessibilità nelle opzioni di sviluppo e distribuzione di produzione.

Affidabilità

  • L'architettura usa Site Recovery per eseguire il mirroring delle macchine virtuali in un'area di Azure secondaria per il failover rapido e il ripristino di emergenza in caso di errore di un data center di Azure.
  • La funzionalità gruppi di failover automatico di database SQL fornisce la protezione dei dati gestendo la replica del database e il failover nell'area secondaria. Per altre informazioni, vedere Panoramica dei gruppi di failover automatico e procedure consigliate (database SQL di Azure).
  • La resilienza è integrata in questa soluzione usando Load Balancer. Se un server di presentazione o transazione ha esito negativo, gli altri server eseguono i carichi di lavoro.
  • È consigliabile creare set di disponibilità per le macchine virtuali per aumentare la disponibilità. Per altre informazioni, vedere Panoramica dei set di disponibilità.
  • È consigliabile usare la replica geografica per aumentare l'affidabilità. Per altre informazioni, vedere Ridondanza di Archiviazione di Azure.

Scalabilità

Questa soluzione supporta la distribuzione in contenitori, macchine virtuali o set di scalabilità di macchine virtuali. Contenitori e set di scalabilità di macchine virtuali, a differenza delle macchine virtuali, aumentare e ridurre rapidamente le istanze. Lo spostamento dell'unità di dimensionamento ai contenitori consente di ottimizzare l'utilizzo dell'infrastruttura.

Sicurezza

  • Questa soluzione usa un gruppo di sicurezza di rete di Azure per gestire il traffico da e verso le risorse di Azure. Per altre informazioni, vedere Gruppi di sicurezza di rete.
  • collegamento privato per database SQL di Azure fornisce una connessione privata e diretta isolata al backbone di rete di Azure e eseguita tra macchine virtuali e database SQL.
  • Azure Bastion ottimizza la sicurezza degli accessi amministrativi riducendo al minimo le porte aperte. Offre connettività RDP/SSH sicura e trasparente alle macchine virtuali di rete virtuale direttamente dalla portale di Azure tramite TLS.

Ottimizzazione dei costi

  • Azure evita i costi non necessari identificando il numero corretto di tipi di risorse, analizzando le spese nel tempo e ridimensionando in anticipo per soddisfare le esigenze aziendali senza sovraccaricare.
  • Azure riduce al minimo i costi eseguendo le macchine virtuali. È possibile disattivare le macchine virtuali che non vengono usate e specificare una pianificazione per i modelli di utilizzo noti. Per altre informazioni sull'ottimizzazione dei costi per le macchine virtuali, vedere Macchine virtuali.
  • Le macchine virtuali in questa architettura usano dischi SSD Premium o Archiviazione su disco Ultra. Per altre informazioni sulle opzioni per i dischi e i prezzi, vedere Prezzi di Managed Disks.
  • Il database SQL ottimizza i costi con risorse di calcolo serverless e di archiviazione Hyperscale con scalabilità automatica. Per altre informazioni sulle opzioni per i database SQL e i prezzi, vedere Prezzi di database SQL di Azure.
  • Usare il Calcolatore prezzi di Azure per stimare i costi per l'implementazione di questa soluzione.

Collaboratori

Questo articolo viene gestito da Microsoft. Originariamente è stato scritto dai seguenti contributori.

Autore principale:

Altro collaboratore:

Passaggi successivi

  • Per ulteriori informazioni, contatta legacy2azure@microsoft.com.

Azure

Sito Web astadia

Altro