Este artigo descreve uma arquitetura que usa serviços do Azure para fornecer desempenho de expansão e alta disponibilidade semelhante aos sistemas de mainframe da IBM z/OS com CFs (recursos de acoplamento).
Arquitetura de mainframe
O diagrama a seguir mostra a arquitetura de um sistema de mainframe IBM z/OS com o recurso de acoplamento e componentes do Parallel Sysplex:
Baixe um Arquivo Visio dessa arquitetura.
Workflow
A entrada vai para o mainframe por meio do Protocolo de Controle de Transmissão/Protocolo de Internet (TCP/IP) por meio de protocolos de mainframe padrão, como TN3270 e Hypertext Transfer Protocol Secure (HTTPS) (A).
Os aplicativos de processamento em lote ou processamento de transações online recebem a entrada (B). Trabalhos em lotes podem se espalhar ou clonar em vários complexos eletrônicos centrais (CECs) que compartilham dados na camada de dados. A camada online pode espalhar uma região Sistema de Controle de Informações do Cliente (CICS) lógica entre vários CECs usando o Parallel Sysplex CICS ou CICSPlex.
Common Business Oriented Language (COBOL), PL/I, Assembler ou aplicativos compatíveis (C) são executados em um ambiente habilitado para Parallel Sysplex, como o ambiente CICSPlex.
Outros serviços de aplicativo (D) também podem usar memória compartilhada em um CF.
Serviços de dados habilitados para Parallel Sysplex, como IBM Db2 (E), fornecem o armazenamento de dados de expansão em um ambiente compartilhado.
Os serviços de middleware e utilitários, como MQSeries, gerenciamento e serviços de impressão (F), são executados em z/OS em cada CEC.
LPARs (partições lógicas) em cada CEC (G) executam z/OS. Uma arquitetura também pode ter outros ambientes operacionais, como o IBM z/VM, ou outros mecanismos, como o IBM z Integrated Information Processor (zIIP) ou o Integrated Facility for Linux (IFL).
Um CEC se conecta por meio do CF (H) à memória compartilhada e ao estado.
O CF (I) é um dispositivo físico que conecta vários CECs à memória compartilhada.
Arquitetura do Azure
O diagrama a seguir mostra os serviços do Azure que oferecem funcionalidade e desempenho semelhantes aos mainframes z/OS com Parallel Sysplex e CFs.
Baixe um Arquivo Visio dessa arquitetura.
Workflow
Clientes remotos enviam a entrada via Azure ExpressRoute ou de outros aplicativos do Azure. Em ambos os casos, TCP/IP é a principal conexão ao sistema.
Um navegador da Web acessa recursos de sistema do Azure, o que substitui a emulação de terminal para usuários de demandas e usuários online. Os usuários acessam os aplicativos Web pela porta 443 do protocolo TLS (TLS). Para minimizar o retreinamento do usuário, as camadas de apresentação dos aplicativos Web podem permanecer praticamente inalteradas. Ou você pode atualizar a camada de apresentação do aplicativo Web com estruturas modernas de experiência do usuário.
(1a) Para maior segurança, o Microsoft Entra ID pode habilitar e impor autenticação e autorização.
No Azure, o acesso aos clusters de cálculo do aplicativo é feito por meio do Azure Load Balancer para que recursos de computação de expansão possam processar o trabalho de entrada.
O tipo de cluster de cálculo do aplicativo usado depende de o aplicativo ser executado em máquinas virtuais (VMs) ou em um cluster de contêineres como o Kubernetes. Normalmente, a emulação do sistema de mainframe para aplicativos escritos em PL/I ou COBOL usa VMs. Os aplicativos que são refatorados para Java ou .NET usam contêineres. Alguns softwares de emulação de sistema de mainframe também dão suporte à implantação em contêineres.
Servidores de aplicativos, como o Tomcat para Java ou como o monitor de processamento de transações CICS ou sistema de gerenciamento de informações (IMS) para COBOL, recebem a entrada e compartilham o estado do aplicativo e os dados usando Cache do Azure para Redis ou RDMA (acesso remoto direto à memória). Essa funcionalidade é semelhante ao CF para mainframes.
Os serviços de dados estão nos clusters de aplicativos para que fontes de dados persistentes possam receber várias conexões. Essas fontes de dados podem incluir soluções de dados PaaS (plataforma como serviço), como Banco de Dados SQL do Azure e Azure Cosmos DB; bancos de dados em VMs, como Oracle Database ou IBM Db2; ou repositórios de Big Data, como Azure Databricks e Azure Data Lake Storage. Os serviços de dados do aplicativo também podem se conectar a serviços de análise de dados de streaming, como Apache Kafka e Azure Stream Analytics.
Os serviços de dados de PaaS do Azure fornecem armazenamento de dados escalonável e altamente disponível que pode ser compartilhado por vários recursos de computação em um cluster. Esses serviços também podem ter redundância geográfica.
Os servidores de aplicativos hospedam vários programas de aplicativo com base na linguagem, como classes Java no Tomcat ou programas COBOL com verbos CICS em VMs de emulação CICS.
Os serviços de dados usam uma combinação de armazenamento de alto desempenho em SSD Armazenamento de Disco Ultra do Azure ou Azure Premium, armazenamento de arquivos no Azure NetApp Files ou Arquivos do Azure e armazenamento padrão de blob, arquivo e backup que podem ser redundantes localmente ou com redundância geográfica.
O Armazenamento de Blobs do Azure é uma zona de aterrissagem comum para fontes de dados externas.
O Azure Data Factory ingere e sincroniza dados de várias fontes de dados internas e externas.
O Azure Site Recovery fornece a recuperação de desastre (DR) dos componentes da VM e do cluster de contêineres.
Componentes
O ExpressRoute estende suas redes locais até a nuvem da Microsoft por meio de conexão privada facilitada por um parceiro de conectividade. Com o ExpressRoute, é possível estabelecer conexões com os serviços de nuvem, como o Azure e o Microsoft 365.
O Azure Bastion é uma PaaS totalmente gerenciada que você provisiona na sua rede virtual. O Azure Bastion fornece conectividade segura e direta do protocolo RDP (Remote Desktop Protocol) e SSH (Secure Shell) às VMs na sua rede virtual, diretamente do portal do Azure via TLS.
O Load Balancer distribui fluxos de entrada do front-end do balanceador de carga para as instâncias do pool de back-end, de acordo com as regras de balanceamento de carga e investigações de integridade configuradas. As instâncias do pool de back-end podem ser VMs ou instâncias do Azure em um conjunto de dimensionamento de máquinas virtuais. O Load Balancer é o único ponto de contato para clientes.
O Load Balancer opera na camada 4 do modelo de Interconexão de Sistemas Abertos. Estão disponíveis tanto balanceadores de carga de nível 7 de aplicativo quanto de nível 4 de protocolo de rede. O tipo que deve ser usado depende de como a entrada do aplicativo chega ao ponto de entrada do cluster de cálculo.
As Máquinas Virtuais do Azure fornecem recursos de computação escalonáveis sob demanda que oferecem a flexibilidade da virtualização. As VMs do Azure oferecem opções de sistemas operacionais, incluindo Windows e Linux.
A maioria dos tamanhos de VM de computação de alto desempenho do Azure apresenta um adaptador de rede para conectividade RDMA.
As redes virtuais do Azure são o bloco de construção fundamental para redes privadas do Azure. Use redes virtuais para que recursos do Azure, como VMs, possam se comunicar com segurança entre si, com a Internet e com as redes locais. Uma rede virtual do Azure é semelhante a uma rede tradicional local, mas com os benefícios da infraestrutura do Azure, como escalabilidade, disponibilidade e isolamento.
As interfaces de rede virtual possibilitam a comunicação entre as VMs do Azure e a Internet, os recursos do Azure e os recursos locais. Você pode adicionar várias placas de adaptador de rede a uma VM do Azure, de modo que as VMs filho possam ter dispositivos de adaptador de rede dedicados e endereços IP próprios. Essa configuração é semelhante a essa arquitetura.
O AKS (Serviço de Kubernetes do Azure) é o serviço Kubernetes totalmente gerenciado que pode ser usado para implantar e gerenciar aplicativos conteinerizados em clusters de cálculo baseados em contêiner.
O Cache do Azure para Redis é um cache totalmente gerenciado na memória que melhora o desempenho e a escalabilidade de arquiteturas com uso intensivo de dados. Essa arquitetura usa o Cache do Azure para Redis para compartilhar dados e estado entre recursos de computação.
O banco de dados SQL é um mecanismo de banco de dados PaaS totalmente gerenciado que é executado na versão estável mais recente do servidor SQL e no SO corrigido com 99,99% de disponibilidade. O Banco de Dados SQL lida com a maioria das funções de gerenciamento de banco de dados, como atualização, aplicação de patches, backups e monitoramento, sem envolvimento do usuário. Esses recursos de PaaS permitem que você se concentre em administração e otimização de bancos de dados específicas de domínio.
O Link Privado do Azure para o banco de dados SQL fornece uma conexão direta e privada das VMs do Azure até o banco de dados SQL que só usa o backbone da rede do Azure.
O Azure Cosmos DB é um serviço PaaS do Azure para bancos de dados NoSQL.
O Banco de Dados do Azure para PostgreSQL é um serviço PaaS do Azure para bancos de dados PostgreSQL.
Os discos gerenciados do Azure são volumes de armazenamento de nível de bloco que o Azure gerencia nas VMs do Azure. Os tipos disponíveis de discos incluem Armazenamento de Disco Ultra, SSD Premium, SSD Standard e HDD Standard. Essa arquitetura funciona melhor com SSDs Premium ou Armazenamento de Disco Ultra.
O Data Factory é uma solução de integração de dados totalmente gerenciada e sem servidor que pode ser usada para ingerir, preparar e transformar dados em escala.
Os Arquivos do Azure oferecem compartilhamentos de arquivos totalmente gerenciados em uma conta do Armazenamento do Microsoft Azure que são acessíveis da nuvem ou locais. As implantações do Windows, Linux e macOS podem montar compartilhamentos de arquivos do Azure simultaneamente e acessar arquivos por meio do protocolo SMB (Server Message Block) padrão.
O Stream Analytics é um serviço de análise baseado no Azure que pode ser usado para streaming de dados.
O Azure Databricks é um serviço de PaaS do Apache Spark para análise de Big Data.
O Microsoft Entra ID é uma solução de gerenciamento de identidade e acesso baseada em nuvem da Microsoft que conecta pessoas a aplicativos, dispositivos e dados.
Detalhes do cenário
CFs são dispositivos físicos que conectam vários servidores mainframe ou CECs à memória compartilhada para que os sistemas possam expandir para aumentar o desempenho. Aplicativos escritos em linguagens como COBOL e PL/I usam sem problemas esses recursos de expansão firmemente acoplados.
Os bancos de dados Db2 da IBM e os servidores CICS usam CFs com um subsistema do mainframe chamado Parallel Sysplex, que combina compartilhamento de dados e computação paralela. O Parallel Sysplex permite que um cluster de até 32 sistemas compartilhe cargas de trabalho, o que fornece alto desempenho, alta disponibilidade e DR. CFs de mainframe com Parallel Sysplex geralmente residem no mesmo datacenter, com grande proximidade entre os CECs, mas também podem se estender entre datacenters.
Os recursos do Azure podem oferecer um desempenho de expansão semelhante usando dados compartilhados e alta disponibilidade. Os clusters de cálculo do Azure compartilham memória por meio de mecanismos de cache de dados, como o Cache do Azure para Redis, e usam tecnologias de dados escalonáveis, como o Banco de Dados SQL e o Azure Cosmos DB. O Azure pode implementar conjuntos de disponibilidade e grupos, combinados com recursos com redundância geográfica, para estender a computação de expansão e a alta disponibilidade para datacenters distribuídos do Azure.
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.
Disponibilidade
Essa arquitetura usa o Site Recovery para espelhar VMs do Azure para uma região secundária do Azure, a fim de realizar rapidamente failover e DR em caso de falha de um datacenter do Azure.
Resiliência
Os balanceadores de carga criam resiliência nesta solução. Se uma apresentação ou um servidor de transação falhar, outros servidores por trás do balanceador de carga poderão executar as cargas de trabalho.
Escalabilidade
É possível escalar horizontalmente os conjuntos de servidores para aumentar a taxa de transferência. Para saber mais, confira Conjuntos de dimensionamento de máquinas virtuais.
Segurança
A segurança fornece garantias contra ataques deliberados e o abuso de seus dados e sistemas valiosos. Para obter mais informações, consulte Lista de verificação de revisão de design para segurança.
Essa solução usa um NSG (grupo de segurança de rede) do Azure para gerenciar o tráfego entre os recursos do Azure. Para obter mais informações, confira NSGs.
O Link Privado para o banco de dados SQL fornece uma conexão direta e privada, isolada para o backbone da rede do Azure das VMs até o banco de dados SQL.
O Azure Bastion minimiza as portas abertas, o que maximiza a segurança de acesso administrativo. O Azure Bastion fornece conectividade de RDP/SSH segura e contínua para VMs de rede virtual diretamente do portal do Azure sobre TLS.
O Microsoft Entra é uma plataforma de segurança unificada que se integra perfeitamente à maioria dos serviços do Azure.
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, consulte Lista de verificação de revisão de design para otimização de custos.
No Banco de Dados SQL, use as camadas de Banco de Dados SQL Hiperescala ou Comercialmente Crítico para operações de alta entrada/saída por segundo e SLA de alto tempo de atividade.
Essa arquitetura funciona melhor com SSDs Premium ou SSDs de Disco Ultra. Para obter mais informações, confira Preço dos Managed Disks.
Próximas etapas
- Para obter mais informações, entre em contato com a equipe de Engenharia de Migrações Herdadas.
- Azure ExpressRoute
- Azure Bastion
- Azure Load Balancer
- Discos gerenciados do Azure
- Redes Virtuais do Azure
- Criar, alterar ou excluir um adaptador de rede
- Visão geral da migração de mainframe
- Mudança de hospedagem de mainframe em VMs do Azure