Den här referensarkitekturen visar hur du kan använda Azure för att återskapa ett z/OS-stordatorprogram för att leverera ett säkert, skalbart och mycket tillgängligt system i molnet med Azure. På grund av ständigt föränderliga affärsbehov måste data och program leverera och skala utan att påverka infrastrukturen. Om du omkonstruerar till molnet kan företag inom ekonomi, hälsa, försäkring och detaljhandel minimera sina leveranstider för produkter eller funktioner och minska kostnaderna.
Stordatorarkitektur
Det första diagrammet visar arkitekturen för ett typiskt batchprogram som körs på en z/OS-stordator.
Ladda ned en Visio-fil av den här arkitekturen.
Arbetsflöde
Batchprocesser för stordatorer kan utlösas vid en schemalagd tidpunkt med hjälp av en OPC-schemaläggare (Operation, Planning och Control). De kan också utlösas av ett meddelande som placeras i en meddelandekö, till exempel ett meddelande som meddelar att en fil har skapats.
En stordator med direktåtkomstlagringsenhet (DASD) används för att lagra indata- och utdatafiler. till exempel flata filer som krävs av programmet. Du kan utlösa batchprocessen genom att skapa en fil på DASD-lagringen.
Batchprocessen är en körning av en uppsättning jobb, till exempel ett jobb som internt kör en användare eller ett systemprogram för att utföra en viss uppgift. Vanligtvis körs batchprocesser utan användarinteraktion. Alla batchjobb i en stordator körs under kontroll av ett jobbkörningssystem (JES).
Program i batchprocesser kan läsa/skriva data från:
- En filbaserad databas som VSAM (Virtual Storage Access Method).
- En relationsdatabas som Db2 eller Informix.
- En icke-relationell databas som Information Management System (IMS).
- En meddelandekö.
Utdata från jobbkörningen kan övervakas via en OPC-schemaläggare eller Tivoli Workload Scheduler (TWS). En systemvisnings- och sökfunktion (SDSF) i JES används också i stordatorn för att kontrollera jobbets körningsstatus.
Hanteringsnivån tillhandahåller följande tjänster:
- Källkontroll, till exempel Endevor eller Changeman.
- Säkerhet, till exempel RESOURCE Access Control Facility (RACF). Den här säkerheten ger autentisering för att köra batchar, komma åt filer och komma åt databasen.
- Utdatahantering som stöder lagring och sökning av jobbkörningsloggar.
Azure-arkitektur
Det andra diagrammet visar hur du kan använda Azure-tjänster för att återskapa ett liknande program med ytterligare funktioner och flexibilitet.
Ladda ned en Visio-fil av den här arkitekturen.
Arbetsflöde
Använd någon av följande utlösare för att starta Azure-batchprocessen.
- Använd Azure Databricks jobbschemaläggare eller Azure Function scheduler.
- Skapa en återkommande batchprocessuppgift med Azure Logic Apps.
- Använd en lagringshändelse, som att skapa eller ta bort en fil i Azure Blob eller File Storage.
- Använd en meddelandebaserad utlösare, till exempel ankomsten av ett meddelande på Azure Service Bus-.
- Skapa en Azure Data Factory- utlösare.
Lagra filer som migrerats från stordatorn med hjälp av Azure Blob Storage eller Azure Files. Batch-processer som har omkonstruerats i Azure kan läsa/skriva data från den här lagringen.
Azure tillhandahåller olika tjänster för att implementera en batcharbetsbelastning för stordatorer. Välj specifika tjänster som baseras på dina affärsbehov. Till exempel den beräkningskraft som krävs, total körningstid, möjligheten att dela upp stordatorns batchprocess i mindre enheter och kostnadskänslighet.
- Azure Databricks är en Apache Spark-baserad analysplattform. Jobb kan skrivas på språken R, Python, Java, Scala och Spark SQL. Den ger en beräkningsmiljö med snabba starttider för klustret, automatisk avslutning och automatisk skalning. Den har inbyggd integrering med Azure Storage som Azure Blob Storage och Azure Data Lake Storage. Använd Azure Databricks om du behöver bearbeta stora mängder data på kort tid. Det är också ett bra alternativ om du behöver köra arbetsbelastningar för extrahering, transformering och inläsning (ETL).
- AKS och Service Fabric tillhandahåller en infrastruktur för att implementera en tjänstbaserad programarkitektur. Det kanske inte är kostnadseffektivt för ett enda program. Du kan omstrukturera ditt stordatorprogram med Java Spring Boot. Det bästa sättet att köra Spring Boot-appar på Azure är att använda Azure Spring Apps, en fullständigt hanterad Spring-tjänst. Java-utvecklare kan använda den för att enkelt skapa och köra Spring Boot Microservices på Azure.
- Du kan återskapa ditt batchprogram för stordatorer med hjälp av .NET eller Java. Batch tillhandahåller infrastrukturen för att köra programmet i stor skala. Den skapar och hanterar en pool med virtuella datorer , installerar programmen och schemalägger sedan jobb som ska köras på de virtuella datorerna. Det finns ingen programvara för kluster eller jobbschemaläggare för att installera, hantera eller skala. Skriv program på valfritt programmeringsspråk som stöds av Windows eller Linux.
- Du kan återskapa cobol- eller PL/1-batchprogram som körs på nytt. För dessa program använder du Azure-tjänster som Functions, WebJobs eller Logic Apps.
Azure tillhandahåller olika datatjänster för att lagra och hämta data.
- Du kan migrera relationsdatabaser för stordatorer som Db2 och Informix med minimala ändringar i Azure-relationsdatabasens synlighet. Till exempel relationsdatabastjänster som virtuella Azure SQL-datorer, Azure SQL DB eller Azure SQL MI. Du kan också använda valfritt relationsdatabashanteringssystem med öppen källkod (RDBMS) som Azure PostgreSQL. Valet av en Azure-databas beror på typen av arbetsbelastning, frågor mellan databaser, krav för två faser och många andra faktorer.
- Du kan migrera icke-relationella stordatorer som IMS, Integrated Data Management System (IDMS) eller VSAM till Azure Cosmos DB. Azure Cosmos DB ger snabba svarstider, automatisk och omedelbar skalbarhet och garanterad hastighet i valfri skala. Det är ett kostnadseffektivt alternativ för oförutsägbara eller sporadiska arbetsbelastningar av valfri storlek eller skala. Utvecklare kan enkelt komma igång utan att behöva planera för eller hantera kapacitet.
- Du kan använda Azure Cache for Redis för att påskynda ett omkonstruerat program.
Program, operativsystemet och Azure-resurser kan använda agenter för att skicka loggar och mått för att Azure Monitor-loggar.
- Application Insight övervakar ditt migrerade program. Den identifierar automatiskt prestandaavvikelser och innehåller kraftfulla analysverktyg som hjälper dig att diagnostisera problem.
- Azure Log Analytics- hjälper till att lagra, indexa, fråga och härleda analys från de loggdata som samlas in.
Du kan använda utdata från Log Analytics och Application Insights för att skapa aviseringar och instrumentpaneler eller exportera till externa tjänster. Du kan också använda utdata för att utföra en åtgärd som skalning av en virtuell dator.
Den här nivån tillhandahåller Azure-tjänster för källkontroll, säkerhet och utdatahantering. Dessa tjänster kan bestå av Azure DevOps och Microsoft Entra-ID.
Komponenter
Nätverk och identitet
- Azure ExpressRoute: Med ExpressRoute kan du utöka dina lokala nätverk till Microsoft-molnet via en privat anslutning från en anslutningsleverantör. Med ExpressRoute kan du upprätta anslutningar till Microsofts molntjänster som Microsoft Azure och Office 365.
- Azure VPN Gateway: En VPN-gateway är en specifik typ av virtuell nätverksgateway som används för att skicka krypterad trafik mellan ett virtuellt Azure-nätverk och en lokal plats via det offentliga Internet.
- Microsoft Entra ID: Microsoft Entra ID är en identitets- och åtkomsthanteringstjänst som kan synkroniseras med en lokal katalog.
Tillämpning
- Logic Apps: Logic Apps hjälper dig att skapa och köra automatiserade återkommande uppgifter och processer enligt ett schema. Du kan anropa tjänster i och utanför Azure som HTTP- eller HTTPS-slutpunkter. Du kan också publicera meddelanden till Azure-tjänster som Azure Service Bus eller hämta filer som laddats upp till en filresurs.
- Service Bus: Du kan använda Service Bus för meddelanden mellan ett användargränssnitt och serverdelstjänster. Det här systemet kan frikoppla program och tjänster och öka tillförlitligheten och användningen.
- Azure Databricks: Azure Databricks är ett molnbaserat datateknikverktyg som används för bearbetning och transformering av stora mängder data. Du kan sedan utforska dessa data via maskininlärningsmodeller.
- Azure Spring Apps: Azure Spring Apps gör det enkelt att distribuera, hantera och köra Spring-mikrotjänster till Azure. Det stöder både Java och .NET Core.
- AKS: AKS förenklar distributionen av ett hanterat Kubernetes-kluster i Azure genom att avlasta driftkostnaderna till Azure.
- Batch: Batch är utformat för att köra batchberäkning för generell användning i molnet på många virtuella datorer som kan skalas baserat på den arbetsbelastning som körs. Det passar perfekt för ETL- eller AI-användningsfall där flera uppgifter utförs parallellt, oberoende av varandra.
- Functions: Använd Functions för att köra små koddelar utan att behöva bekymra dig om programinfrastrukturen. Med Functions tillhandahåller molninfrastrukturen alla up-to-date-servrar som du behöver för att hålla programmet igång i stor skala.
- Azure App Service: Med WebJobs, en funktion i App Service, kan du koda återanvändbar bakgrundsaffärslogik som webbjobb.
- Azure Cache for Redis: Program som använder en stor mängd serverdelsdata kan utvecklas för att skala och leverera en mycket optimerad prestanda genom att integrera med ett minnesinternt datalager som Redis. Azure Cache for Redis erbjuder både Redis med öppen källkod (OSS Redis) och en kommersiell produkt från Redis Labs, Redis Enterprise, som en hanterad tjänst.
Lagring
Azure Storage innehåller flera nivåer av frekventa, lågfrekventa och arkiverade data. Effektiv användning av dessa lagringsnivåer kan ge dig en pris-till-prestanda-fördel.
- Blob Storage-: Skalbar och säker objektlagring för molnbaserade arbetsbelastningar, arkiv, datasjöar, högpresterande databehandling och maskininlärning.
- Azure Files: Enkla, säkra och serverlösa molnfilresurser i företagsklass. Azure Files kan särskilt vara praktiskt för omkonstruerade stordatorlösningar. Det ger ett effektivt tillägg för den hanterade SQL-lagringen.
- Table Storage: Ett NoSQL-nyckelvärdeslager för snabb utveckling med hjälp av stora halvstrukturerade datamängder.
- Azure Queue Storage-: Enkel, kostnadseffektiv, varaktig meddelandekö för stora arbetsbelastningar.
- Azure SQL: Azures fullständigt hanterade tjänstfamilj för SQL Server. Du kan migrera och använda relationsdata effektivt med andra Azure-tjänster som Azure SQL Managed Instance, SQL Server på Azure Virtual Machines och Azure Database for MariaDB.
- Azure Cosmos DB-: Ett no-SQL-erbjudande som du kan använda för att migrera data som inte är tabelldata från stordatorerna.
Övervakning
- Azure Monitor-: Azure Monitor tillhandahåller en omfattande lösning för insamling, analys och hantering av telemetri från molnmiljöer och lokala miljöer. Den innehåller funktionerna Application Insights, Azure Monitor-loggar och Azure Log Analytics.
Ledning
Azure DevOps: Omkonstruera stordatorprogram i Azure under varje fas av programvaruutveckling och teamsamarbete. DevOps tillhandahåller följande tjänster:
- Azure Boards: Agil planering, spårning av arbetsobjekt, visualisering och rapporteringsverktyg.
- Azure Pipelines: En språk-, plattforms- och molnagnostisk CI/CD-plattform med stöd för containrar eller Kubernetes.
- Azure Repos: Tillhandahåller molnbaserade privata git-lagringsplatser.
- Azure Artifacts: Tillhandahåller integrerad pakethantering med stöd för Maven-, npm-, Python- och NuGet-paketflöden från offentliga eller privata källor.
- Azure Test Plans: tillhandahåller en integrerad, planerad och undersökande testlösning.
Scenarioinformation
Stordatorer används främst för bearbetning av stora mängder data. Batchbearbetning är ett sätt att bearbeta en stor mängd transaktioner som grupperas tillsammans och sedan göra massuppdateringar mot databasen. När de har utlösts kräver de minimal eller ingen användarinteraktion. Stordatorsystem gör det till exempel möjligt för banker och andra finansinstitut att bearbeta och producera rapporter i slutet av kvartalet, till exempel kvartalsvisa lager eller pensionsutdrag.
Potentiella användningsfall
Den här lösningen är idealisk för ekonomi-, försäkrings-, hälsovårds- och detaljhandelsindustrin. Använd den här arkitekturen för att återskapa stordatorprogram i Azure. Arkitekturen fungerar bäst för:
- Resursintensiva batchprogram för stordatorer.
- Batchprogram som behöver hög beräkning under en viss tid, till exempel slutet av månaden, kvartalet eller året.
- Batchprocesser för stordatorer som är repetitiva och inte resursintensiva men som kan behöva utnyttjas av externa system.
Överväganden
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.
- Du kan använda Azure Monitor och Application Insights, förutom Log Analytics, för att övervaka hälsotillståndet för en Azure-resurs. Ange aviseringar för att proaktivt hantera din resurshälsa.
- Mer information om återhämtning i Azure finns i Utforma tillförlitliga Azure-program.
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 referensarkitekturen använder ExpressRoute för en privat och effektiv anslutning till Azure från den lokala miljön. Men du kan också skapa en plats till plats-VPN-.
- Du kan autentisera Azure-resurser med hjälp av Microsoft Entra-ID. Du kan hantera behörigheter med rollbaserad åtkomstkontroll (RBAC).
- Databastjänster i Azure har stöd för olika säkerhetsalternativ som datakryptering i vila.
- Mer information om hur du utformar säkra lösningar finns i Azure-säkerhetsdokumentation.
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.
Använd priskalkylatorn för Azure för att beräkna kostnaderna för Azure-resurser.
Se Batch-program för Azure-stordatorer för ett exempel på kostnadsuppskattning av tjänster.
Operational Excellence
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.
- Batcharkitekturen i den här artikeln använder databehandling med flera noder eller PaaS-tjänster, som ger hög tillgänglighet.
- Azure Database Services stöder zonredundans och du kan utforma dem för redundansväxling till en sekundär nod om det uppstår ett avbrott eller under ett underhållsperiod.
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.
Följande Azure-tjänster i den här arkitekturen har funktioner för automatisk skalning:
- Azure Databricks
- AKS
- Spring Apps
- Batch
- Azure Functions
- Logic Apps
Mer information om automatisk skalning i Azure finns i guiden autoskalning.
Bidragsgivare
Den här artikeln underhålls av Microsoft. Den skrevs ursprungligen av följande deltagare.
Huvudförfattare:
- Ashish Khandelwal | Principal Engineering Architecture Manager
Om du vill se icke-offentliga LinkedIn-profiler loggar du in på LinkedIn.
Nästa steg
- Kontakta datasqlninja@microsoft.comom du vill ha mer information.
- Se Azure-databasmigreringsguider.