Este artigo descreve uma arquitetura que usa os serviços do Azure para fornecer desempenho de expansão e alta disponibilidade semelhante aos sistemas de mainframe IBM z/OS com instalações de acoplamento (CFs).
Arquitetura do mainframe
O diagrama a seguir mostra a arquitetura de um sistema de mainframe IBM z/OS com recurso de acoplamento e componentes Parallel Sysplex:
Transfira um ficheiro do Visio desta arquitetura.
Fluxo de Trabalho
A entrada viaja para o mainframe através do Transmission Control Protocol/Internet Protocol (TCP/IP) através de protocolos de mainframe padrão, como TN3270 e Hypertext Transfer Protocol Secure (HTTPS) (A).
Os aplicativos de processamento em lote ou de transações on-line recebem a entrada (B). Os trabalhos em lote podem se espalhar ou clonar em vários complexos eletrônicos centrais (CECs) que compartilham dados na camada de dados. A camada on-line pode espalhar uma região lógica do Sistema de Controle de Informações do Cliente (CICS) em vários CECs por meio do Parallel Sysplex CICS ou CICSPlex.
Common Business Oriented Language (COBOL), PL/I, Assembler ou aplicativos compatíveis (C) são executados no ambiente habilitado para Parallel Sysplex, como um ambiente CICSPlex.
Outros serviços de aplicativo (D) também podem usar memória compartilhada em um CF.
Os serviços de dados habilitados para Sysplex paralelo, como o IBM Db2 (E), fornecem armazenamento de dados escalável em um ambiente compartilhado.
Serviços de middleware e utilitários, como MQSeries, gerenciamento e serviços de impressão (F), são executados no z/OS em cada CEC.
As partições lógicas (LPARs) em cada CEC (G) executam z/OS. Uma arquitetura também pode ter outros ambientes operacionais, como IBM z/VM, ou outros mecanismos, como IBM z Integrated Information Processor (zIIP) ou Integrated Facility for Linux (IFL).
Um CEC se conecta através do CF (H) à memória e ao estado compartilhados.
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 fornecem funcionalidade e desempenho semelhantes aos mainframes z/OS com Sysplex paralelo e CFs.
Transfira um ficheiro do Visio desta arquitetura.
Fluxo de Trabalho
Os clientes remotos enviam entradas através do Azure ExpressRoute ou de outras aplicações do Azure. Em ambos os casos, o TCP/IP é a principal ligação ao sistema.
Um navegador da Web acessa os recursos do sistema do Azure, que substitui a emulação de terminal para usuários de demanda e usuários online. Os usuários acessam aplicativos baseados na Web pela porta 443 do Transport Layer Security (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 computação de aplicativos passa pelo Balanceador de Carga do Azure para que os recursos de computação em expansão possam processar o trabalho de entrada.
O tipo de cluster de computação de aplicativo usado depende se o aplicativo é executado em máquinas virtuais (VMs) ou em um cluster de contêiner como o Kubernetes. Normalmente, a emulação de sistema de mainframe para aplicativos escritos em PL/I ou COBOL usa VMs. Aplicativos que são refatorados para Java ou .NET usam contêineres. Alguns softwares de emulação de sistemas de mainframe também suportam a implantação em contêineres.
Os servidores de aplicativos, como o Tomcat para Java ou o CICS ou o monitor de processamento de transações do sistema de gerenciamento de informações (IMS) para COBOL, recebem a entrada e compartilham o estado e os dados do aplicativo por meio do Cache do Azure para Redis ou do RDMA (Acesso Remoto Direto à Memória). Esse recurso é semelhante ao CF para mainframes.
Os serviços de dados estão nos clusters de aplicativos para que as fontes de dados persistentes possam receber várias conexões. Essas fontes de dados podem incluir soluções de dados de plataforma como serviço (PaaS), como o Banco de Dados SQL do Azure e o 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 de aplicativos também podem se conectar a serviços de análise de dados de streaming, como o Apache Kafka e o Azure Stream Analytics.
Os serviços de dados PaaS do Azure fornecem armazenamento de dados escalável e altamente disponível que vários recursos de computação em um cluster podem compartilhar. Esses serviços também podem ser redundantes geograficamente.
Os servidores de aplicativos hospedam vários programas de aplicativos baseados na linguagem, como classes Java em programas Tomcat ou COBOL com verbos CICS em VMs de emulação CICS.
Os serviços de dados usam uma combinação de armazenamento de alto desempenho no Armazenamento de Disco Ultra do Azure ou no SSD Premium do Azure, armazenamento de arquivos em Arquivos NetApp do Azure ou Arquivos do Azure e armazenamento padrão de blob, arquivamento e backup que pode ser localmente redundante 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 recuperação de desastres (DR) para os componentes de VM e componentes de cluster de contêiner.
Componentes
O ExpressRoute estende suas redes locais para a nuvem da Microsoft por meio de uma conexão privada fornecida por um parceiro de conectividade. Com a Rota Expressa, você pode estabelecer conexões com serviços de nuvem como o Azure e o Microsoft 365.
O Azure Bastion é um PaaS totalmente gerenciado que você provisiona dentro de sua rede virtual. O Azure Bastion fornece conectividade segura e contínua de Protocolo de Área de Trabalho Remota (RDP) e Secure Shell (SSH) para as VMs em sua rede virtual diretamente do portal do Azure por 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 regras de balanceamento de carga e testes de integridade configurados. As instâncias do pool back-end podem ser VMs do Azure ou instâncias em um conjunto de dimensionamento de máquina virtual. O Load Balancer é o único ponto de contato para os clientes.
O Load Balancer opera na Camada 4 do modelo de Interconexão de Sistemas Abertos. Estão disponíveis balanceadores de carga de nível de aplicativo de nível 7 e de nível de protocolo de rede de nível 4. O tipo que você deve usar depende de como a entrada do aplicativo atinge o ponto de entrada do cluster de computação.
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 uma escolha de sistemas operacionais, incluindo Windows e Linux.
A maioria dos tamanhos de VM de computação de alto desempenho do Azure apresenta uma interface de rede para conectividade RDMA.
As redes virtuais do Azure são os blocos de construção fundamentais para as 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 redes locais. Uma rede virtual do Azure é semelhante a uma rede local tradicional, mas com os benefícios da escalabilidade, disponibilidade e isolamento da infraestrutura do Azure.
As interfaces de rede virtual permitem 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 interface de rede a uma VM do Azure para que as VMs filhas possam ter seus próprios dispositivos de interface de rede dedicados e endereços IP. Essa configuração é semelhante a essa arquitetura.
O Serviço Kubernetes do Azure (AKS) é um serviço Kubernetes totalmente gerenciado que você pode usar para implantar e gerenciar aplicativos em contêineres em clusters de computação baseados em contêiner.
O Cache Redis do Azure é um cache na memória totalmente gerenciado que melhora o desempenho e a escalabilidade de arquiteturas com uso intensivo de dados. Essa arquitetura usa o Cache Redis do Azure 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 executa a versão estável mais recente do SQL Server e do sistema operacional patch, com 99,99% de disponibilidade. O Banco de dados SQL lida com atualização, aplicação de patches, backups, monitoramento e a maioria das outras funções de gerenciamento de banco de dados sem o envolvimento do usuário. Esses recursos de PaaS permitem que você se concentre na administração e otimização de bancos de dados críticos para os negócios e específicos do domínio.
O Azure Private Link for SQL Database fornece uma conexão privada e direta das VMs do Azure com o Banco de Dados SQL que usa apenas o backbone de 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 em nível de bloco que o Azure gerencia em VMs do Azure. Os tipos de discos disponíveis incluem Ultra Disk Storage, SSD Premium, SSD Standard e HDD Standard. Esta arquitetura funciona melhor com SSDs Premium ou Ultra Disk Storage.
O Data Factory é uma solução de integração de dados totalmente gerenciada e sem servidor que você pode usar para ingerir, preparar e transformar dados em escala.
Os Arquivos do Azure oferecem compartilhamentos de arquivos totalmente gerenciados em uma conta de Armazenamento do Azure que podem ser acessados na nuvem ou no local. 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 do setor.
O Stream Analytics é um serviço de análise baseado no Azure que você pode usar para transmitir dados.
O Azure Databricks é um serviço PaaS 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 seus aplicativos, dispositivos e dados.
Detalhes do cenário
CFs são dispositivos físicos que conectam vários servidores de mainframe ou CECs à memória compartilhada para que os sistemas possam ser dimensionados para aumentar o desempenho. Aplicativos que são escritos em linguagens como COBOL e PL/I usam perfeitamente esses recursos de expansão fortemente acoplados.
Bancos de dados IBM DB2 e servidores CICS podem usar CFs com um subsistema de 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 proporciona alto desempenho, alta disponibilidade e DR. Os CFs de mainframe com Parallel Sysplex normalmente residem no mesmo datacenter, com proximidade entre os CECs, mas também podem se estender por datacenters.
Os recursos do Azure podem fornecer um desempenho de expansão semelhante com dados compartilhados e alta disponibilidade. Os clusters de computação do Azure partilham memória através de mecanismos de cache de dados, como o Cache do Azure para Redis, e utilizam tecnologias de dados escaláveis, como a Base de Dados SQL e o Azure Cosmos DB. Para estender a computação de expansão e a alta disponibilidade para datacenters distribuídos do Azure, o Azure pode implementar conjuntos de disponibilidade e grupos de disponibilidade e combiná-los com recursos com redundância geográfica.
Considerações
Essas considerações implementam os pilares do Azure Well-Architected Framework, que é um conjunto de princípios orientadores que podem ser usados para melhorar a qualidade de uma carga de trabalho. Para obter mais informações, consulte Microsoft Azure Well-Architected Framework.
Disponibilidade
Essa arquitetura usa o Site Recovery para espelhar VMs do Azure em uma região secundária do Azure para failover rápido e DR se um datacenter do Azure falhar.
Resiliência
Os balanceadores de carga criam resiliência nesta solução. Se um servidor de apresentação ou transação falhar, outros servidores por trás do balanceador de carga poderão executar as cargas de trabalho.
Escalabilidade
Você pode expandir os conjuntos de servidores para fornecer mais taxa de transferência. Para obter mais informações, veja Conjuntos de dimensionamento de máquinas virtuais.
Segurança
A segurança oferece garantias contra ataques deliberados e o abuso de seus valiosos dados e sistemas. Para obter mais informações, consulte Lista de verificação de revisão de design para segurança.
Esta solução utiliza um grupo de segurança de rede (NSG) do Azure para gerir o tráfego entre recursos do Azure. Para obter mais informações, consulte NSGs.
O Link Privado para Banco de Dados SQL fornece uma conexão privada e direta que é isolada ao backbone de rede do Azure das VMs do Azure para o Banco de Dados SQL.
O Azure Bastion minimiza as portas abertas, o que maximiza a segurança de acesso do administrador. O Azure Bastion fornece conectividade RDP/SSH segura e contínua para VMs de rede virtual diretamente do portal do Azure por TLS.
O Microsoft Entra é uma plataforma de segurança unificada que se integra perfeitamente com a maioria dos serviços do Azure.
Otimização de custos
A otimização de custos consiste em procurar formas de reduzir 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 Hyperscale ou Business Critical SQL Database para operações de entrada/saída altas por segundo e um SLA de alto tempo de atividade.
Esta arquitetura funciona melhor com SSDs Premium ou SSDs Ultra Disk. Para obter mais informações, consulte Preços de discos gerenciados.
Próximos passos
- Para obter mais informações, entre em contato com a equipe de Engenharia de Migrações Legadas.
- Azure ExpressRoute
- Azure Bastion
- Balanceador de Carga do Azure
- Discos gerenciados do Azure
- Redes Virtuais do Azure
- Criar, alterar ou eliminar uma interface de rede
- Visão geral da migração de mainframe
- Rehospedagem de mainframe em VMs do Azure