Processamento da transação de lote de grande volume

AKS (Serviço de Kubernetes do Azure)
Barramento de Serviço do Azure
Máquinas Virtuais do Azure

A arquitetura usa o AKS para implementar clusters de cálculo dos aplicativos que processam lotes com volume alto de transações. Os aplicativos recebem as transações em mensagens de tópicos ou filas do Barramento de Serviço. Os tópicos e as filas podem estar em datacenters do Azure em regiões geográficas diferentes e vários clusters do AKS podem ler a entrada a partir deles.

Observação

Essa arquitetura se adapta a um tipo de processamento de transações em lote que, em mainframes IBM, frequentemente é implementado usando a família IBM MQ de middleware com base em mensagens.

Arquitetura

Diagram of an architecture implemented by using AKS and Service Bus.

Baixe um Arquivo Visio dessa arquitetura.

Workflow

Os círculos numerados no diagrama correspondem às etapas numeradas na lista a seguir.

  1. A arquitetura usa tópicos e filas do Barramento de Serviço para organizar a entrada de processamento em lotes e passá-la downstream para processamento.
  2. O Azure Load Balancer, um balanceador de carga do tipo Camada 4 (TCP, UDP), distribui o tráfego de entrada entre as instâncias íntegras de serviço definidas em um conjunto de balanceamento de carga. O balanceamento de carga e o gerenciamento de conexões otimizam o processamento.
  3. Os nós de trabalho de cluster do AKS escutam os pontos de extremidade da fila do Barramento de Serviço para entrada.
  4. Os nós Java usam o Serviço de Mensagem Java para se conectar ao Barramento de Serviço e interfaces Java como Java Database Connectivity para se conectar a outras fontes de dados. Eles usam outras APIs Java conforme necessário.
  5. As transações recuperáveis são executados junto com o código comercial para cada etapa do lote.
  6. A infraestrutura de lotes usa a rede acelerada do Azure para obter velocidade.
  7. O Cache do Azure para Redis, o Azure Cosmos DB e o Azure Stream Analytics fornecem armazenamento em funcionamento, se necessário.
  8. A camada de dados permanentes usa o Azure Data Factory para integração de dados e a Instância Gerenciada de SQL do Azure, o nível de desempenho comercialmente crítico, para alta disponibilidade. O armazenamento permanente é livremente acoplado para facilitar a comutação para outras tecnologias de banco de dados e para otimização da organização de armazenamento (usando fragmentos ou partições, por exemplo).
  9. As soluções de dados (transicionais e permanentes) usam a opção GRS (armazenamento com redundância geográfica) do Armazenamento do Microsoft Azure para se proteger contra falhas catastróficas.

Componentes

A arquitetura usa estes componentes:

  • A Rede Virtual do Azure fornece uma rede privada segura na nuvem. Ela pode conectar VMs (máquinas virtuais) umas às outras, à Internet e a redes locais.
  • O Azure ExpressRoute fornece conexões privadas entre os datacenters do Azure e a infraestrutura local.
  • O Azure Bastion fornece acesso RDP e SSH privado e totalmente gerenciado a VMs.
  • As Máquinas Virtuais do Azure fornecem a flexibilidade da virtualização sem precisar fornecer e manter o hardware que a hospeda. As opções do sistema operacional incluem Windows e Linux.
  • Uma VM criada com rede acelerada usa SR-IOV (virtualização de E/S de raiz única), melhorando muito seu desempenho de rede. Para obter mais informações, consulte Criar uma VM Windows com rede acelerada usando Azure PowerShell e Visão geral da SR-IOV (Virtualização de E/S de Raiz Única).
  • Uma interface de rede do Azure conecta uma VM à Internet, ao Azure e aos recursos locais. Conforme mostrado nesta arquitetura, você pode dar a cada VM filho seu próprio endereço IP e adaptador de rede. Para obter mais informações sobre adaptadores de rede, consulte Criar, alterar ou excluir um adaptador de rede.
  • Os Managed Disks do Azure são armazenamento em bloco de alto desempenho e altamente durável para VMs. Há quatro opções de armazenamento em disco para a nuvem: Armazenamento de Disco Ultra, SSD Premium, SSD Standard e HDD Standard.
  • O AKS (Serviço de Kubernetes do Azure) é o serviço Kubernetes totalmente gerenciado para implantar e gerenciar aplicativos conteinerizados.
  • Barramento de Serviço fornece maaS (mensagens de nuvem como serviço) confiáveis e integração híbrida simples.
  • Os serviços de balanceamento de carga do Azure fornecem dimensionamento para alta disponibilidade e alto desempenho. Essa arquitetura usa o Load Balancer. Ela fornece recursos de balanceamento de carga de Camada 4 de baixa latência (TCP, UDP) para equilibrar o tráfego entre VMs e entre aplicativos híbridos de várias camadas.
  • O Cache do Azure para Redis é um serviço de cache na memória totalmente gerenciado e rápido para compartilhar dados e estados entre recursos de computação.
  • OAzure Cosmos DB é o banco de dados NoSQL rápido com APIs abertas para qualquer escala.
  • O Azure Stream Analytics fornece análise em tempo real sobre fluxos de dados de movimentação rápida de aplicativos e dispositivos.
  • O Azure Databricks é um serviço de análise de Big Data rápido, fácil e colaborativo baseado no Apache SparkTM.
  • O SQL do Azure é uma família de bancos de dados SQL em nuvem que fornece uma experiência unificada para todo o seu portfólio de SQL e uma ampla gama de opções de implantação de borda à nuvem.
  • A Instância Gerenciada de SQL do Azure, parte do portfólio de serviços do SQL do Azure, é uma instância SQL gerenciada, segura e sempre atualizada na nuvem.
  • O Data Factory é uma solução de integração de dados totalmente gerenciada e sem servidor para preparar e transformar todos os seus dados em escala.
  • O Data Factory dá suporte ao formato de dados de arquivo Parquet. Para mais informações, consulte Formato Parquet no Azure Data Factory.
  • O Log Analytics é uma ferramenta no portal do Azure usada para editar e executar consultas de log nos logs do Azure Monitor. Para saber mais, consulte Visão geral do Log Analytics no Azure Monitor.
  • A opção de GRS (armazenamento com redundância geográfica) do Armazenamento do Microsoft Azure copia seus dados de forma síncrona três vezes em um único local físico na região primária e, em seguida, copia-os de forma assíncrona para um único local físico na região secundária. Para mais informações, confira Redundância do Armazenamento do Microsoft Azure.
  • O Armazenamento de Blobs do Azure é um armazenamento de objetos baseado em REST extremamente escalonável e seguro para cargas de trabalho nativas de nuvem, arquivos, data lakes, computação de alto desempenho e aprendizado de máquina.
  • Os Arquivos do Azure fornecem compartilhamentos de arquivos de nível empresarial simples, seguros e sem servidor na nuvem. Você usa os protocolos SMB (Server Message Block) e NFS (sistema de arquivos de rede) padrão do setor para acessar os compartilhamentos.

Detalhes do cenário

No Azure, você pode implementar o processamento de transações em lote, como postar pagamentos em contas, usando uma arquitetura baseada no AKS (Serviço de Kubernetes do Microsoft Azure) e no Barramento de Serviço do Azure. Esse tipo de arquitetura fornece a velocidade de processamento de transações, o dimensionamento e a confiabilidade necessários para o processamento em lotes de alto volume.

Normalmente, uma mensagem permanece na fila até que sua transação seja concluída, permitindo a recuperação em caso de falha. Além disso, você pode replicar tópicos e filas para outras regiões, para compartilhar cargas de trabalho e continuar o processamento mesmo que uma região falhe.

Possíveis casos de uso

A solução é ideal para os setores de finanças, educação e ciência. Essa arquitetura é para processamento de alto volume de lotes de transações, principalmente transações independentes que podem ser processadas paralelamente. Portanto, ele é um provável candidato para uso na migração do processamento em lotes de mainframe. Os aplicativos possíveis são:

  • Processamento de transações financeiras, como folha de pagamento, pedidos e pagamentos.
  • Processamento de dados experimentais coletados por instrumentos científicos.
  • Outro processamento em lotes de mainframe.

Considerações

As seguintes considerações, com base no Azure Well-Architected Framework​, se aplicam a esta solução:

Disponibilidade

  • O serviço de recuperação de desastre Azure Site Recovery protege contra grandes interrupções. Ele é confiável, econômico e fácil de implantar.
  • Conjuntos de disponibilidade para VMs garantem que VMs suficientes estejam disponíveis para atender às necessidades críticas do processo em lote.
  • O Barramento de Serviço, o AKS e a Instância Gerenciada de SQL do Azure fornecem alta disponibilidade e capacidade de recuperação entre regiões geográficas.

Operacional

  • Os modelos de Azure Resource Manager (modelos do ARM) fornecem uma linguagem de configuração para descrever seus recursos em modelos que você pode usar para implantação com script. Os modelos também fornecem recursos de monitoramento e alertas.

Eficiência de desempenho

  • A arquitetura foi projetada para acomodar o processamento paralelo de transações independentes.
  • O Barramento de Serviço, o AKS e outros recursos de PaaS do Azure fornecem alto desempenho para processamento de transações, computação e armazenamento de dados.

Escalabilidade

  • O Barramento de Serviço, o AKS e outros recursos de PaaS do Azure são dimensionado dinamicamente conforme necessário.

Segurança

  • Todos os componentes na arquitetura em lote do Barramento de Serviço funcionam com os componentes de segurança do Azure, como o Microsoft Entra ID, a Rede Virtual e a criptografia.

Otimização de custo

Para estimar os custos para a implementação dessa solução, use a Calculadora de preços.

Os recursos de dimensionamento automático de clusters do AKS e outros recursos de PaaS (Plataforma como Serviço) do Azure que fornecem dimensionamento sob demanda mantêm os custos no mínimo.

Aqui temos considerações de preços para componentes específicos:

Próximas etapas