Advanceds automatiserade COBOL Refactoring-lösning omstrukturerar COBOL-program, samt de som skrivits i CA-Gen, CA-Telon, Natural, ADSO och andra äldre språk, för att leverera molnaktiverade program och databaser som är funktionellt likvärdiga med deras äldre motsvarigheter. Detta minskar kostnaderna, möjliggör djupare integrering och möjliggör anpassning för att uppfylla affärskraven. Dessutom låser den upp en helt ny värld av kvalitet och skalbarhet, från automatiserad testning till kvalitetssäkring och möjligheten att dra nytta av containerbaserade distributioner och orkestrering med Docker och Kubernetes.
Stordatorarkitektur
Här är ett exempelsystem där automatiserad factoring kan användas:
Arbetsflöde
A. Användare tillhandahåller indata via TCP/IP med hjälp av protokoll som TN3270, HTTP och HTTPS.
B. Indata tas emot med standardprotokoll för stordatorer.
C. Batch- och onlineprogram bearbetar indata.
D. COBOL, PL/I, Assembler och kompatibla språk körs i en aktiverad miljö.
E. Filer och databaser tillhandahåller datalagring. Databastyperna omfattar hierarkisk, nätverks- och relationstyp.
F. Tjänsterna utför uppgifter för programmen. Tjänster som ofta är aktiverade är programkörning, I/O-åtgärder, felidentifiering och skydd.
G. Mellanprograms- och verktygstjänster hanterar uppgifter som bandlagring, köning, utdata och webbsupport.
H. Operativsystemen tillhandahåller gränssnittet mellan motorn och den programvara som den kör.
I. Partitioner kör separata arbetsbelastningar eller separerar arbetstyper i miljön.
Azure-arkitektur
Det här är arkitekturen i exempelsystemet som visas ovan när det omstruktureras för Azure. Observera att bildtexterna i diagrammen visar var den omstrukturerade lösningen hanterar motsvarande stordatorfunktioner.
Ladda ned en Visio-fil med den här arkitekturen.
Arbetsflöde
Indata kommer vanligtvis antingen via Azure ExpressRoute från fjärrklienter eller från andra Azure-program. I båda fallen är TCP/IP-anslutningar det primära sättet att ansluta till systemet. Användaråtkomsten till webbprogram sker via TLS-port 443. Du kan behålla användargränssnittet för webbprogrammen på samma sätt för att minimera slutanvändarnas omträning, eller så kan du uppdatera det med hjälp av moderna UX-ramverk. Azure Bastion ger administratörsåtkomst till de virtuella datorerna (VM), vilket maximerar säkerheten genom att minimera öppna portar.
En gång i Azure är åtkomsten till programberäkningskluster via en Azure-lastbalanserare. Med den här metoden kan skalbara beräkningsresurser bearbeta indataarbetet. Beroende på indata kan du belastningsutjämning på programnivå eller nätverksprotokollnivå.
Advanced stöder distribution i containrar, virtuella datorer eller VM-skalningsuppsättningar. Containrar och VM-skalningsuppsättningar, till skillnad från virtuella datorer, kan skalas ut och in snabbt. Om du flyttar enheten för skalning till containrar optimeras infrastrukturanvändningen.
Programservrar tar emot indata i beräkningskluster och delar programtillstånd och data med hjälp av Azure Cache for Redis eller Rdma (Remote Direct Memory Access).
Datatjänster i programkluster tillåter flera anslutningar till beständiga datakällor. Möjliga datakällor är:
- Azure SQL Database.
- Azure Cosmos DB.
- Databaser på virtuella datorer, till exempel Oracle och Db2.
- Lagringsplatser för stordata som Azure Databricks och Azure Data Lake.
- Strömmande datatjänster som Kafka och Azure Stream Analytics.
Programservrarna är värd för olika program baserat på språkets funktioner, till exempel Java-klasser eller COBOL-program.
Datatjänster använder en kombination av:
Lagring med höga prestanda: Azure Premium SSD och Azure Ultra Disk Storage.
Fillagring: Azure NetApp Files och Azure Files.
Standardlagring: Azure Blob Storage, arkiv och säkerhetskopiering. Säkerhetskopian kan vara:
- Lokalt redundant lagring (LRS).
- Zonredundant lagring (ZRS).
- Geo-redundant lagring (GRS).
- Geo-zonredundant lagring (GZRS).
Mer information om redundans finns i Azure Storage-redundans.
PaaS-datatjänster (Plattform som en tjänst) i Azure tillhandahåller skalbar och högtillgänglig datalagring som kan delas över flera beräkningsresurser i ett kluster. Dessa kan också vara geo-redundanta.
Azure Data Factory kan mata in data och synkronisera med flera datakällor både i Azure och från externa källor. Azure Blob Storage är en vanlig landningszon för externa datakällor.
Azure Site Recovery tillhandahåller haveriberedskap för de virtuella dator- och containerklusterkomponenterna.
Program ansluter till privata slutpunkter för de olika PaaS-tjänsterna.
Komponenter
Det här exemplet innehåller följande Azure-komponenter. Flera av dessa komponenter och arbetsflöden är utbytbara eller valfria beroende på ditt scenario.
- Azure ExpressRoute utökar dina lokala nätverk till Azure via en privat, dedikerad fiberanslutning från en anslutningsleverantör. ExpressRoute upprättar anslutningar till Microsofts molntjänster som Azure och Microsoft 365.
- Azure Bastion tillhandahåller sömlös RDP-anslutning (Remote Desktop Protocol) eller SSH-anslutning (Secure Shell) till virtuella nätverksdatorer från Azure Portal via TLS (Transport Layer Security). Azure Bastion maximerar administratörsåtkomstsäkerheten genom att minimera öppna portar.
- Azure Load Balancer distribuerar inkommande trafik till beräkningsresursklustren. Du kan definiera regler och andra kriterier för att distribuera trafiken.
- Azure Kubernetes Service (AKS) är en fullständigt hanterad Kubernetes-tjänst för att distribuera och hantera containerbaserade program. AKS erbjuder serverlösa Kubernetes, en integrerad ci/CD-upplevelse (kontinuerlig integrering och kontinuerlig leverans) och säkerhet och styrning i företagsklass.
- Azure Virtual Machines erbjuder många storlekar och typer av skalbara beräkningsresurser på begäran. Med virtuella Azure-datorer får du flexibiliteten i virtualisering utan att behöva köpa och underhålla fysisk maskinvara.
- Azure Virtual Network är den grundläggande byggstenen i privata Azure-nätverk. Virtuella datorer i virtuella nätverk kan kommunicera säkert med varandra, internet och lokala nätverk. Ett virtuellt nätverk är som ett traditionellt lokalt nätverk, men med Azure-infrastrukturfördelar som skalbarhet, hög tillgänglighet och isolering.
- Azure Private Link tillhandahåller privata anslutningar från ett virtuellt nätverk till Azure-tjänster. Private Link eliminerar exponering för offentligt Internet för att förenkla nätverksarkitekturen och skydda anslutningarna mellan Azure-slutpunkter.
- Azure Cache for Redis lägger till ett snabbt cachelagringslager i programarkitekturen för att hantera stora volymer med hög hastighet. Azure Cache for Redis skalar prestanda enkelt och kostnadseffektivt, med fördelarna med en fullständigt hanterad tjänst.
- Azure Storage är skalbar och säker molnlagring för alla dina data, program och arbetsbelastningar.
- Azure Disk Storage är högpresterande, beständig blocklagring för affärskritiska program. Azure-hanterade diskar är lagringsvolymer på blocknivå som hanteras av Azure på virtuella Azure-datorer. Tillgängliga typer av disklagring är Ultra Disk Storage, Premium SSD, Standard SSD och Standard HDD. Den här arkitekturen använder antingen Premium SSD eller Ultra Disk Storage.
- Azure Files erbjuder fullständigt hanterade filresurser i molnet som är tillgängliga via SMB-protokollet (Server Message Block). Molnbaserade och lokala Windows-, Linux- och macOS-distributioner kan montera filresurser samtidigt.
- Azure NetApp Files tillhandahåller Azure-filresurser i företagsklass som drivs av NetApp. Azure NetApp Files gör det enkelt för företag att migrera och köra komplexa, filbaserade program utan kodändringar.
- Azure Blob Storage är skalbar och säker objektlagring för arkiv, datasjöar, databehandling med höga prestanda, maskininlärning och molnbaserade arbetsbelastningar.
- Azure-databaser erbjuder ett urval av fullständigt hanterade relations- och NoSQL-databaser för att passa moderna programbehov. Automatiserad infrastrukturhantering ger skalbarhet, tillgänglighet och säkerhet.
- Azure SQL Database är en fullständigt hanterad PaaS-databasmotor. SQL Database körs alltid på den senaste stabila versionen av SQL Server och ett korrigerat operativsystem med hög tillgänglighet. Inbyggda PaaS-databashanteringsfunktioner omfattar uppgradering, korrigering, säkerhetskopiering och övervakning. Du kan fokusera på domänspecifik, affärskritisk databasadministration och optimering.
- Azure Database for PostgreSQL är en fullständigt hanterad databas baserad på postgreSQL-relationsdatabasmotorn med öppen källkod. Distributionsalternativet Hyperskala (Citus) skalar frågor över flera datorer med hjälp av horisontell partitionering för program som kräver större skalning och prestanda.
- Azure Cosmos DB är en fullständigt hanterad, snabb NoSQL-databas med öppna API:er för valfri skala.
- Azure Site Recovery speglar virtuella Azure-datorer till en sekundär Azure-region för snabb redundans och dataåterställning om ett Azure-datacenter misslyckas.
- Azure Data Factory är en ETL-tjänst (extract, transform and load) för utskalning, serverlös dataintegrering och datatransformering. Tjänsten har ett kodlöst användargränssnitt för intuitiv redigering och enkel övervakning och hantering.
Information om scenario
Det finns många anledningar att leta efter alternativ till cobol-baserade stordatorprogram som fortfarande är vanliga:
- COBOL- och CA-Gen/Natural/Telon/ASDO-utvecklare går i pension och ingen tränas att ersätta dem, vilket resulterar i en stadigt minskande talangpool. I takt med att talangbristen växer ökar kostnaderna och riskerna med att förlita sig på COBOL och andra äldre språk.
- Programmen har inte utformats för modern IT, vilket resulterar i svåra integreringar och begränsad flexibilitet.
- IBM-stordatormaskinvara och programvara är dyra, och licens- och underhållsavgifterna för tillhörande stordatorprogram och databaser ökar.
Advanceds automatiserade COBOL Refactoring-lösning omstrukturerar COBOL-program, samt de som skrivits andra äldre språk, för att leverera molnaktiverade program och databaser som är funktionellt likvärdiga med deras äldre motsvarigheter. Detta minskar kostnaderna, möjliggör djupare integrering och möjliggör anpassning för att uppfylla affärskraven. Dessutom låser den upp en helt ny värld av kvalitet och skalbarhet, från automatiserad testning till kvalitetssäkring och möjligheten att dra nytta av containerbaserade distributioner och orkestrering med Docker och Kubernetes.
De omstrukturerade programmen:
- Är funktionellt likvärdiga med originalen.
- Är lätta att underhålla – de uppnår SonarQube A-betyg och följer objektorienterade begrepp och paradigm.
- Prestera lika bra som, eller bättre än, originalen.
- Är molnklara och levereras med hjälp av en Standard DevOps-verktygskedja och metodtips.
Refaktoriseringsprocessen omfattar flödesnormalisering, kodomstrukturering, extrahering av datalager, ombyggnad av data och paketering för återuppbyggnad. Processen identifierar klonad kod och skapar delade ersättningsobjekt, vilket förenklar underhåll och hanterbarhet. Komplex data- och kontrollberoendeanalys letar upp och tar bort död kod.
När den avancerade lösningen omstrukturerar COBOL-programmen och associerade databaser kan Java- och C#-utvecklare använda DevOps-standardverktyg och CI/CD-begrepp för att utöka programfunktionerna. Refaktoriseringsprocessen bevarar affärslogik och optimerar prestanda. Ytterligare fördelar är elasticitet, detaljerad tjänstdefinition och enkel integrering med molnbaserade tjänster.
Automatisk COBOL-refaktorisering är tillgänglig för de flesta COBOL-dialekter och plattformar, inklusive z/OS, OpenVMS och VME.
Potentiella användningsfall
Avancerad refaktorisering gynnar många scenarier, bland annat:
- Företag som vill:
- Modernisera infrastrukturen och undvik de orimliga kostnader, begränsningar och stelhet som är associerade med stordatorer.
- Undvik den risk som är förknippad med kompetensbrist i äldre system och program genom att gå molnbaserat och DevOps.
- Minska kostnaderna för drift- och kapitalutgifter.
- Organisationer som vill migrera stordatorarbetsbelastningar till molnet utan kostsamma och felbenägna manuella omskrivningar.
- Organisationer som behöver migrera affärskritiska program och samtidigt upprätthålla kontinuitet med andra lokala program.
- Team som letar efter den horisontella och vertikala skalbarhet som Azure erbjuder.
- Företag som föredrar lösningar som har alternativ för haveriberedskap.
Att tänka på
Använd följande grundpelare i Microsoft Azure Well-Architected Framework för ett system med hög tillgänglighet och säkerhet:
Tillgänglighet
- Arkitekturen använder Azure Site Recovery för att spegla virtuella Azure-datorer till en sekundär Azure-region för snabb redundans och haveriberedskap om ett Azure-datacenter misslyckas.
- Replikering av automatisk redundans i Azure hanterar databasreplikeringen och redundansväxlingen till den sekundära regionen.
Operations
Refaktorisering stöder inte bara snabbare molnimplementering, utan främjar även implementering av DevOps- och Agile-arbetsprinciper. Du har fullständig flexibilitet när det gäller distributionsalternativ för utveckling och produktion.
Säkerhet
Den här lösningen använder en Azure-nätverkssäkerhetsgrupp för att hantera trafik mellan Azure-resurser. Mer information finns i Nätverkssäkerhetsgrupper.
Private Link för Azure SQL Database tillhandahåller en privat, direkt anslutning som är isolerad till Azure-nätverkets stamnät från de virtuella Azure-datorerna till Azure SQL Database.
Azure Bastion maximerar administratörsåtkomstsäkerheten genom att minimera öppna portar. Bastion ger säker och sömlös RDP/SSH-anslutning till virtuella nätverksdatorer direkt från Azure Portal via TLS.
Motståndskraft
Återhämtning är inbyggd i den här lösningen av lastbalanserarna. Om en presentation eller transaktionsserver misslyckas kan andra servrar bakom lastbalanserarna köra arbetsbelastningarna enligt reglerna och hälsoavsökningarna. Tillgänglighetsuppsättningar och geo-redundant lagring rekommenderas starkt.
Kostnadsoptimering
Azure undviker onödiga kostnader genom att identifiera rätt antal resurstyper, analysera utgifter över tid och skala för att uppfylla affärsbehov utan överförbrukning.
- Azure tillhandahåller kostnadsoptimering genom att köra på virtuella datorer. Du kan inaktivera de virtuella datorerna när de inte används och skriva ett schema för kända användningsmönster. Mer information om kostnadsoptimering för VM-instanser finns i Azure Well-Architected Framework .
- De virtuella datorerna i den här arkitekturen använder antingen Premium SSD eller Ultra Disk Storage. Mer information om diskalternativ och priser finns i Priser för hanterade diskar.
- SQL Database optimerar kostnaderna med serverlösa beräknings- och Hyperskala-lagringsresurser som skalas automatiskt. Mer information om SQL Database-alternativ och priser finns i Prissättning för Azure SQL Database.
- Använd priskalkylatorn för att beräkna kostnaderna för din implementering av den här lösningen.
Deltagare
Den här artikeln underhålls av Microsoft. Det har ursprungligen skrivits av följande medarbetare.
Huvudförfattare:
- Bhaskar Bandam | Senior TPM
Om du vill se icke-offentliga LinkedIn-profiler loggar du in på LinkedIn.
Nästa steg
- Om du vill ha mer information kontaktar legacy2azure@microsoft.comdu .
- Moderniseringsplattform som en tjänst (ModPaaS)
- Advanceds automatiserade COBOL-refaktoriseringslösning
- Fallstudie: Modernisera till molnet medan racing klockan.