Mover a computação de mainframe para o Azure
Os mainframes têm uma reputação de alta confiabilidade e disponibilidade e continuam a ser a espinha dorsal confiável de muitas empresas. Muitas vezes, pensa-se que eles também têm escalabilidade e poder de computação quase ilimitados. No entanto, algumas empresas superaram a capacidade dos maiores mainframes disponíveis. Se isso soa como você, o Azure oferece agilidade, alcance e economia de infraestrutura.
Para executar cargas de trabalho de mainframe no Microsoft Azure, você precisa saber como os recursos de computação do seu mainframe se comparam ao Azure. Com base em um mainframe IBM z14 (o modelo mais atual até o momento), este artigo explica como obter resultados comparáveis no Azure.
Para começar, considere os ambientes lado a lado. A figura a seguir compara um ambiente de mainframe para executar aplicativos a um ambiente de hospedagem do Azure.
O poder dos mainframes é frequentemente usado para sistemas OLTP (processamento de transações online) que lidam com milhões de atualizações para milhares de usuários. Esses aplicativos geralmente usam software para processamento de transações, manipulação de tela e entrada de formulários. Eles podem usar um Sistema de Controle de Informações do Cliente (CICS), um Sistema de Gerenciamento de Informações (IMS) ou um Pacote de Interface de Transação (TIP).
Como mostra a figura, um emulador de TPM no Azure pode lidar com cargas de trabalho CICS e IMS. Um emulador de sistema em lote no Azure executa a função de JCL (Job Control Language). Os dados de mainframe são migrados para bancos de dados do Azure, como o Banco de Dados SQL do Azure. Os serviços do Azure ou outro software hospedado nas Máquinas Virtuais do Azure podem ser usados para gerenciamento do sistema.
Visão geral da computação de mainframe
No mainframe z14, os processadores são dispostos em até quatro gavetas. Uma gaveta é simplesmente um cluster de processadores e chipsets. Cada gaveta pode ter seis chips de processador central (CP) ativos, e cada CP tem 10 chips de controlador de sistema (SC). Na terminologia Intel x86, há seis soquetes por gaveta, 10 núcleos por soquete e quatro gavetas. Esta arquitetura fornece o equivalente aproximado de 24 soquetes e 240 núcleos, no máximo, para um z14.
O rápido z14 CP tem uma velocidade de clock de 5,2 GHz. Normalmente, um z14 é entregue com todos os CPs na caixa. Eles são ativados conforme necessário. Um cliente é normalmente cobrado por pelo menos quatro horas de tempo de computação por mês, apesar do uso real.
Um processador de mainframe pode ser configurado como um dos seguintes tipos:
- Processador de uso geral (GP)
- Processador de informações integrado do System z (zIIP)
- Processador Integrated Facility for Linux (IFL)
- Processador de assistência do sistema (SAP)
- Processador ICF (Integrated Coupling Facility)
Dimensionamento da computação de mainframe para cima e para fora
Os mainframes IBM oferecem a capacidade de escalar até 240 núcleos (o tamanho z14 atual para um único sistema). Além disso, os mainframes IBM podem ser dimensionados por meio de um recurso chamado Coupling Facility (CF). O CF permite que vários sistemas de mainframe acessem os mesmos dados simultaneamente. Usando o CF, a tecnologia Parallel Sysplex de mainframe agrupa processadores de mainframe em clusters. Quando este guia foi escrito, o recurso Parallel Sysplex suportava 32 agrupamentos de 64 processadores cada. Até 2.048 processadores podem ser agrupados dessa maneira para expandir a capacidade de computação.
Um CF permite que os clusters de computação compartilhem dados com acesso direto. Ele é usado para bloquear informações, informações de cache e a lista de recursos de dados compartilhados. Um Sysplex paralelo usando um ou mais CFs pode ser considerado como um cluster de computação em expansão de "tudo compartilhado". Para obter mais informações sobre esses recursos, consulte Parallel Sysplex on IBM Z no site da IBM.
Os aplicativos podem usar esses recursos para fornecer desempenho de expansão e alta disponibilidade. Para obter informações sobre como o CICS pode usar o Parallel Sysplex com CF, faça download do IBM CICS e do redbook Coupling Facility: Beyond the Basics .
Visão geral da computação do Azure
Algumas pessoas pensam erroneamente que os servidores baseados em Intel não são tão poderosos quanto os mainframes. No entanto, os novos sistemas baseados em Intel com densidade de núcleo têm tanta capacidade de computação quanto os mainframes. Esta seção descreve as opções de infraestrutura como serviço (IaaS) do Azure para computação e armazenamento. O Azure também fornece opções de plataforma como serviço (PaaS), mas este artigo se concentra nas opções de IaaS que fornecem capacidade de mainframe comparável.
As Máquinas Virtuais do Azure fornecem poder de computação em uma variedade de tamanhos e tipos. No Azure, uma CPU virtual (vCPU) equivale aproximadamente a um núcleo em um mainframe.
Atualmente, a gama de tamanhos de Máquina Virtual do Azure fornece de 1 a 128 vCPUs. Os tipos de máquina virtual (VM) são otimizados para cargas de trabalho específicas. Por exemplo, a lista a seguir mostra os tipos de VM (atuais no momento em que este artigo foi escrito) e seus usos recomendados:
Tamanho | Tipo e descrição |
---|---|
Série D | Uso geral com 64 vCPU e velocidade de clock de até 3,5 GHz |
Série E | Memória otimizada com até 64 vCPUs |
Série F | Computação otimizada com até 64 vCPUs e velocidade de clock de 3,7 GHz |
Série H | Otimizado para aplicações de computação de alto desempenho (HPC) |
Série L | Armazenamento otimizado para aplicativos de alta taxa de transferência apoiados por bancos de dados como NoSQL |
Série M | Maiores VMs otimizadas para computação e memória com até 128 vCPUs |
Para obter detalhes sobre VMs disponíveis, consulte Série de máquinas virtuais.
Um mainframe z14 pode ter até 240 núcleos. No entanto, os mainframes z14 quase nunca usam todos os núcleos para um único aplicativo ou carga de trabalho. Em vez disso, um mainframe segrega cargas de trabalho em partições lógicas (LPARs), e as LPARs têm classificações — MIPS (Millions of Instructions Per Second) ou MSU (Million Service Unit). Ao determinar o tamanho comparável da VM necessário para executar uma carga de trabalho de mainframe no Azure, considere a classificação MIPS (ou MSU).
Seguem-se estimativas gerais:
150 MIPS por vCPU
1.000 MIPS por processador
Para determinar o tamanho correto da VM para uma determinada carga de trabalho em uma LPAR, primeiro otimize a VM para a carga de trabalho. Em seguida, determine o número de vCPUs necessárias. Uma estimativa conservadora é de 150 MIPS por vCPU. Com base nessa estimativa, por exemplo, uma VM da série F com 16 vCPUs poderia facilmente suportar uma carga de trabalho IBM Db2 proveniente de uma LPAR com 2.400 MIPS.
Escalonamento de computação do Azure
As VMs da série M podem ser dimensionadas até 128 vCPUs (no momento em que este artigo foi escrito). Usando a estimativa conservadora de 150 MIPS por vCPU, a VM da série M equivale a cerca de 19.000 MIPS. A regra geral para estimar MIPS para um mainframe é 1.000 MIPS por processador. Um mainframe z14 pode ter até 24 processadores e fornecer cerca de 24.000 MIPS para um único sistema de mainframe.
O maior mainframe z14 único tem aproximadamente 5.000 MIPS a mais do que a maior VM disponível no Azure. No entanto, é importante comparar como as cargas de trabalho são implantadas. Se um sistema de mainframe tiver um aplicativo e um banco de dados relacional, eles normalmente serão implantados no mesmo mainframe físico — cada um em sua própria LPAR. A mesma solução no Azure geralmente é implantada usando uma VM para o aplicativo e uma VM separada e de tamanho adequado para o banco de dados.
Por exemplo, se um sistema VCPU M64 suportar o aplicativo e uma vCPU M96 for usada para o banco de dados, aproximadamente 150 vCPUs serão necessárias — ou cerca de 24.000 MIPS, como mostra a figura a seguir.
A abordagem é migrar LPARs para VMs individuais. Em seguida, o Azure pode ser facilmente dimensionado para o tamanho necessário para a maioria dos aplicativos implantados em um único sistema de mainframe.
Expansão de computação do Azure
Uma das vantagens de uma solução baseada no Azure é a capacidade de expansão. O dimensionamento torna a capacidade de computação quase ilimitada disponível para um aplicativo. O Azure suporta vários métodos para expandir o poder de computação:
Balanceamento de carga em um cluster. Nesse cenário, um aplicativo pode usar um balanceador de carga ou gerenciador de recursos para distribuir a carga de trabalho entre várias VMs em um cluster. Se for necessária mais capacidade de computação, VMs adicionais serão adicionadas ao cluster.
Conjuntos de dimensionamento de máquinas virtuais. Nesse cenário de intermitência, um aplicativo pode ser dimensionado para recursos de computação adicionais com base no uso da VM. Quando a demanda cai, o número de VMs em um conjunto de escala também pode diminuir, garantindo o uso eficiente do poder de computação.
Escalonamento de PaaS. As ofertas de PaaS do Azure dimensionam recursos de computação. Por exemplo, o Azure Service Fabric aloca recursos de computação para atender a aumentos no volume de solicitações.
Clusters do Kubernetes. Os aplicativos no Azure podem usar clusters Kubernetes para serviços de computação para recursos especificados. O Serviço Kubernetes do Azure (AKS) é um serviço gerenciado que orquestra nós, pools e clusters do Kubernetes no Azure.
Para escolher o método certo para dimensionar recursos de computação, é importante entender como o Azure e os mainframes diferem. A chave é como — ou se — os dados são compartilhados pelos recursos de computação. No Azure, os dados (por padrão) normalmente não são compartilhados por várias VMs. Se o compartilhamento de dados for exigido por várias VMs em um cluster de computação em expansão, os dados compartilhados deverão residir em um recurso que ofereça suporte a essa funcionalidade. No Azure, o compartilhamento de dados envolve o armazenamento, conforme discutido na seção a seguir.
Otimização de computação do Azure
Você pode otimizar cada camada de processamento em uma arquitetura do Azure. Use o tipo mais adequado de VMs e recursos para cada ambiente. A figura a seguir mostra um padrão potencial para implantar VMs no Azure para dar suporte a um aplicativo CICS que usa DB2. No local principal, as VMs de produção, pré-produção e teste são implantadas com alta disponibilidade. O site secundário é para backup e recuperação de desastres.
Cada camada também pode fornecer serviços apropriados de recuperação de desastres. Por exemplo, as VMs de produção e de banco de dados podem exigir uma recuperação quente ou quente, enquanto as VMs de desenvolvimento e teste oferecem suporte a uma recuperação a frio.
Próximos passos
- Migração de mainframe
- Rehospedagem de mainframe em Máquinas Virtuais do Azure
- Mover o armazenamento de mainframe para o Azure
Recursos IBM
- Sysplex paralelo no IBM Z
- IBM CICS e a Instalação de Acoplamento: Além do Básico
- Criando usuários necessários para uma instalação do DB2 pureScale Feature
- Db2icrt - Comando Criar instância
- Solução de banco de dados clusterizado db2 pureScale
- IBM Data Studio