Omkompilera batchprogram för stordatorer i Azure

Data Factory
Databricks
Kubernetes Service
SQL Database
Storage

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ör massuppdateringar mot databasen. När de har utlösts krävs minimal eller ingen användarinteraktion. Till exempel gör stordatorsystem det möjligt för banker och andra finansiella institutioner att bearbeta och producera rapporter i slutet av kvartalet, till exempel kvartalsvisa aktie- eller pensionsutdrag.

Den här referensarkitekturen visar hur du kan använda Azure för att omkompilera om ett z/OS-batchprogram för stordatorer för att leverera ett säkert, skalbart och mycket tillgängligt system i molnet med hjälp av Azure. På grund av ständigt växande affärsbehov måste data och program leverera och skalas utan att påverka infrastrukturen. Omkonstruktion till molnet kan hjälpa företag inom ekonomi, sjukvård, försäkringsverksamhet och detaljhandel att minimera leveranstiderna för produkter eller funktioner och minska kostnaderna.

Potentiella användningsfall

Använd den här arkitekturen för att omkompilera stordatorprogram i Azure. Arkitekturen fungerar bäst för:

  • Resursintensiva batchprogram för stordatorer.
  • Batch-program som behöver hög beräkning under en viss tid, till exempel slutet av månad, kvartal eller år.
  • Stordatorbatchprocesser som är repetitiva och inte resursintensiva men som kan behöva användning av externa system.

Arkitektur

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 VSDX-fil för den här arkitekturen.

  1. Batchprocesser för stordatorer kan utlösas vid en schemalagd tidpunkt med en OPC-schemaläggare (Operation, Planning, and 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åtkomst till lagringsenhet (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. Batchprocesser körs vanligtvis utan användarinteraktion. Alla batchjobb på en stordator körs under kontroll av ett JES-system (Job Execution System).

  4. Program i batchprocesser kan läsa/skriva data från:

    • En filbaserad databas som Virtual Storage Access Method (VSAM).
    • 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å på 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, t.ex. 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.

Det andra diagrammet visar hur du kan använda Azure-tjänster för att omkompilera ett liknande program med ytterligare funktioner och flexibilitet.

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

Ladda ned en VSDX-fil för den här arkitekturen.

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

    • Använd den Azure Databricks jobbschemat eller Azure Function-schemaläggaren.
    • Skapa en återkommande batchprocessaktivitet med Azure Logic Apps.
    • Använd en lagringshändelse, till exempel skapande eller borttagning av en fil i Azure Blob eller File Storage.
    • Använd en meddelandebaserad utlösare, till exempel när ett meddelande kommer till 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. Batchprocesser 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 stordatorbatcharbetsbelastning. Välj specifika tjänster som baseras på dina affärsbehov. Till exempel krävs beräkningskraft, total körningstid, möjligheten att dela upp stordatorbatchprocessen i mindre enheter och kostnadskänslighet.

    1. Azure Databricks är Apache Spark en Apache Spark analysplattform. Jobb kan skrivas i språken R, Python, Java, Scala och Spark SQL språk. Det ger en beräkningsmiljö med snabba starttider för kluster, 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 val om du behöver köra ETL-arbetsbelastningar (extrahering, transformering och inläsning).
    2. AKS och Service Fabric en infrastruktur för att implementera en tjänstbaserad programarkitektur. Det kanske inte är kostnadseffektivt för ett enda program. Du kan omstrukturera stordatorprogrammet med hjälp av Java Spring Boot. Det bästa sättet att köra Spring Boot på Azure är att använda Azure Spring Cloud, en fullständigt hanterad Spring Cloud tjänst. Java-utvecklare kan använda den för att enkelt skapa och Spring Boot mikrotjänster på Azure.
    3. Du kan omkompilera om stordatorbatchprogrammet 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 (VM), 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 att installera, hantera eller skala. Skriv program i alla programmeringsspråk som stöds av Windows eller Linux.
    4. Du kan omkompilera om kort körning av COBOL- eller PL/1-batchprogram. 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 stordatorrelationsdatabaser som Db2 och Informix med minimala ändringar i Azures relationsdatabaserbjudandens synlighet. Till exempel relationsdatabastjänster som Azure SQL VM, Azure SQL DB eller Azure SQL MI. Du kan också använda alla RDBMS (Relational Database Management System) med öppen källkod som Azure PostgreSQL. Valet av en Azure-databas beror på typen av arbetsbelastning, frågor mellan databaser, krav på tvåfass genomförande 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 omkompilerat program.
  5. Program, operativsystemet och Azure-resurser kan använda agenter för att skicka loggar och mått till Azure Monitor Logs.

    • 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, indexera, köra frågor mot och härleda analyser från de loggdata som samlas in.

    Du kan använda utdata från Log Analytics och Insights för att skapa aviseringar och instrumentpaneler, eller exportera till externa tjänster. Du kan också använda utdata för att gö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 Azure Active Directory (Azure AD).

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.
  • Azure AD:Azure AD ä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å skicka 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 backend-tjä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 med hjälp av maskininlärningsmodeller.
  • Azure Spring Cloud:Azure Spring Cloud gör det enkelt att distribuera, hantera och köra Spring-mikrotjänster till Azure. Den 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 körs parallellt, oberoende av varandra.
  • Funktioner:Använd Functions för att köra små delar av kod utan att behöva bekymra dig om programinfrastrukturen. Med Functions tillhandahåller molninfrastrukturen alla uppdaterade servrar som du behöver för att programmet ska kunna köras 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 backend-data kan utvecklas för att skala och leverera en mycket optimerad prestanda genom integrering med ett minnesutrymme 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.

Storage

Azure Storage tillhandahåller flera nivåer av data för hot, cool och archive. 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 vara särskilt användbart för omkompilerade stordatorlösningar. Det ger ett effektivt tillägg för den hanterade SQL lagringen.
  • Tabell Storage:Ett nyckelvärdeslager i NoSQL för snabb utveckling med hjälp av stora halvstrukturerade datauppsättningar.
  • Azure Queue Storage:Enkel, kostnadseffektiv och beständig 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 SQL som du kan använda för att migrera icke-tabelldata från stordatorerna.

Övervakning

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

Hantering

  • Azure DevOps:Omkompilera stordatorprogram i Azure under varje fas av programutveckling 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 molnoberoende CI/CD-plattform med stöd för containrar eller Kubernetes.
    • Azure Repos:Tillhandahåller molnbaserade privata git-lagringsplatsen.
    • Azure Artifacts:Ger integrerad pakethantering med stöd för Paketflöden för Maven, npm, Python och NuGet från offentliga eller privata källor.
    • Azure-testplaner:ger en integrerad, planerad och undersökande testlösning.

Överväganden

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-databastjänster stöder zonredundans och du kan utforma dem för redundans till en sekundär nod vid ett avbrott eller under en underhållsfönster.

Skalbarhet

  • Följande Azure-tjänster i den här arkitekturen har funktioner för automatisk skalning:

    • Azure Databricks
    • AKS
    • Spring Cloud
    • Batch
    • Azure Functions
    • Logic Apps
  • Mer information om autoskalning 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. Du kan dock också skapa en plats-till-plats-VPN.
  • Du kan autentisera Azure-resurser med hjälp av Azure AD. Du kan hantera behörigheter med rollbaserad åtkomstkontroll (RBAC).
  • Databastjänster i Azure stöder olika säkerhetsalternativ som datakryptering i vila.
  • Mer information om hur du utformar säkra lösningar finns i azure-säkerhetsdokumentationen.

Återhämtning

  • Du kan använda Azure Monitor program och Insights, förutom Log Analytics, för att övervaka hälsotillståndet för en Azure-resurs. Ställ in aviseringar för att proaktivt hantera din resurshälsa.
  • Mer information om återhämtning i Azure finns i Utforma tillförlitliga Azure-program.

Prissättning

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

Ett exempel på en kostnadsuppskattning av tjänster finns i Batch-programmet för Azure-stordatorer.

Nästa steg