Omstrukturera stordatorprogram med Advanced
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.
Jag. 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 Bastion är en fullständigt hanterad tjänst som tillhandahåller säker RDP-anslutning (Remote Desktop Protocol) eller SSH-anslutning (Secure Shell) till virtuella nätverksdatorer direkt från Azure-portalen via TLS (Transport Layer Security). I den här arkitekturen maximerar Azure Bastion administratörsåtkomstsäkerheten genom att minimera öppna portar till de virtuella datorer som är värdar för de omstrukturerade COBOL-programmen. 
- Azure Cache for Redis är en fullständigt hanterad minnesintern cachelagringstjänst som 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. I den här arkitekturen gör Azure Cache for Redis det möjligt för programservrar att dela programtillstånd och data mellan beräkningskluster för de omstrukturerade stordatorprogrammen. 
- Azure Data Factory är en ETL-tjänst (extract, transform and load) för utskalning, serverlös dataintegrering och datatransformering. Det ger ett kodfritt användargränssnitt för intuitiv redigering och övervakning och hantering av en enda fönsterruta. I den här arkitekturen tillhandahåller Azure Data Factory funktioner för dataintegrering och transformering för migrering och bearbetning av stordatordata i den omstrukturerade lösningen. 
- Azure-databaser är en samling molnbaserade databastjänster som tillhandahåller fullständigt hanterade relations- och NoSQL-databaser som passar moderna programbehov. Automatiserad infrastrukturhantering ger skalbarhet, tillgänglighet och säkerhet. I den här arkitekturen tillhandahåller Azure-databaser beständiga datalagringslösningar för att ersätta stordatordatabassystem. - Azure Cosmos DB är en fullständigt hanterad, snabb NoSQL-databas med öppna API:er för valfri skala. I den här arkitekturen tillhandahåller Azure Cosmos DB globalt distribuerade NoSQL-databastjänster för omstrukturerade program som kräver flexibel, skalbar datalagring. 
- 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. I den här arkitekturen tillhandahåller Azure Database for PostgreSQL relationsdatabastjänster med öppen källkod för omstrukturerade program som kräver PostgreSQL-funktioner. 
- SQL Database är en fullständigt hanterad PaaS-databasmotor som alltid körs 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. I den här arkitekturen tillhandahåller SQL Database hanterade relationsdatabastjänster för omstrukturerade program som kräver SQL Server-kompatibilitet. 
 
- Azure Kubernetes Service (AKS) är en fullständigt hanterad Kubernetes-tjänst för att distribuera och hantera containerbaserade program. AKS tillhandahåller serverlösa Kubernetes, en integrerad ci/CD-upplevelse (kontinuerlig integrering och kontinuerlig leverans) och säkerhet och styrning i företagsklass. I den här arkitekturen tillhandahåller AKS containerorkestrering för distribution och skalning av de omstrukturerade COBOL-programmen med snabba utskalningsfunktioner. 
- Azure Load Balancer är en nätverkslastbalanserare som distribuerar inkommande trafik över flera mål för att säkerställa hög tillgänglighet och tillförlitlighet. Du kan definiera regler och andra kriterier för att distribuera trafiken. I den här arkitekturen ger Load Balancer åtkomst till programberäkningskluster och gör det möjligt att skala ut beräkningsresurser för att bearbeta indataarbetet från omstrukturerade stordatorprogram. 
- Azure Private Link är en nätverkstjänst som tillhandahåller privat anslutning 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. I den här arkitekturen gör Private Link att de omstrukturerade programmen kan ansluta säkert till privata slutpunkter för olika PaaS-tjänster. 
- Azure Storage är skalbar och säker molnlagring för alla dina data, program och arbetsbelastningar. I den här arkitekturen tillhandahåller Azure Storage olika lagringsalternativ som stöder datakraven för omstrukturerade stordatorprogram. - 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, Azure Standard SSD och Azure Standard HDD. I den här arkitekturen tillhandahåller Azure Disk Storage lagring med höga prestanda för de omstrukturerade programmen med hjälp av antingen Premium SSD eller Ultra Disk Storage. 
- Azure Files är en fullständigt hanterad filresurstjänst som tillhandahåller fullständigt hanterade filresurser i molnet som kan nås via SMB-protokollet (Server Message Block). Molnbaserade och lokala Windows-, Linux- och macOS-distributioner kan montera filresurser samtidigt. I den här arkitekturen tillhandahåller Azure Files delad fillagring som kan nås av flera instanser av de omstrukturerade programmen. 
 
- Azure Virtual Machines är en molntjänst för databehandling som tillhandahåller många storlekar och typer av skalbara beräkningsresurser på begäran. Med hjälp av Virtual Machines får du flexibiliteten i virtualisering utan att behöva köpa och underhålla fysisk maskinvara. I den här arkitekturen är Virtual Machines värd för de omstrukturerade stordatorprogrammen och tillhandahåller skalbara beräkningsresurser som ett alternativ till containerbaserade distributioner. 
- 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. I den här arkitekturen tillhandahåller Virtual Network den säkra nätverksgrunden för alla komponenter i det omstrukturerade stordatorsystemet. 
- Blob Storage är skalbar och säker objektlagring för arkiv, datasjöar, högpresterande databehandling, maskininlärning och molnbaserade arbetsbelastningar. I den här arkitekturen tillhandahåller Blob Storage objektlagring för ostrukturerade data och arkiveringskrav för de omstrukturerade stordatorprogrammen. 
- ExpressRoute är en anslutningstjänst som 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. I den här arkitekturen tillhandahåller ExpressRoute säker anslutning med hög bandbredd mellan lokala stordatormiljöer och de omstrukturerade program som körs i Azure. 
- NetApp Files är en fullständigt hanterad fillagringstjänst som tillhandahåller Azure-filresurser i företagsklass som drivs av NetApp, vilket gör det enkelt för företag att migrera och köra komplexa filbaserade program utan kodändringar. I den här arkitekturen tillhandahåller NetApp Files högpresterande fillagring för omstrukturerade stordatorprogram i företagsklass som kräver avancerade filsystemfunktioner. 
- Site Recovery är en haveriberedskapstjänst som speglar virtuella Azure-datorer till en sekundär Azure-region för snabb redundans och dataåterställning om ett Azure-datacenter misslyckas. I den här arkitekturen tillhandahåller Site Recovery funktioner för affärskontinuitet och haveriberedskap för de omstrukturerade stordatorprogrammen. 
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å
Dessa överväganden implementerar grundpelarna i Azure Well-Architected Framework, som är en uppsättning vägledande grundsatser som kan användas för att förbättra kvaliteten på en arbetsbelastning. Mer information finns i Microsoft Azure Well-Architected Framework.
Tillförlitlighet
Tillförlitlighet säkerställer att ditt program kan uppfylla de åtaganden du gör gentemot dina kunder. Mer information finns i checklistan för Designgranskning för tillförlitlighet.
Å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.
Säkerhet
Säkerhet ger garantier mot avsiktliga attacker och missbruk av dina värdefulla data och system. Mer information finns i checklistan för Designgranskning för Security.
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.
Kostnadsoptimering
Kostnadsoptimering handlar om att titta på sätt att minska onödiga utgifter och förbättra drifteffektiviteten. Mer information finns i checklistan Designgranskning för 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.
Operativ skicklighet
Operational Excellence omfattar de driftsprocesser som distribuerar ett program och håller det igång i produktion. Mer information finns i checklistan för Designgranskning för Operational Excellence.
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.
Prestandaeffektivitet
Prestandaeffektivitet är arbetsbelastningens förmåga att skala för att uppfylla användarnas krav på ett effektivt sätt. Mer information finns i checklistan för Designgranskning för prestandaeffektivitet.
- 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.
Deltagare
Den här artikeln underhålls av Microsoft. Det har ursprungligen skrivits av följande medarbetare.
Huvudförfattare:
- Bhaskar Bandam - Sverige | Äldre 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 .
- Automatiserad COBOL Refactoring Factsheet (PDF)
 
              
              