IBM z/OS online transaction processing on Azure

Front Door
Traffic Manager
Kubernetes-service
Spring Cloud
Cache voor Redis

OLTP-systemen (Online Transaction Processing) werken rechtstreeks met gebruikers en zijn het gezicht van het bedrijf. Met een dynamisch aanpasbare infrastructuur kunnen bedrijven hun producten snel realiseren en starten om hun gebruikers te besleugen.

Bij steeds veranderende bedrijfsbehoeften en -gegevens moeten toepassingen produceren en schalen zonder dat er problemen met de infrastructuur ontstaat. Deze voorbeeldworkload laat zien hoe u met behulp van Azure platform as a service-services (PaaS) een OLTP-toepassing met een z/OS-mainframe kunt migreren naar een veilig, schaalbaar en zeer beschikbaar systeem in de cloud. Een dergelijke migratie helpt bedrijven op het gebied van financiën, gezondheidszorg, gezondheidszorg en detailhandel bij het minimaliseren van tijdlijnen voor het leveren van toepassingen en het helpt de kosten voor het uitvoeren van de toepassingen te verlagen.

In het volgende diagram ziet u de architectuur van de workload die moet worden gemigreerd, een OLTP-systeem dat wordt uitgevoerd op een z/OS-mainframe:

OLTP-architectuur in z/OS

Een Visio-bestand van deze architectuur downloaden.

  1. Gebruikers maken verbinding met het mainframe via TCP/IP met behulp van standaard mainframeprotocollen zoals TN3270 en HTTPS.
  2. De transactiemanagers communiceren met de gebruikers en roepen de toepassing aan om te voldoen aan gebruikersaanvragen.
  3. In de front-end van de toepassingslaag communiceren gebruikers met de CICS-/IMS-schermen of met webpagina's.
  4. De transactiebeheerders gebruiken de bedrijfslogica die is geschreven in COBOL of PL/1 om de transacties te implementeren.
  5. Toepassingscode maakt gebruik van opslagmogelijkheden van de gegevenslaag, meestal DB2, IMS DB of VSAM.
  6. Gelijktijdig met transactieverwerking bieden andere services verificatie, beveiliging, beheer, bewaking en rapportage. Deze services werken met alle andere services in het systeem.

In Architectuurzien we hoe u deze architectuur naar Azure migreert.

Potentiële gebruikscases

Deze architectuur is ideaal voor OLTP-workloads met de volgende kenmerken:

  • Ze fungeren als een internationaal gebruikersbestand.
  • Hun gebruik varieert aanzienlijk gedurende een periode, dus ze profiteren van flexibele schaalbaarheid en prijzen op basis van gebruik.

Architectuur

Azure-architectuur voor het migreren van z/OS OLTP-workload

Een Visio-bestand van deze architectuur downloaden.

  1. Mainframe-gebruikers zijn bekend met 3270 terminals en on-premises connectiviteit. In het gemigreerde systeem communiceren ze met Azure-toepassingen via openbaar internet of via een privéverbinding die is geïmplementeerd met Azure ExpressRoute. Azure Active Directory (Azure AD) biedt verificatie.

  2. Invoeraanvragen gaan naar een load balancer service, zoals Azure Front Door of Azure Traffic Manager. De load balancer kan een geografisch verspreide gebruikersbasis dienen. De aanvragen worden gerouteerd volgens regels die zijn gedefinieerd voor de ondersteunde workloads. Deze load balancers kunnen coördineren met Azure Application Gateway of Azure Load Balancer taakverdeling van de toepassingslaag. De Azure Content Delivery Network-service cachet statische inhoud op edge-servers voor snelle reactie, beveiligd met behulp van de Web Application Firewall -service (WAF).

  3. De front-end van de toepassingslaag maakt gebruik van Azure-services zoals Azure App Service voor het implementeren van toepassingsschermen en voor interactie met gebruikers. De schermen zijn gemigreerde versies van de mainframe-schermen.

  4. CoBOL- en PL/1-code in de back-end van de toepassingslaag implementeert de bedrijfslogica. De code kan gebruikmaken van services zoals Azure Functions, WebJobs en Azure Spring Cloud microservices. Toepassingen kunnen worden uitgevoerd in een Azure Kubernetes Service (AKS)-container.

  5. Een in-memory gegevensopslag versnelt OLTP-toepassingen met hoge doorvoer. Een van deze winkels is In-Memory OLTP, een functie van Azure SQL Database en Azure SQL Managed Instance. Een ander is Azure Cache voor Redis.

  6. De gegevenslaag kan bijvoorbeeld het volgende bevatten:

    1. Bestanden, tabellen en blobs die zijn geïmplementeerd met behulp Azure Storage services.
    2. Relationele databases uit de Azure SQL familie.
    3. Azure-implementaties van de opensource-databases PostgreSQL en MySQL.
    4. Azure Cosmos DB, een NoSQL-database.

    Deze winkels bevatten gegevens die zijn gemigreerd van het mainframe voor gebruik door de toepassingslaag.

  7. Systeemeigen Azure-services zoals Application Insights en Azure Monitor de status van het systeem proactief bewaken. U kunt de Monitor-logboeken integreren met behulp van een Azure-dashboard.

Onderdelen

Netwerken en identiteit

  • Azure ExpressRoute privéverbindingen tussen on-premises infrastructuur en Azure-datacenters.
  • Azure Active Directory (Azure AD) is een service voor identiteits- en toegangsbeheer die kan worden gesynchroniseerd met een on-premises directory.
  • Azure Front Door biedt wereldwijde HTTP-taakverdeling met directe failover. Met de cachingoptie kan de levering van statische inhoud worden verkort.
  • Azure Traffic Manager inkomende DNS-aanvragen doorsturen op basis van uw keuze van verkeersrouteringsmethoden.
  • Azure Web Application Firewall helpt web-apps te beschermen tegen schadelijke aanvallen en veelvoorkomende beveiligingsproblemen op het web, zoals SQL injectie en cross-site scripting.
  • Azure Content Delivery Network (CDN) cachet statische inhoud op edge-servers voor snelle reacties en maakt gebruik van netwerkoptimalisaties om de reactie op dynamische inhoud te verbeteren. CDN is vooral nuttig wanneer het gebruikersbestand wereldwijd is.
  • Azure Application Gateway is een controllerservice voor toepassingslevering. Het werkt op laag 7, de toepassingslaag, en heeft verschillende mogelijkheden voor taakverdeling.
  • Azure Load Balancer is een laag 4 (TCP, UDP) load balancer. In deze architectuur biedt het taakverdelingsopties voor Spring Cloud en AKS.

Toepassing

  • Azure API Management biedt ondersteuning voor het publiceren, routeren, beveiligen, registreren en analyseren van API's. U kunt bepalen hoe de gegevens worden weergegeven en uitgebreid en welke apps er toegang toe hebben. U kunt de toegang tot uw apps beperken of derden toestaan.
  • Azure App Service is een volledig beheerde service voor het bouwen, implementeren en schalen van web-apps. U kunt apps bouwen met behulp van .NET, .NET Core, Node.js, Java, Python of PHP. De apps kunnen worden uitgevoerd in containers of op Windows of Linux. Bij een mainframemigratie kunnen de front-endschermen of webinterface worden gecodeerd als REST API's op basis van HTTP. Ze kunnen worden gescheiden volgens de mainframe-toepassing en kunnen staatloos zijn om een op microservices gebaseerd systeem te orkestreren.
  • WebJobs is een functie van Azure App Service waarmee een programma of script wordt uitgevoerd in hetzelfde exemplaar als een web-app, API-app of mobiele app. Een web job kan een goede keuze zijn voor het implementeren van shable en herbruikbare programmalogica. Zie Achtergrondtaken uitvoeren met WebJobs inAzure App Service voor technische Azure App Service.
  • Azure Kubernetes Service (AKS) is een volledig beheerde Kubernetes-service voor het implementeren en beheren van toepassingen in containers. AKS vereenvoudigt de implementatie van een beheerd AKS-cluster in Azure door de operationele overhead naar Azure te offloaden.
  • Azure Spring Cloud is een volledig beheerde Spring Cloud service, gezamenlijk gebouwd en beheerd door Microsoft en VMware. U kunt er eenvoudig Spring-microservices mee implementeren, beheren en uitvoeren en Spring-toepassingen schrijven met behulp van Java of .NET.
  • Azure Service Bus is een betrouwbare cloudberichtenservice voor eenvoudige hybride integratie. Service Bus en Storage kunnen de front-end verbinden met de bedrijfslogica in het gemigreerde systeem.
  • Azure Functions biedt een omgeving voor het uitvoeren van kleine stukjes code, functies genoemd, zonder dat u een toepassingsinfrastructuur tot stand moet brengen. U kunt deze gebruiken om bulkgegevens te verwerken, systemen te integreren, met IoT te werken en eenvoudige API's en microservices te bouwen. Met microservices kunt u servers maken die verbinding maken met Azure-services en altijd up-to-date zijn.
  • Azure Cache voor Redis is een volledig beheerde in-memory cachingservice voor het delen van gegevens en status tussen rekenbronnen. Het bevat zowel de open-source Redis (OSS Redis) als een commercieel product van Redis Labs (Redis Enterprise) als een beheerde service. U kunt de prestaties van OLTP-toepassingen met hoge doorvoer verbeteren door ze zodanig te ontwerpen dat ze worden geschaald en door gebruik te maken van een gegevensopslag in het geheugen, zoals Azure Cache voor Redis.

Storage

Bewaking

  • Azure Monitor verzamelt, analyseert en gebruikt telemetrie van uw Azure- en on-premises omgevingen.
  • Log Analytics is een hulpprogramma in de Azure Portal wordt gebruikt om query's uit te voeren op Monitor-logboeken met behulp van een krachtige querytaal. U kunt interactief met de resultaten van uw query's werken of ze gebruiken met andere Azure Monitor zoals logboekquerywaarschuwingen of werkmappen. Zie Overzicht van Log Analytics in Azure Monitor voor meer Azure Monitor.
  • Application Insights is een functie van Monitor die bewaking op codeniveau biedt van toepassingsgebruik, beschikbaarheid en prestaties. Het bewaakt de toepassing, detecteert afwijkingen in de toepassing, zoals de prestaties en storingen, en verzendt telemetrie naar de Azure Portal. U kunt Application Insights voor logboekregistratie, gedistribueerde tracering en aangepaste metrische gegevens van toepassingen.
  • Azure Monitor waarschuwingen zijn een functie van Monitor. Zie Waarschuwingen voor metrische gegevens maken, weergeven en beheren met behulp van de Azure Monitor

Overwegingen

Beschikbaarheid

  • Deze OLTP-architectuur kan worden geïmplementeerd in meerdere regio's en kan een gegevenslaag met geo-replicatie hebben.
  • De Azure-databaseservices ondersteunen zone-redundantie en kunnen een fail over naar een secundair knooppunt in het geval van een storing of om onderhoudsactiviteiten toe te staan.

Schaalbaarheid

  • Deze architectuur maakt gebruik van Azure PaaS-services zoals App Service, die mogelijkheden voor automatisch schalen heeft.
  • Zie Automatisch schalen voor hulp bij automatisch schalenin Azure.

Beveiliging

  • ExpressRoute maakt een privéverbinding met Azure vanuit een on-premises omgeving. U kunt ook site-naar-site-VPN gebruiken.
  • Azure AD kan resources verifiëren en toegang beheren met behulp van op rollen gebaseerd toegangsbeheer (RBAC) van Azure.
  • Databaseservices in ondersteuning voor Azure verschillende beveiligingsopties, zoals versleuteling van data-at-rest.
  • Zie Overzicht van de beveiligingspijler voor algemene richtlijnen voor het ontwerpen van veilige oplossingen.

Flexibiliteit

  • In dit scenario worden Azure Monitor application Insights gebruikt om de status van de Azure-resources te bewaken. U kunt waarschuwingen instellen voor proactief beheer.
  • Zie Betrouwbare Azure-toepassingen ontwerpen voor hulp bij tolerantie in Azure.

Prijzen

Volgende stappen