Eseguire il rehosting delle applicazioni mainframe in Azure con compilatori Raincode

Macchine virtuali di Azure
Servizio Azure Kubernetes
File di Azure
Azure ExpressRoute
Azure Load Balancer

Questa architettura illustra come il compilatore Raincode COBOL modernizza le applicazioni legacy mainframe eseguendo facilmente la migrazione e l'integrazione con uno stack di tecnologie moderno basato su Azure senza modificare una singola riga di codice. Grazie alla tecnologia del compilatore di Raincode, è possibile mantenere le applicazioni mainframe ottimizzate correnti e distribuirle nel cloud, consentendo di preservare decenni di sviluppo migliorando notevolmente le prestazioni e la flessibilità. La soluzione di Raincode mira a trasformare il mainframe in un'architettura nativa di Azure mantenendo la logica di business durante la trasformazione dell'intera architettura. Raincode supporta la flessibilità delle applicazioni in Linux e Windows con distribuzioni di macchine virtuali o in contenitori in Azure.

Architettura

Architettura IBM z/OS legacy

Il diagramma seguente illustra un esempio di architettura mainframe basata su COBOL legacy, prima della migrazione ad Azure.

Diagramma che mostra un'architettura mainframe basata su COBOL legacy.

Scaricare un file di Visio di questa architettura.

Workflow

Le annotazioni seguenti vengono mappate dall'origine IBM z/OS ad Azure:

R. L'emulazione del terminale IBM 3270 per la domanda e gli utenti online viene sostituita da un Web browser per accedere alle risorse di sistema in Azure.

B. COBOL e altro codice dell'applicazione legacy vengono convertiti in C#/.NET. Raincode genera codice thread-safe e gestito al 100% per .NET e .NET Core.

C. Il compilatore RAINCODE COBOL modernizza le applicazioni legacy mainframe eseguendo facilmente la migrazione e l'integrazione con uno stack di tecnologie moderno basato sul cloud senza modificare una singola riga di codice.

D. L'automazione dei carichi di lavoro, la pianificazione, la creazione di report e le funzioni di monitoraggio del sistema possono mantenere le piattaforme correnti, perché sono attualmente in grado di supportare Azure.

E. È possibile eseguire la migrazione di strutture di database legacy come Db2 e IDMS a database SQL di Azure con tutte le funzionalità di ripristino di emergenza/disponibilità elevata offerte da Azure. Raincode supporta anche query SQL statiche o dinamiche tramite SQL Server o nel database SQL di Azure.

F. Le strutture di file (VSAM, file flat, nastro virtuale e simili) eseguono facilmente il mapping ai costrutti di dati di Azure all'interno di file strutturati e/o archiviazione BLOB. Sono disponibili funzionalità come la replica geografica ridondante e la replica del gruppo di failover automatico di Azure per garantire la protezione dei dati.

G. Un sottosistema di stampante facoltativo gestisce le stampanti locali.

H. z/OS in esecuzione in partizioni logiche (LPAR).

I. Le LPAR rappresentano un subset delle risorse hardware di un computer. Ogni LPAR può ospitare un sistema operativo separato. Anche se questo esempio mostra solo istanze Z/OS, altri LPAR in esecuzione nello stesso hardware possono ospitare altri ambienti operativi, ad esempio z/VM o altri motori, ad esempio zIIP o IFL.

Postmigration, architettura basata su Azure

Questo diagramma illustra come eseguire la migrazione dell'architettura legacy ad Azure, sfruttando il compilatore Raincode e molti altri servizi di Azure moderni.

Migrazione dell'architettura legacy al flusso di lavoro di Azure.

Scaricare un file di Visio di questa architettura.

Workflow

  1. L'accesso utente viene fornito tramite la porta TLS 443 per accedere alle applicazioni basate sul Web. Il livello presentazione delle applicazioni basate sul Web può essere mantenuto praticamente invariato per ridurre al minimo il training dell'utente finale. In alternativa, il livello di presentazione dell'applicazione Web può essere aggiornato con framework di esperienza utente moderni in base ai requisiti necessari.

  2. In Azure l'accesso ai cluster di calcolo dell'applicazione è tramite Azure Load Balancer, consentendo alle risorse di calcolo con scalabilità orizzontale di elaborare il lavoro di input.

  3. Il software di emulazione del sistema Raincode può supportare anche la distribuzione nei contenitori. Con la tecnologia del compilatore all'avanguardia di Raincode, è possibile mantenere aggiornate le applicazioni mainframe ottimizzate e distribuirle in .NET Core.

  4. Le applicazioni native del cloud sono una raccolta di servizi indipendenti e autonomi in pacchetto come contenitori leggeri.

    A differenza delle macchine virtuali, i contenitori possono aumentare e aumentare rapidamente il numero di istanze. Poiché l'unità di ridimensionamento passa ai contenitori, l'utilizzo dell'infrastruttura è ottimizzato.

  5. I servizi dati usano una combinazione di archiviazione a prestazioni elevate su dischi SSD (Solid State Disk) Ultra o Premium, archiviazione file in Azure NetApp Files o File di Azure e BLOB standard, archivio e archiviazione di backup che possono essere ridondanti in locale o con ridondanza geografica.

  6. database SQL di Azure l'uso di livelli Hyperscale o Business Critical sia per operazioni di I/O al secondo elevate che per il contratto di servizio con tempo di attività elevato. Inoltre, collegamento privato per database SQL di Azure viene usato per fornire una connessione privata e diretta isolata al backbone di rete di Azure dalla macchina virtuale di Azure alla database SQL di Azure. Gli strumenti di migrazione dei dati Raincode possono convertire schemi DMS/RDMS in SQL.

  7. Archiviazione BLOB di Azure è una zona di destinazione comune per le origini dati esterne.

  8. È necessario creare o già implementare un'implementazione di Active Directory. Raincode fornisce l'integrazione di identità RACF e Top Secret usando le estensioni di Active Directory.

Componenti

  • servizio Azure Kubernetes (servizio Azure Kubernetes) è un servizio Kubernetes completamente gestito per la distribuzione e la gestione di applicazioni in contenitori nei cluster di calcolo basati su contenitori.

  • Rete virtuale di Azure (VNet) è il blocco predefinito fondamentale per la rete privata in Azure. VNet consente a diversi tipi di risorse di Azure, ad esempio Macchine virtuali di Azure, di comunicare in modo sicuro tra di esse, con Internet e con le reti locali. La rete virtuale è simile a una rete tradizionale che si opera nel proprio data center, ma offre maggiori vantaggi dell'infrastruttura di Azure, ad esempio scalabilità, disponibilità e isolamento.

  • File di Azure offre condivisioni file completamente gestite nel cloud, accessibili tramite il protocollo SMB (Server Message Block) standard del settore. Le condivisioni file di Azure possono essere montate simultaneamente da distribuzioni cloud o locali di Windows, macOS e Linux.

  • Azure ExpressRoute consente di estendere le reti locali nel cloud Microsoft tramite una connessione privata fornita da un provider di connettività. Con ExpressRoute è possibile stabilire connessioni ai servizi cloud Microsoft, ad esempio Microsoft Azure e Office 365.

  • Azure Load Balancer opera al livello quattro del modello OSI (Open Systems Interconnect). È l'unico punto di contatto per i client. Load Balancer distribuisce i flussi in ingresso che arrivano al front-end del servizio di bilanciamento del carico alle istanze del pool back-end. Questi flussi sono conformi alle regole di bilanciamento del carico e ai probe di integrità configurati. Le istanze del pool back-end possono essere macchine virtuali o istanze di Azure in un set di scalabilità di macchine virtuali.

  • database SQL di Azure è un motore di database PaaS (Platform as a Service) completamente gestito che esegue sempre la versione stabile più recente di SQL Server e il sistema operativo con patch, con disponibilità del 99,99%. database SQL gestisce l'aggiornamento, l'applicazione di patch, i backup, il monitoraggio e la maggior parte delle altre funzioni di gestione del database senza coinvolgimento dell'utente. Queste funzionalità PaaS consentono di concentrarsi sull'amministrazione e sull'ottimizzazione dei database specifici del dominio aziendali.

  • Azure Cosmos DB è un servizio PaaS di Azure per i database NoSQL.

  • Database di Azure per PostgreSQL è un servizio PaaS di Azure per i database PostgreSQL.

Dettagli dello scenario

Questa architettura illustra come viene eseguita la soluzione Raincode in Azure. Raincode su supporto tecnico di Azure le funzionalità seguenti:

  • Codice thread-safe e gestito al 100% per .NET e .NET Core.

  • Una soluzione destinata principalmente alla trasformazione dei mainframe in un'architettura nativa del cloud.

  • Supporto nativo per query SQL statiche o dinamiche tramite SQL Server locale o nel database SQL di Azure.

  • Supporto per Db2 (tramite HIS di Microsoft) e SQL Server.

  • Integrazione di Visual Studio, con debugger, compilatore, configurazioni,# IntelliSense, colorizer di codice e gestione dei progetti.

  • Supporto per tutti i tipi di dati COBOL, con rappresentazione della memoria mainframe.

  • Integrazione senza problemi con i compilatori PL/I e ASM370.

  • Repository con grafici delle chiamate, statistiche e altre informazioni in fase di compilazione.

  • Supporto EBCDIC nativo in fase di compilazione e runtime.

La migrazione a un'infrastruttura cloud moderna distribuita con Raincode consente di:

  • Facilitare lo sviluppo e la manutenzione in C#.

  • Liberarsi dal carico finanziario dei costi di licenza COBOL.

  • Adottare una piattaforma flessibile e scalabile usando le tecnologie più recenti tramite .NET Core.

  • Integrazione con applicazioni moderne come Web e dispositivi mobili per migliorare l'esperienza dei clienti.

  • Trasformare le applicazioni legacy monolitiche in un'architettura orientata ai micro o ai servizi (SOA).

  • Controllare il costo totale di proprietà (TCO) usando le funzionalità di scalabilità e disponibilità di Azure.

Potenziali casi d'uso

Molti casi d'uso possono trarre vantaggio dal compilatore Raincode; le possibilità includono:

  • Le aziende che cercano di modernizzare l'infrastruttura ed evitare i costi elevati, le limitazioni e la rigidità associati ai mainframe.

  • Riduzione del debito tecnico passando al cloud nativo e DevOps.

  • Riduzione dei costi operativi e di spesa in conto capitale.

  • Le organizzazioni che scelgono di spostare i carichi di lavoro del mainframe IBM zSeries nel cloud senza gli effetti collaterali di una riqualifica completa.

  • Clienti mainframe IBM zSeries che devono eseguire la migrazione di applicazioni cruciali mantenendo al tempo stesso la continuità con altre applicazioni locali.

  • Team che desiderano sfruttare le funzionalità di scalabilità orizzontale e verticale offerte da Azure.

  • Aziende che preferiscono soluzioni che offrono opzioni di ripristino di emergenza.

  • Sfruttare le innovazioni di sviluppo software più recenti: strumenti, framework, linguaggi e procedure.

Considerazioni

A questa soluzione si applicano le considerazioni seguenti.

Disponibilità

  • L'architettura raincode usa Azure Site Recovery per eseguire il mirroring delle macchine virtuali di Azure in un'area secondaria di Azure per il failover rapido e il ripristino di emergenza se un data center di Azure non riesce.

Operazioni

  • Ogni servizio di un'applicazione nativa del cloud passa attraverso un ciclo di vita indipendente, gestito tramite un processo DevOps agile.

  • Più pipeline di integrazione continua/recapito continuo (CI/CD) possono funzionare in parallelo per distribuire e gestire un'applicazione nativa del cloud.

Efficienza prestazionale

  • Le applicazioni native del cloud sono una raccolta di servizi indipendenti e autonomi inclusi come contenitori leggeri.

  • A differenza delle macchine virtuali, i contenitori possono aumentare e aumentare rapidamente il numero di istanze.

  • Poiché l'unità di ridimensionamento passa ai contenitori, l'utilizzo dell'infrastruttura è ottimizzato.

Sicurezza

Ottimizzazione dei costi

  • Il compilatore Raincode COBOL facilita il nuovo sviluppo in C# ed elimina il carico finanziario dei costi di licenza COBOL.

  • Supporto nativo per SQL e CICS. Il codice sorgente sottoposto a debug è lo stesso dell'origine gestita, anziché l'output di un preprocessore.

Collaboratori

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

Autore principale:

Per visualizzare i profili LinkedIn non pubblici, accedere a LinkedIn.

Passaggi successivi

Per altre informazioni, contattare legacy2azure@microsoft.com o consultare le risorse seguenti: