Os sistemas de processamento de transações on-line (OLTP) interagem diretamente com os usuários e são a cara do negócio. Com uma infraestrutura dinamicamente adaptável, as empresas podem realizar e lançar seus produtos rapidamente para encantar seus usuários.
Arquitetura
O diagrama a seguir mostra a arquitetura da carga de trabalho a ser migrada, um sistema OLTP em execução em um mainframe z/OS:
Transfira um ficheiro do Visio desta arquitetura.
Fluxo de Trabalho
O fluxo de trabalho a seguir corresponde ao diagrama anterior:
- Os usuários se conectam ao mainframe por TCP/IP usando protocolos de mainframe padrão, como TN3270 e HTTPS.
- Os gerentes de transações interagem com os usuários e invocam o aplicativo para satisfazer as solicitações dos usuários.
- No front-end da camada de aplicação, os utilizadores interagem com os ecrãs CICS/IMS ou com páginas web.
- Os gerentes de transações usam a lógica de negócios escrita em COBOL ou PL/1 para implementar as transações.
- O código do aplicativo usa recursos de armazenamento da camada de dados, normalmente DB2, IMS DB ou VSAM.
- Juntamente com o processamento de transações, outros serviços fornecem autenticação, segurança, gerenciamento, monitoramento e relatórios. Estes serviços interagem com todos os outros serviços do sistema.
Aqui, vemos como migrar essa arquitetura para o Azure.
Transfira um ficheiro do Visio desta arquitetura.
Os usuários de mainframe estão familiarizados com 3270 terminais e conectividade local. No sistema migrado, eles interagem com aplicativos do Azure via Internet pública ou por meio de uma conexão privada implementada com o Azure ExpressRoute. O Microsoft Entra ID fornece autenticação.
As solicitações de entrada vão para um serviço de balanceador de carga global, como o Azure Front Door ou o Azure Traffic Manager. O balanceador de carga pode servir a uma base de usuários geograficamente espalhada. Ele roteia as solicitações de acordo com as regras definidas para as cargas de trabalho suportadas. Esses balanceadores de carga podem se coordenar com o Gateway de Aplicativo do Azure ou o Balanceador de Carga do Azure para balanceamento de carga da camada de aplicativo. O serviço Rede de Entrega de Conteúdo do Azure armazena em cache conteúdo estático em servidores de borda para resposta rápida, protegido usando o serviço WAF (Web Application Firewall).
O front-end da camada de aplicativo usa serviços do Azure, como o Serviço de Aplicativo do Azure, para implementar telas de aplicativo e interagir com os usuários. As telas são versões migradas das telas de mainframe.
O código COBOL e PL/1 no back-end da camada de aplicativo implementa a lógica de negócios. O código pode usar serviços como Azure Functions, WebJobs e microsserviços do Azure Spring Apps. Os aplicativos podem ser executados em um contêiner do Serviço Kubernetes do Azure (AKS).
Um armazenamento de dados na memória acelera aplicativos OLTP de alta taxa de transferência. Um desses armazenamentos é o OLTP In-Memory, um recurso do Banco de Dados SQL do Azure e da Instância Gerenciada SQL do Azure. Outro é o Cache do Azure para Redis.
A camada de dados pode incluir, por exemplo:
- Arquivos, tabelas e blobs implementados usando os serviços de Armazenamento do Azure.
- Bancos de dados relacionais da família SQL do Azure.
- Implementações Azure dos bancos de dados de código aberto PostgreSQL e MySQL.
- Azure Cosmos DB, um banco de dados NoSQL.
Esses armazenamentos armazenam dados migrados do mainframe para uso pela camada de aplicativo.
Os serviços nativos do Azure, como o Application Insights e o Azure Monitor, monitoram proativamente a integridade do sistema. Você pode integrar os logs do Monitor usando um painel do Azure.
Componentes
Essa arquitetura consiste em vários serviços de nuvem do Azure e é dividida em quatro categorias de recursos: rede e identidade, aplicativo, armazenamento e monitoramento. Os serviços para cada um e suas funções são descritos nas seções a seguir.
Networking e identidade
- O Azure ExpressRoute carrega conexões privadas entre a infraestrutura local e os datacenters do Azure.
- O Microsoft Entra ID é um serviço de gerenciamento de identidade e acesso que pode ser sincronizado com um diretório local.
- O Azure Front Door fornece balanceamento de carga HTTP global com failover instantâneo. Sua opção de cache pode acelerar a entrega de conteúdo estático.
- O Azure Traffic Manager direciona as solicitações DNS de entrada com base em sua escolha de métodos de roteamento de tráfego.
- O Firewall de Aplicativo Web do Azure ajuda a proteger aplicativos Web contra ataques mal-intencionados e vulnerabilidades comuns da Web, como injeção de SQL e scripts entre sites.
- A CDN (Rede de Entrega de Conteúdo) do Azure armazena em cache conteúdo estático em servidores de borda para resposta rápida e usa otimizações de rede para melhorar a resposta para conteúdo dinâmico. A CDN é especialmente útil quando a base de usuários é global.
- O Gateway de Aplicativo do Azure é um serviço de controlador de entrega de aplicativos. Ele opera na camada 7, a camada de aplicação, e tem vários recursos de balanceamento de carga.
- O Azure Load Balancer é um balanceador de carga de camada 4 (TCP, UDP). Nessa arquitetura, ele fornece opções de balanceamento de carga para Spring Apps e AKS.
Aplicação
- O Gerenciamento de API do Azure dá suporte à publicação, roteamento, proteção, registro em log e análise de APIs. Você pode controlar como os dados são apresentados e estendidos e quais aplicativos podem acessá-los. Pode restringir o acesso às suas aplicações ou permitir que terceiros.
- O Serviço de Aplicativo do Azure é um serviço totalmente gerenciado para criar, implantar e dimensionar aplicativos Web. Você pode criar aplicativos usando .NET, .NET Core, Node.js, Java, Python ou PHP. Os aplicativos podem ser executados em contêineres ou no Windows ou Linux. Em uma migração de mainframe, as telas front-end ou a interface da Web podem ser codificadas como APIs REST baseadas em HTTP. Eles podem ser segregados de acordo com o aplicativo de mainframe e podem ser sem monitoração de estado para orquestrar um sistema baseado em microsserviços.
- WebJobs é um recurso do Serviço de Aplicativo do Azure que executa um programa ou script na mesma instância que um aplicativo Web, aplicativo de API ou aplicativo móvel. Um trabalho web pode ser uma boa escolha para implementar lógica de programa compartilhável e reutilizável. Para obter informações técnicas, consulte Executar tarefas em segundo plano com WebJobs no Serviço de Aplicativo do Azure.
- O Serviço Kubernetes do Azure (AKS) é um serviço Kubernetes totalmente gerenciado para implantar e gerenciar aplicativos em contêineres. O AKS simplifica a implantação de um cluster AKS gerenciado no Azure descarregando a sobrecarga operacional para o Azure.
- O Azure Spring Apps é um serviço Spring totalmente gerenciado, criado e operado em conjunto pela Microsoft e pela VMware. Com ele, você pode facilmente implantar, gerenciar e executar microsserviços Spring e escrever aplicativos Spring usando Java ou .NET.
- O Barramento de Serviço do Azure é um serviço de mensagens na nuvem confiável para integração híbrida simples. As filas de Barramento de Serviço e Armazenamento podem conectar o front-end com a lógica de negócios no sistema migrado.
- O Azure Functions fornece um ambiente para executar pequenas partes de código, chamadas funções, sem a necessidade de estabelecer uma infraestrutura de aplicativo. Você pode usá-lo para processar dados em massa, integrar sistemas, trabalhar com IoT e criar APIs e microsserviços simples. Com os microsserviços, você pode criar servidores que se conectam aos serviços do Azure e estão sempre atualizados.
- O Cache Redis do Azure é um serviço de cache na memória totalmente gerenciado para compartilhar dados e estado entre recursos de computação. Inclui o Redis de código aberto (OSS Redis) e um produto comercial da Redis Labs (Redis Enterprise) como um serviço gerenciado. Você pode melhorar o desempenho de aplicativos OLTP de alta taxa de transferência projetando-os para dimensionar e usar um armazenamento de dados na memória, como o Cache do Azure para Redis.
Armazenamento
- O Armazenamento do Azure é um conjunto de serviços de nuvem massivamente escaláveis e seguros para dados, aplicativos e cargas de trabalho. Inclui os Arquivos do Azure, o Armazenamento de Tabela do Azure e o Armazenamento de Filas do Azure. Os Arquivos do Azure geralmente são uma ferramenta eficaz para migrar cargas de trabalho de mainframe.
- O Azure SQL é uma família de bancos de dados na nuvem SQL que fornece opções flexíveis para migração, modernização e desenvolvimento de aplicativos. A família inclui:
- O Azure Cosmos DB é um serviço de banco de dados NoSQL totalmente gerenciado com APIs de código aberto para MongoDB e Cassandra. Um aplicativo possível é migrar dados não tabulares de mainframe para o Azure.
- O Banco de Dados do Azure para PostgreSQL é um PostgreSQL totalmente gerenciado, inteligente e escalável que tem conectividade nativa com os serviços do Azure.
- O Banco de Dados do Azure para MySQL é um banco de dados MySQL totalmente gerenciado e escalável.
- O OLTP na memória é um recurso do Banco de Dados SQL do Azure e da Instância Gerenciada SQL do Azure que fornece armazenamento rápido de dados na memória. Para obter informações técnicas, consulte Otimizar o desempenho usando tecnologias na memória no Banco de Dados SQL do Azure e na Instância Gerenciada SQL do Azure.
Monitorização
- O Azure Monitor recolhe, analisa e atua sobre dados pessoais do seu Azure e ambientes locais.
- O Log Analytics é uma ferramenta no portal do Azure usada para consultar logs do Monitor usando uma linguagem de consulta poderosa. Você pode trabalhar com os resultados de suas consultas interativamente ou usá-los com outros recursos do Azure Monitor, como alertas de consulta de log ou pastas de trabalho. Para obter mais informações, consulte Visão geral do Log Analytics no Azure Monitor.
- O Application Insights é um recurso do Monitor que fornece monitoramento em nível de código do uso, disponibilidade e desempenho do aplicativo. Ele monitora o aplicativo, deteta anomalias do aplicativo, como desempenho medíocre e falhas, e envia dados pessoais para o portal do Azure. Você também pode usar o Application Insights para registro em log, rastreamento distribuído e métricas de aplicativos personalizadas.
- Os Alertas do Azure Monitor são um recurso do Monitor. Para obter mais informações, consulte Criar, exibir e gerenciar alertas métricos usando o Azure Monitor.
Detalhes do cenário
Com as necessidades de negócios e os dados em constante evolução, os aplicativos devem produzir e dimensionar sem criar problemas de infraestrutura. Este exemplo de carga de trabalho mostra como você pode migrar um aplicativo OLTP de mainframe z/OS para um sistema seguro, escalável e altamente disponível na nuvem, usando serviços de plataforma como serviço (PaaS) do Azure. Essa migração ajuda as empresas de finanças, saúde, seguros e varejo a minimizar os prazos de entrega de aplicativos e ajuda a reduzir os custos de execução dos aplicativos.
Potenciais casos de utilização
Essa arquitetura é ideal para cargas de trabalho OLTP que têm estas características:
- Servem uma base de utilizadores internacionais.
- Seu uso varia muito ao longo do tempo, por isso eles se beneficiam de escalonamento flexível e preços baseados no uso.
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.
Fiabilidade
A confiabilidade garante que seu aplicativo possa atender aos compromissos que você assume com seus clientes. Para obter mais informações, consulte Visão geral do pilar de confiabilidade.
- Essa arquitetura OLTP pode ser implantada em várias regiões e pode ter uma camada de dados replicada geograficamente.
- Os serviços de banco de dados do Azure dão suporte à redundância de zona e podem fazer failover para um nó secundário se ocorrer uma interrupção ou para permitir atividades de manutenção.
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 Visão geral do pilar de segurança.
- O ExpressRoute cria uma conexão privada com o Azure a partir de um ambiente local. Você também pode usar VPN site a site.
- O Microsoft Entra ID pode autenticar recursos e controlar o acesso usando o controle de acesso baseado em função do Azure.
- Os serviços de banco de dados no Azure oferecem suporte a várias opções de segurança, como criptografia de dados em repouso.
- Para obter orientações gerais sobre a conceção de soluções seguras, consulte Descrição geral do pilar da segurança.
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 Visão geral do pilar de otimização de custos.
Use a Calculadora de Preços do Azure para estimar os custos da sua implementação.
Excelência operacional
A excelência operacional abrange os processos operacionais que implantam um aplicativo e o mantêm em execução na produção. Para obter mais informações, consulte Visão geral do pilar de excelência operacional.
- Este cenário usa o Azure Monitor e o Application Insights para monitorar a integridade dos recursos do Azure. Você pode definir alertas para gerenciamento proativo.
- Para obter orientação sobre resiliência no Azure, consulte Projetando aplicativos confiáveis do Azure.
Eficiência de desempenho
Eficiência de desempenho é a capacidade da sua carga de trabalho para dimensionar para satisfazer as exigências que os utilizadores lhe colocam de forma eficiente. Para obter mais informações, consulte Visão geral do pilar de eficiência de desempenho.
- Essa arquitetura usa serviços PaaS do Azure, como o Serviço de Aplicativo, que tem recursos de dimensionamento automático.
- Para obter orientações sobre o dimensionamento automático no Azure, consulte Dimensionamento automático.
Contribuidores
Este artigo é mantido pela Microsoft. Foi originalmente escrito pelos seguintes contribuidores.
Autor principal:
- Ashish Khandelwal - Brasil | Gerente Principal de Arquitetura de Engenharia
- Nithish Aruldoss - Brasil | Arquiteto de Engenharia
Para ver perfis não públicos do LinkedIn, inicie sessão no LinkedIn.
Próximos passos
- Para obter mais informações, contacte datasqlninja@microsoft.com.
- Guias de Migração de Base de Dados do Azure
Recursos relacionados
Consulte as seguintes arquiteturas relacionadas e informações técnicas relacionadas:
Arquiteturas relacionadas
- Processamento de transações em lote de alto volume
- Migração de mainframe IBM z/OS com Avanade AMT
- Micro Focus Enterprise Server em VMs do Azure
- Refatore o IBM z/OS mainframe Coupling Facility (CF) para o Azure
- Acesso de mainframe a bancos de dados do Azure
- Replicar e sincronizar dados de mainframe no Azure
- Migrar aplicativos de mainframe IBM para o Azure com o TmaxSoft OpenFrame
Informações técnicas relacionadas
- Executar tarefas em segundo plano com WebJobs no Serviço de Aplicativo do Azure
- Otimizar o desempenho usando tecnologias na memória no Banco de Dados SQL do Azure e na Instância Gerenciada SQL do Azure
- Descrição geral do Azure Monitor
- Criar, ver e gerir alertas de métricas com o Azure Monitor
- Criar e partilhar dashboards dos dados do Log Analytics
- Descrição geral do pilar de segurança