Eseguire il refactoring dell'architettura del mainframe usando CloudFrame Renovate

Macchine virtuali di Azure
Servizio Azure Kubernetes
Rete virtuale di Azure
database SQL di Azure
Azure Site Recovery

CloudFrame Renovate esegue rapidamente la migrazione del codice COBOL a Java Spring Boot Batch, senza compromettere qualità, precisione, equivalenze funzionali o prestazioni. Il rinnovo è uno strumento DIY che usa azioni guidate e automazione per semplificare la migrazione del codice. È sufficiente fornire gli input e scaricare i progetti Maven o Gradle Java. Non sono necessarie competenze o personale specializzato.

Architettura ibm zSeries legacy

Diagramma che mostra l'architettura mainframe prima della migrazione.

Scaricare un file di Visio delle architetture in questo articolo.

Workflow

R. I dati sono input su TCP/IP, inclusi TN3270 e HTTP(S).

B. I dati sono input nel mainframe tramite protocolli mainframe standard.

C. I servizi middleware e di utilità gestiscono servizi come archiviazione su nastro, accodamento, output e servizi Web all'interno dell'ambiente.

D. L'ambiente di esecuzione dell'applicazione batch include la pianificazione, la gestione del carico di lavoro e le operazioni SPOOL.

E. Gli ambienti di elaborazione delle transazioni online offrono disponibilità elevata, gestione del carico di lavoro e gestione delle transazioni conformi a XA.

F. Le applicazioni aziendali scritte in COBOL, PL/I o Assembler (o linguaggi compatibili) vengono eseguite in ambienti abilitati per batch e online.

G. I servizi aziendali condivisi standardzzano soluzioni per servizi condivisi, ad esempio registrazione, gestione degli errori, I/O e servizi aziendali pre-SOA.

H. I dati vengono archiviati in dati e servizi di database come sottosistemi di database gerarchici, di rete e relazionali e indicizzati e sequenziali.

I. Le partizioni del sistema operativo (macchine virtuali) forniscono l'interfaccia tra il motore e il software.

J. L'hypervisor Processor Resource/System Manager (PR/SM) esegue la virtualizzazione hardware diretta per partizionare le macchine fisiche in macchine virtuali.The Processor Resource/System Manager (PR/SM) hypervisor esegue la virtualizzazione hardware diretta per partizionare le macchine fisiche in macchine virtuali (VM).

Architettura di Azure migrata

Diagramma che mostra l'architettura dopo la migrazione ad Azure.

Scaricare un file di Visio delle architetture in questo articolo.

Workflow

  1. I dati vengono in genere inseriti tramite Azure ExpressRoute da client remoti o da altre applicazioni attualmente in esecuzione in Azure. In entrambi i casi, TCP/IP è il mezzo principale di connessione al sistema. La porta TLS 443 fornisce l'accesso utente alle applicazioni basate sul Web. È possibile usare il livello di presentazione dell'applicazione Web praticamente invariato per ridurre al minimo la necessità di training. In alternativa, è possibile aggiornare il livello di presentazione dell'applicazione Web con framework di esperienza utente moderni in base alle esigenze. È possibile usare gli host bastion della macchina virtuale di Azure per fornire all'amministratore l'accesso alle macchine virtuali. In questo modo si migliora la sicurezza riducendo al minimo le porte aperte.

  2. In Azure i servizi di bilanciamento del carico di Azure gestiscono l'accesso ai cluster di calcolo dell'applicazione per offrire disponibilità elevata. Questo approccio consente la scalabilità orizzontale delle risorse di calcolo per elaborare il lavoro di input. Sono disponibili servizi di bilanciamento del carico di livello 7 (livello applicazione) e livello 4 (livello di trasporto). Il tipo usato dipende dall'architettura dell'applicazione e dai payload dell'API nel punto di ingresso del cluster di calcolo.

  3. È possibile eseguire la distribuzione in una macchina virtuale in un cluster di calcolo o in un pod che può essere distribuito in un cluster Kubernetes. I servizi e le applicazioni Java Business creati tramite Renovate vengono eseguiti altrettanto bene nelle macchine virtuali di Azure e nei contenitori azure Kubernetes. Per un'analisi più dettagliata delle opzioni di calcolo, vedere questo albero delle decisioni del servizio di calcolo di Azure.

  4. I server applicazioni ricevono l'input nei cluster di calcolo e condividono lo stato e i dati dell'applicazione usando cache di Azure per Redis o Remote Direct Memory Access (RDMA).

  5. I servizi aziendali e le applicazioni nei cluster applicazioni consentono più connessioni a origini dati persistenti. Queste origini dati possono includere servizi PaaS come database SQL di Azure e Azure Cosmos DB, database in macchine virtuali, ad esempio Oracle o Db2, e repository di Big Data come Azure Databricks e Azure Data Lake. I servizi dati delle applicazioni possono anche connettersi a servizi di dati di streaming come Kafka e Analisi di flusso di Azure.

  6. Rinnovare i servizi di runtime offre compatibilità con le versioni precedenti con le architetture di dati mainframe e l'emulazione dei file system QSAM e VSAM, disaccoppiando la migrazione dei dati a UTF-8 dal refactoring a Java e dal rehosting in Azure. I servizi di runtime aggiuntivi includono la compatibilità con SORT, IDCAMS, utilità IE, gestione della conservazione GDG e altro ancora.

  7. I servizi dati usano una combinazione di archiviazione a prestazioni elevate (SSD Ultra/SSD Premium), archiviazione file (Azure NetApp Files/File di Azure) e archiviazione standard (BLOB, archivio, backup) che possono essere ridondanti in locale o con ridondanza geografica, a seconda dell'uso.

  8. I servizi dati PaaS (Platform as a Service) di Azure offrono un'archiviazione dati scalabile e a disponibilità elevata con ridondanza geografica condivisa tra le risorse di calcolo in un cluster.

  9. Azure Data Factory consente l'inserimento e la sincronizzazione dei dati con più origini dati sia all'interno di Azure che da origini esterne. Archiviazione BLOB di Azure è una zona di destinazione comune per le origini dati esterne.

  10. Azure Site Recovery offre il ripristino di emergenza dei componenti della macchina virtuale e del cluster del contenitore.

Componenti

  • Azure Macchine virtuali è uno dei diversi tipi di risorse di calcolo su richiesta e scalabili fornite da Azure. Una macchina virtuale di Azure offre la flessibilità della virtualizzazione e non è necessario acquistare e gestire l'hardware fisico che lo esegue.
  • servizio Azure Kubernetes (servizio Azure Kubernetes) consente di iniziare a sviluppare e distribuire app native del cloud, con pipeline da codice a cloud predefinite e protezioni.
  • I dischi gestiti ssd di Azure sono volumi di archiviazione a livello di blocco gestiti da Azure e usati con le macchine virtuali di Azure. I tipi di dischi disponibili sono Ultra Disk, Premium SSD, STANDARD SSD e Standard HDD. Per questa architettura, è consigliabile usare il tipo SSD Premium o disco Ultra SSD.
  • Azure Rete virtuale è il blocco predefinito fondamentale per la rete privata in Azure. Rete virtuale consente a molti tipi di risorse di Azure, ad esempio macchine virtuali di Azure, di comunicare tra loro, Internet e reti locali, con sicurezza avanzata. Rete virtuale è simile a una rete tradizionale che si opera nel proprio data center, ma offre vantaggi aggiuntivi, ad esempio scalabilità, disponibilità e isolamento.
  • database SQL di Azure è un motore di database PaaS completamente gestito che gestisce la maggior parte delle funzioni di gestione del database, ad esempio l'aggiornamento, l'applicazione di patch, i backup e il monitoraggio, senza il coinvolgimento dell'utente. database SQL sempre eseguito sulla versione stabile più recente del motore di database di SQL Server e su un sistema operativo con patch.
  • cache di Azure per Redis è una cache gestita distribuita che consente di creare applicazioni altamente scalabili e reattive fornendo accesso rapido ai dati.
  • Data Factory è un servizio di integrazione dei dati basato sul cloud che orchestra e automatizza lo spostamento e la trasformazione dei dati.
  • Azure Site Recovery contribuisce alla strategia di continuità aziendale e ripristino di emergenza orchestrando e automatizzando la replica di macchine virtuali di Azure tra aree, macchine virtuali locali e server fisici in Azure e replicando i computer locali in un data center secondario.

Dettagli dello scenario

L'uso di dati e processi mainframe esistenti riduce il rischio e accelera il time-to-value. CloudFrame Renovate offre compatibilità con le versioni precedenti con architetture di dati mainframe e supporto per utilità mainframe come SORT. È possibile preparare snapshot binari di dati VSAM e QSAM nei file system emulati di CloudFrame, supportati da servizi di Azure come Archiviazione BLOB, Azure Cosmos DB, archiviazione su disco e Azure SQL.

Il refactoring delle applicazioni mainframe tramite Renovate sposta la trasformazione dell'applicazione e dell'infrastruttura da soluzioni legacy proprietarie in tecnologie aperte standardizzate, con benchmark. Questa trasformazione sposta anche i team verso i modelli operativi Agile DevOps.

Il codice Java generato dal rinnovo è facile da comprendere, è valutato A da SonarQube e produce risultati equivalenti a livello funzionale e equivalenti ai dati. Il codice risultante può essere gestito dagli sviluppatori correnti, usando i processi DevOps e le toolchain. Gli sviluppatori non hanno bisogno di conoscere i mainframe o COBOL per gestire l'applicazione sottoposto a refactoring. Il codice risultante è altamente gestibile e il rischio di trasformazione è basso.

Usando l'approccio di modernizzazione incrementale di Renovate, l'utente e non lo strumento o il fornitore di strumenti può determinare la granularità e la velocità del cambiamento. Il refactoring con Renovate è un modo rapido e a basso rischio per spostare i carichi di lavoro COBOL in Java nativo del cloud in Azure.

Potenziali casi d'uso

Il refactoring in Azure usando Renovate può aiutare le organizzazioni e i team che vogliono questi vantaggi:

  • Maggiore controllo dei processi di modernizzazione tramite l'uso di strumenti DIY.
  • Approccio incrementale alla modernizzazione.
  • Strumenti di refactoring automatizzati che possono essere configurati in base ai requisiti personalizzati.
  • Migrazione dei carichi di lavoro mainframe al cloud senza gli effetti collaterali consequenziali di una riscrittura completa.
  • Un'infrastruttura moderna senza strutture di costo, limitazioni e rigidità dei mainframe.
  • Migrazione delle applicazioni principali mantenendo al contempo la continuità con altre applicazioni locali.
  • Soluzioni che offrono diverse opzioni per il ripristino di emergenza.
  • Scalabilità orizzontale e verticale fornita da Azure.

Considerazioni

Queste considerazioni implementano i pilastri di Azure Well-Architected Framework, che è un set di principi guida che possono essere usati per migliorare la qualità di un carico di lavoro. Per altre informazioni, vedere Microsoft Azure Well-Architected Framework.

Affidabilità

L'affidabilità garantisce che l'applicazione possa soddisfare gli impegni che l'utente ha preso con i clienti. Per altre informazioni, vedere Panoramica del pilastro dell'affidabilità.

La disponibilità elevata e le prestazioni sono integrate in questa soluzione a causa dei servizi di bilanciamento del carico e della scalabilità automatica di calcolo. Se una presentazione, una transazione o un server batch ha esito negativo, l'altro server dietro il servizio di bilanciamento del carico gestisce il carico di lavoro. L'architettura usa Site Recovery per eseguire il mirroring delle macchine virtuali di Azure. Usa l'archiviazione PaaS e i servizi di database per la replica in un'area secondaria di Azure per il failover rapido e il ripristino di emergenza in caso di errore di un data center di Azure. Infine, è possibile automatizzare completamente la distribuzione e l'architettura operativa.

Sicurezza

La sicurezza offre garanzie contro attacchi intenzionali e l'abuso di dati e sistemi preziosi. Per altre informazioni, vedere Panoramica del pilastro della sicurezza.

La sicurezza in Azure viene ottenuta tramite un approccio a più livelli di criteri, processi, governance automatizzata e creazione di report sugli eventi imprevisti, training, analisi delle vulnerabilità di rete, test di penetrazione, crittografia e modelli operativi DevSecOps. I servizi come Microsoft Entra ID, Azure Rete virtuale, collegamento privato di Azure e gruppi di sicurezza di rete sono fondamentali per ottenere questa sicurezza avanzata.

Ottimizzazione dei costi

L'ottimizzazione dei costi riguarda la riduzione delle spese non necessarie e il miglioramento dell'efficienza operativa. Per altre informazioni, vedere Panoramica del pilastro di ottimizzazione dei costi.

Azure offre l'ottimizzazione dei costi eseguendo macchine virtuali e pod Kubernetes su hardware di base, eseguendo script di una pianificazione per disattivare le macchine virtuali che non sono in uso e usando i pod Kubernetes per aumentare la densità di distribuzione. Le istanze riservate e spot possono ridurre ulteriormente i costi. Gestione costi Microsoft offre trasparenza sui costi offrendo un'unica visualizzazione unificata dei costi rispetto ai budget. Le prenotazioni di Azure e il piano di risparmio di Azure per il calcolo generano sconti significativi sui prezzi con pagamento in base al consumo. È possibile utilizzare queste offerte separatamente o insieme per complicare il risparmio. Usare il calcolatore prezzi di Azure per stimare il costo dell'implementazione della soluzione.

Collaboratori

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

Autore principale:

  • Jim Dugan | TPM principale

Altri contributori:

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

Passaggi successivi