Redigera

Dela via


Återskapa batchprogram för stordatorer i Azure

Azure Data Factory
Azure Databricks
Azure Kubernetes Service (AKS)
Azure SQL Database
Azure Storage

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.

Diagram över ett typiskt batchprogram som körs på en z/OS-stordator.

Ladda ned en Visio-fil med den här arkitekturen.

Arbetsflöde

  1. 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.

  2. 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.

  3. 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).

  4. 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ö.
  5. 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.

  6. 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.

Diagram över ett batchprogram som har omkonstruerats med Hjälp av Azure-tjänster. Flera exempeltjänster ingår.

Ladda ned en Visio-fil med den här arkitekturen.

Arbetsflöde

  1. Använd någon av följande utlösare för att starta Azure-batchprocessen.

    • Använd Azure Databricks-jobbschemaläggaren eller Azure Function-schemaläggaren.
    • 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 .
  2. 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.

  3. 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.

    1. 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).
    2. 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.
    3. 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.
    4. 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.
  4. 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 Datahantering 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.
  5. Program, operativsystemet och Azure-resurser kan använda agenter för att skicka loggar och mått till 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.

  6. 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.

Program

  • 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 över 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.
  • Funktioner: Använd Functions för att köra små koddelar utan att behöva bekymra dig om programinfrastrukturen. Med Functions tillhandahåller molninfrastrukturen alla uppdaterade 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 affärslogik i bakgrunden 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, databehandling med höga prestanda 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 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 icke-tabelldata från stordatorerna.

Övervakning

  • Azure Monitor: Azure Monitor tillhandahåller en omfattande lösning för att samla in, analysera och agera på telemetri från molnmiljöer och lokala miljöer. Den innehåller funktionerna Application Insights, Azure Monitor-loggar och Azure Log Analytics.

Hantering

  • Azure DevOps: Omkonstruera stordatorprogram i Azure under varje fas av programvaruutveckling och teamsamarbete. DevOps tillhandahåller följande tjänster:

    • Azure Boards: Flexibel 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.

Information om scenario

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.

Att tänka på

Tillgänglighet

  • 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.

Skalbarhet

  • 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 för automatisk skalning.

Säkerhet

  • 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 Dokumentation om Azure-säkerhet.

Motståndskraft

  • 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 Designa tillförlitliga Azure-program.

Kostnadsoptimering

Använd priskalkylatorn för Azure för att beräkna kostnaderna för Azure-resurser.

Se Batch-programmet för Azure-stordatorer för en exempelkostnadsuppskattning av tjänster.

Deltagare

Den här artikeln underhålls av Microsoft. Det har ursprungligen skrivits av följande medarbetare.

Huvudförfattare:

Om du vill se icke-offentliga LinkedIn-profiler loggar du in på LinkedIn.

Nästa steg