Processamento de transações online do IBM z/OS no Azure

Porta da frente do Azure
Gerenciador de Tráfego do Azure
AKS (Serviço de Kubernetes do Azure)
Azure Spring Apps
Cache do Azure para Redis

Os sistemas de OLTP (processamento de transações online) interagem diretamente com os usuários e são a face do negócio. Com uma infraestrutura dinamicamente adaptável, as empresas podem perceber e iniciar seus produtos rapidamente para agraciá-los.

Arquitetura

O diagrama a seguir mostra a arquitetura da carga de trabalho a ser migrada, um sistema de OLTP em execução em um mainframe z/OS:

Arquitetura OLTP no z/OS

Baixe um Arquivo Visio dessa arquitetura.

Workflow

O fluxo de dados a seguir corresponde ao diagrama anterior:

  1. Os usuários se conectam ao mainframe por TCP/IP usando protocolos de mainframe padrão, como TN3270 e HTTPS.
  2. Os gerenciadores de transações interagem com os usuários e invocam o aplicativo para atender às solicitações do usuário.
  3. No front-end da camada de aplicativo, os usuários interagem com as telas do CICS/IMS ou com páginas da Web.
  4. Os gerenciadores de transações usam a lógica de negócios gravada em COBOL ou PL/1 para implementar as transações.
  5. O código do aplicativo usa recursos de armazenamento da camada de dados, normalmente DB2, BD IMS ou VSAM.
  6. Junto com o processamento de transações, outros serviços fornecem autenticação, segurança, gerenciamento, monitoramento e relatórios. Esses serviços interagem com todos os outros serviços no sistema.

Aqui, vemos como migrar essa arquitetura para o Azure.

Diagrama que mostra uma arquitetura para migrar uma carga de trabalho OLTP do z/OS.

Baixe um Arquivo Visio dessa arquitetura.

  1. Os usuários de mainframe estão familiarizados com terminais 3270 e conectividade local. No sistema migrado, eles interagem com aplicativos do Azure por meio da Internet pública ou por meio de uma conexão privada implementada com Azure ExpressRoute. O Microsoft Entra ID fornece autenticação.

  2. As solicitações de entrada vão para um serviço de balanceador de carga global, como Azure Front Door ou Gerenciador de Tráfego do Azure. O balanceador de carga pode atender a uma base de usuário distribuída geograficamente. Ele encaminha as solicitações de acordo com as regras definidas para as cargas de trabalho com suporte. Esses balanceadores de carga podem coordenar com Gateway de Aplicativo do Azure ou Azure Load Balancer para balanceamento de carga da camada de aplicativo. O serviço de Rede de Distribuição de Conteúdo Azure armazena em cache o conteúdo estático em servidores de borda para resposta rápida, protegido usando o serviço WAF (Firewall do Aplicativo Web).

  3. O front-end da camada de aplicativo usa serviços do Azure como Serviço de Aplicativo do Azure para implementar telas de aplicativo e interagir com os usuários. As telas são versões migradas das telas de mainframe.

  4. O código COBOL e PL/1 no back-end da camada de aplicativo implementa a lógica de negócios. O código pode usar serviços como o Azure Functions, WebJobs e microsserviços dos Aplicativos Spring do Azure. Os aplicativos podem ser executados em um contêiner AKS (Serviço de Kubernetes do Azure).

  5. Um armazenamento de dados na memória acelera aplicativos de OLTP de alta taxa de transferência. Um desses armazenamentos é In-Memory OLTP, um recurso do Banco de Dados SQL do Azure e do Instância Gerenciada de SQL do Azure. Outro é o Cache do Azure para Redis.

  6. A camada de dados pode incluir, por exemplo:

    1. Arquivos, tabelas e blobs implementados usando os serviços de Armazenamento do Microsoft Azure.
    2. Bancos de dados relacionais da família SQL do Azure.
    3. Implementações do Azure dos bancos de dados de código aberto PostgreSQL e MySQL.
    4. Azure Cosmos DB, um banco de dados NoSQL.

    Esses repositórios armazenam dados migrados do mainframe para uso pela camada de aplicativo.

  7. Os serviços nativos do Azure, como o Application Insights e Azure Monitor monitoram proativamente a integridade do sistema. É possível integrar os logs do Monitor usando um painel do Azure.

Componentes

Essa arquitetura consiste em vários serviços de nuvem do Azure e é dividida em quatro categorias de recursos: sistema de rede e identidade, aplicativo, armazenamento e monitoramento. Os serviços de cada uma e suas funções são descritos nas seções a seguir.

Rede e identidade

  • O Azure ExpressRoute transporta conexões particulares entre a infraestrutura local e os datacenters do Azure.
  • O Microsoft Entra ID é um serviço de gerenciamento de identidade e acesso que pode sincronizar com o diretório local.
  • O Azure Front Door fornece balanceamento de carga HTTP global com failover instantâneo. Sua opção de cache pode a rápida entrega de conteúdo estático.
  • O Gerenciador de Tráfego do Azure direciona solicitações DNS de entrada com base em sua escolha de métodos de roteamento de tráfego.
  • O Firewall de Aplicativo Web do Azure ajuda a proteger aplicativos Web contra ataques mal-intencionados e vulnerabilidades comuns da Web, como injeção SQL e cross-site scripting.
  • A CDN (Rede de Distribuição de Conteúdo do Microsoft Azur) armazena em cache o conteúdo estático em servidores de borda para resposta rápida e usa otimizações de rede para melhorar a resposta para conteúdo dinâmico. A CDN é especialmente útil quando a base de usuários é global.
  • O Gateway de Aplicativo do Azure é um serviço de controlador de entrega de aplicativos. Ele opera na camada 7, a camada de aplicativo, e tem vários recursos de balanceamento de carga.
  • O Azure Load Balancer é um balanceador de carga de Camada 4 (TCP, UDP). Nessa arquitetura, ele fornece opções de balanceamento de carga para Aplicativos Spring e AKS.

Aplicativo

  • O Gerenciamento de API do Azuredá suporte à publicação, roteamento, segurança, registro e análise de APIs. É possível controlar como os dados são apresentados e estendidos e quais aplicativos podem acessá-los. É possível restringir o acesso aos seus aplicativos ou permitir terceiros.
  • O Serviço de Aplicativo do Azure é um serviço totalmente gerenciado para criar, implantar e colocar em escala aplicativos Web. É possível compilar aplicativos usando .NET, .NET Core, Node.js, Java, Python ou PHP. Os aplicativos podem ser executados em contêineres ou em Windows ou Linux. Em uma migração de mainframe, as telas de front-end ou a interface da Web podem ser codificadas como APIs REST baseadas em HTTP. Eles podem ser separados de acordo com o aplicativo de mainframe e podem ser sem estado para orquestrar um sistema baseado em microsserviços.
  • O WebJobs é um recurso do Serviço de Aplicativo do Azure que executa um programa ou script no mesmo contexto de um aplicativo Web, aplicativo de API ou aplicativo móvel. Um trabalho Web pode ser uma boa opção para implementar lógica de programa compartilhável e reutilizável. Para obter informações técnicas, consulte Executar tarefas em segundo plano com os WebJobs no Serviço de Aplicativo do Azure.
  • O AKS (Serviço de Kubernetes do Azure) é o serviço Kubernetes totalmente gerenciado para implantar e gerenciar aplicativos conteinerizados. O AKS simplifica a implantação de um cluster do AKS gerenciado no Azure, transferindo a sobrecarga operacional para o Azure.
  • OsAplicativos Spring do Azure são um serviço de Spring totalmente gerenciado, criado e operado em conjunto pela Microsoft e pelo VMware. Com ele, você pode facilmente implantar, gerenciar e executar microsserviços do Spring e gravar aplicativos Spring usando Java ou .NET.
  • O Barramento de Serviço do Azure é um serviço de mensagem de nuvem confiável para integração híbrida simples. O Barramento de Serviço e o Armazenamento podem conectar o front-end à lógica de negócios no sistema migrado.
  • O Azure Functions fornece um ambiente para executar pequenos trechos de código, chamados funções, sem precisar estabelecer uma infraestrutura de aplicativo. É possível usá-lo para processar dados em massa, integrar sistemas, trabalhar com IoT e criar APIs e microsserviços simples. Com os microsserviços, é possível criar servidores que se conectam aos serviços do Azure e estão sempre atualizados.
  • O Cache do Azure para Redis é um serviço de cache na memória totalmente gerenciado para compartilhar dados e estado entre recursos de computação. Ele inclui o OSS Redis (software livre do Redis) e um produto comercializado do Redis Labs (Redis Enterprise) como serviço gerenciado. Você pode melhorar o desempenho de aplicativos OLTP de alta taxa de transferência projetando-os para dimensionar e usar um armazenamento de dados na memória, como Cache do Azure para Redis.

Armazenamento

Monitoramento

  • O Azure Monitor coleta, analisa e atua com base em dados pessoais de seus ambientes locais e do Azure.
  • Log Analytics é uma ferramenta na portal do Azure usada para consultar logs do monitor usando uma linguagem de consulta avançada. É possível trabalhar com os resultados de suas consultas interativamente ou usá-las com outros recursos de Azure Monitor, como alertas de consulta de log ou pastas de trabalho. Para saber mais, consulte Visão geral do Log Analytics no Azure Monitor.
  • O Application Insights é um recurso de monitor que fornece monitoramento no nível de código do uso, disponibilidade e desempenho do aplicativo. Ele monitora o aplicativo, detecta anomalias do aplicativo, como falhas e baixo desempenho, e envia dados pessoais ao portal do Azure. Você também pode usar o Application Insights para registro em log, rastreamento distribuído e métricas de aplicativo personalizadas.
  • Alertas do Azure Monitor são um recurso do Monitor. Para obter mais informações, confira Criar, exibir e gerenciar alertas de métrica usando o Azure Monitor.

Detalhes do cenário

Com as necessidades de negócios e os dados em constante evolução, os aplicativos devem produzir e escalar sem criar problemas de infraestrutura. Este exemplo de carga de trabalho mostra como é possível migrar um aplicativo de OLTP do mainframe z/OS para um sistema seguro, escalonável e altamente disponível na nuvem, usando serviços de plataforma como serviço (PaaS) do Azure. Essa migração ajuda as empresas em finanças, saúde, seguros e varejo a minimizar as linhas do tempo de entrega de aplicativos e ajuda a reduzir os custos de execução dos aplicativos.

Possíveis casos de uso

Essa arquitetura é ideal para cargas de trabalho OLTP que têm estas características:

  • Eles atendem a uma base de usuários internacional.
  • Seu uso varia muito ao longo do tempo, portanto, eles se beneficiam da escala flexível e dos preços baseados em uso.

Considerações

Estas considerações implementam os pilares do Azure Well-Architected Framework, que é um conjunto de princípios de orientação que podem ser usados para aprimorar a qualidade de uma carga de trabalho. Para obter mais informações, confira Microsoft Azure Well-Architected Framework.

Confiabilidade

A confiabilidade garante que seu aplicativo possa cumprir os compromissos que você assume com seus clientes. Para obter mais informações, confira Visão geral do pilar de confiabilidade.

  • Essa arquitetura OLTP pode ser implantada em várias regiões e pode ter uma camada de dados replicada geograficamente.
  • Os serviços de banco de dados do Azure dão suporte à redundância de zona e podem fazer failover para um nó secundário se ocorrer uma interrupção ou para permitir atividades de manutenção.

Segurança

A segurança fornece garantias contra ataques deliberados e o abuso de seus dados e sistemas valiosos. Para saber mais, confira Visão geral do pilar de segurança.

  • O ExpressRoute cria uma conexão privada com o Azure a partir de um ambiente local. Você também pode usar uma VPN site a site.
  • O Microsoft Entra ID pode autenticar recursos e controlar o acesso usando o controle de acesso baseado em função do Azure.
  • Os serviços de banco de dados no Azure dão suporte a várias opções de segurança, como criptografia de dados em repouso.
  • Para obter orientação geral sobre como projetar soluções seguras, consulte Visão geral do pilar de segurança.

Otimização de custo

A otimização de custos é a análise de maneiras de reduzir as despesas desnecessárias e melhorar a eficiência operacional. Para obter mais informações, confira Visão geral do pilar de otimização de custo.

Use a Calculadora de Preços do Azure, para estimar os custos de sua implementação.

Excelência operacional

A excelência operacional abrange os processos de operações que implantam um aplicativo e o mantêm em execução na produção. Para obter mais informações, confira Visão geral do pilar de excelência operacional.

  • Esse cenário usa o Azure Monitor e o Application Insights para monitorar a integridade dos recursos do Azure. É possível definir alertas para o gerenciamento proativo.
  • Para obter orientação sobre resiliência no Azure, consulte Projetando aplicativos confiáveis do Azure.

Eficiência de desempenho

A eficiência do desempenho é a capacidade de dimensionar sua carga de trabalho para atender às demandas colocadas por usuários de maneira eficiente. Para obter mais informações, consulte Visão geral do pilar de eficiência de desempenho.

  • Essa arquitetura usa os serviços de PaaS do Azure, como o serviço de aplicativo, que tem recursos de dimensionamento automático.
  • Para obter orientação sobre o dimensionamento automático no Azure, consulte dimensionamento automático.

Colaboradores

Esse artigo é mantido pela Microsoft. Ele foi originalmente escrito pelos colaboradores a seguir.

Autor principal:

Para ver perfis não públicos do LinkedIn, entre no LinkedIn.

Próximas etapas

Consulte as seguintes arquiteturas relacionadas e as respectivas informações técnicas: