Mover a computação do mainframe para o Azure

Os mainframes têm uma reputação de alta confiabilidade e disponibilidade e continuam a ser o backbone confiável de muitas empresas. Muitas vezes, acredita-se que eles têm uma escalabilidade e capacidade de computação quase ilimitadas. No entanto, algumas empresas superaram a capacidade dos maiores mainframes disponíveis. Se você se identifica, 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 mainframe se comparam ao Azure. Com base em um mainframe IBM z14 (o modelo mais atual no momento da escrita deste documento), este artigo mostra 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 em um ambiente de hospedagem do Azure.

Azure services and emulation environments offer comparable support and streamlines migration

A capacidade dos mainframes é geralmente usada 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ário. Eles podem usar um CICS (sistema de controle de informações do cliente), IMS (sistema de gerenciamento de informações) ou TIP (pacote de interface de transações).

Como mostra a figura, um emulador TPM no Azure pode lidar com cargas de trabalho CICS e IMS. Um emulador de sistema de lote no Azure executa a função de JCL (linguagem de controle de trabalho). Os dados de mainframe são migrados para os bancos de dado do Azure, como o Banco de Dados SQL do Azure. Os serviços do Azure ou outros softwares hospedados nas Máquinas Virtuais do Azure podem ser usados para gerenciamento do sistema.

Visão rápida da computação do mainframe

No mainframe z14, os processadores são organizados em até quatro gavetas. Uma gaveta é simplesmente um cluster de processadores e chipsets. Cada gaveta pode ter seis chips de CP (processador central) ativos e cada CP tem 10 chips do SC (controlador do sistema). Na terminologia do Intel x86, há seis soquetes por gaveta, 10 núcleos por soquete e quatro gavetas. Essa arquitetura fornece o equivalente aproximado de no máximo 24 soquetes e 240 núcleos para um z14.

O CP z14 rápido tem uma velocidade de clock de 5,2 GHz. Normalmente, um z14 é entregue com todo o CPs na caixa. Eles são ativados conforme a necessidade. Um cliente geralmente é 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 GP (Uso Geral)
  • Processador de sistema zIIP (Informação Integrada de z)
  • Processador de IFL (recurso para Linux)
  • SAP (processador de assistência do sistema)
  • Processador de ICF (recurso integrado de acoplamento)

Escalar vertical e horizontalmente a computação do mainframe

Os mainframes IBM oferecem a capacidade de escalar verticalmente até 240 núcleos (o tamanho atual do z14 para um único sistema). Além disso, os mainframes IBM podem escalar horizontalmente por meio de um recurso chamado CF (recurso de acoplamento). O CF permite que vários sistemas de mainframe acessem os mesmos dados simultaneamente. Usando o CF, a tecnologia Parallel Sysplex do mainframe agrupa processadores de mainframe em clusters. Quando este guia foi escrito, o recurso Parallel Sysplex suportava 32 agrupamentos com 64 processadores cada um. Até 2.048 processadores podem ser agrupados dessa maneira para escalar horizontalmente a capacidade de computação.

Um CF permite que os clusters de cálculo compartilhem dados com acesso direto. Ele é usado para informações de bloqueio, informações de cache e a lista de recursos de dados compartilhados. Um Parallel Sysplex usando uma ou mais CFs pode ser considerado como um cluster de cálculo de expansão de "compartilhamento de tudo". Para obter mais informações sobre esses recursos, confira Parallel Sysplex no IBM Z no site da IBM.

Os aplicativos podem usar esses recursos para fornecer alta disponibilidade e desempenho de expansão. Para obter informações sobre como o CICS pode usar Parallel Sysplex com CF, baixe o redbook IBM CICS e o recurso de acoplamento: além dos conceitos básicos.

Visão rápida da computação do Azure

Algumas pessoas acham que os servidores baseados em Intel não são tão poderosos quanto os mainframes. No entanto, os novos sistemas baseados em Intel de núcleo denso têm tanta capacidade de computação quanto os mainframes. Esta seção descreve as opções de IaaS (infraestrutura como serviço) do Azure para computação e armazenamento. O Azure também fornece opções de PaaS (plataforma como serviço), 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 computacional em uma variedade de tamanhos e tipos. No Azure, uma vCPU (CPU virtual) é quase equivalente a um núcleo em um mainframe.

Atualmente, a variedade de tamanhos de Máquina Virtual do Azure fornece de 1 a 128 vCPUs. Os tipos de VM (máquina virtual) são otimizados para cargas de trabalho específicas. Por exemplo, a seguinte lista mostra os tipos de VM (atuais no momento da elaboração deste artigo) e seus usos recomendados:

Tamanho Tipo e descrição
Série D Uso geral com 64 vCPUs e velocidade de clock de até 3,5 GHz
Série E Otimizado para memória 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 aplicativos de HPC (computação de alto desempenho)
Série L Otimizado para armazenamento para aplicativos de alta taxa de transferência com suporte de bancos de dados como NoSQL
Série M Maiores VMs de computação e otimizadas para memória com até 128 vCPUs

Para obter detalhes sobre as VMs disponíveis, confira 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 separa as cargas de trabalho em LPARs (partições lógicas) e as LPARs têm classificações: MIPS (milhões de instruções por segundo) ou MSU (milhão de unidades de serviço). Ao determinar o tamanho de VM comparável necessário para executar uma carga de trabalho de mainframe no Azure, leve em conta a classificação MIPS (ou MSU).

As estimativas gerais são as seguintes:

  • 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ário. Uma estimativa conservadora é de 150 MIPS por vCPU. Por exemplo, com base nessa estimativa, uma VM da série F com 16 vCPUs poderia facilmente dar suporte a uma carga de trabalho do IBM Db2 proveniente de uma LPAR com 2.400 MIPS.

Dimensionar verticalmente a computação do Azure

As VMs da série M podem escalar verticalmente 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 é de 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 na própria LPAR. A mesma solução no Azure é geralmente implantada usando uma VM para o aplicativo e uma VM separada de tamanho adequado para o banco de dados.

Por exemplo, se um sistema de vCPU M64 dá suporte ao aplicativo e uma vCPU M96 é usada para o banco de dados, serão necessárias aproximadamente 150 vCPUs — ou cerca de 24.000 MIPS, como mostra a figura a seguir.

Comparing workload deployments of 24,000 MIPS

A abordagem é migrar LPARs para VMs individuais. Assim, o Azure consegue facilmente escalar verticalmente para o tamanho necessário para a maioria dos aplicativos implantados em um único sistema de mainframe.

Expansão da computação do Azure

Uma das vantagens de uma solução baseada no Azure é a capacidade de escalar horizontalmente. O dimensionamento torna a capacidade de computação quase ilimitada disponível para um aplicativo. O Azure dá suporte a vários métodos para escalar horizontalmente a capacidade 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 maior capacidade de computação for necessária, as VMs adicionais serão adicionadas ao cluster.

  • Conjunto 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 dimensionamento também pode diminuir, garantindo o uso eficiente da capacidade de computação.

  • Dimensionamento de PaaS. As ofertas de PaaS do Azure dimensionam os 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 Kubernetes. Os aplicativos no Azure podem usar clusters Kubernetes para serviços de computação para recursos especificados. O AKS (Serviço de Kubernetes do Azure) é um serviço gerenciado que orquestra nós, pools e clusters do Kubernetes no Azure.

Para escolher o método certo para expandir os recursos de computação, é importante entender a diferença entre o Azure e os mainframes. O importante é como, ou se, os dados são compartilhados por recursos de computação. No Azure, os dados (por padrão) não são normalmente compartilhados por várias VMs. Se o compartilhamento de dados for exigido por várias VMs em um cluster de cálculo de expansão, os dados compartilhados deverão residir em um recurso que dá suporte a essa funcionalidade. No Azure, o compartilhamento de dados envolve o armazenamento, conforme a seção a seguir aborda.

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 site primário, as VMs de produção, pré-produção e teste são implantadas com alta disponibilidade. O site secundário é feito para backup e recuperação de desastres.

Cada camada também pode fornecer serviços de recuperação de desastres apropriados. Por exemplo, VMs do banco de dados e produção podem requerer uma recuperação ativa ou passiva, enquanto as VMs de desenvolvimento e teste dão suporte a uma recuperação fria.

Highly available deployment that supports disaster recovery

Próximas etapas

Recursos da IBM

Azure Governamental

Mais recursos de migração