Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os sistemas de processamento de transações online (OLTP) são a cara do seu negócio porque interagem diretamente com os clientes. Ao migrar para uma infraestrutura dinamicamente adaptável, sua empresa pode criar e lançar produtos rapidamente para que os clientes possam usá-los mais cedo.
Arquitetura
O diagrama a seguir mostra uma arquitetura de um sistema OLTP que é executado em um mainframe z/OS antes da migração para o Azure:
Workflow
O fluxo de dados a seguir corresponde ao diagrama anterior:
Os usuários se conectam ao mainframe por meio do Transmission Control Protocol (TCP) ou do Internet Protocol (IP) usando protocolos de mainframe padrão, como TN3270 e HTTPS.
Os gerenciadores de transações interagem com os usuários e invocam o aplicativo para atender às solicitações do usuário.
No front-end da camada de aplicativo, os usuários interagem com as telas do Sistema de Controle de Informações do Cliente (CICS) ou do Sistema de Gerenciamento de Informações (IMS) ou com páginas da Web.
Os gerenciadores de transações usam a lógica de negócios escrita em linguagem comum orientada a negócios (COBOL) ou Programming Language One (PL/I) para implementar as transações.
O código do aplicativo usa os recursos de armazenamento da camada de dados, como DB2, IMS DB ou VSAM.
Além do processamento de transações, outros serviços fornecem autenticação, segurança, gerenciamento, monitoramento e relatórios. Esses serviços interagem com todos os outros serviços no sistema.
O diagrama a seguir mostra como migrar essa arquitetura para o Azure.
Baixe um arquivo do Visio dessa arquitetura.
Os usuários de mainframe estão familiarizados com os terminais 3270 e a conectividade local. No sistema migrado, eles interagem com aplicativos do Azure por meio da Internet pública ou por meio de uma conexão privada implementada por meio do Azure ExpressRoute. A ID do Microsoft Entra 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 Gerenciador de Tráfego do Azure. O balanceador de carga pode atender a uma base de usuários distribuída geograficamente. Ele roteia as solicitações de acordo com as regras definidas para as cargas de trabalho com suporte. Esses balanceadores de carga podem coordenar com o Gateway de Aplicativo do Azure ou o Azure Load Balancer para balancear a carga da camada de aplicativo. O serviço Rede de Distribuição de Conteúdo do Azure armazena em cache o conteúdo estático em servidores de borda para resposta rápida. Um firewall de aplicativo Web (WAF) ajuda a proteger o serviço.
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/I no back-end da camada de aplicativo implementa a lógica de negócios. O código pode usar serviços e recursos como microsserviços do Azure Functions, WebJobs e Azure Spring Apps. Os aplicativos podem ser executados em um contêiner do AKS (Serviço de Kubernetes do Azure).
Um armazenamento de dados na memória acelera aplicativos OLTP de alta taxa de transferência. Os exemplos incluem In-Memory OLTP, que é um recurso do Banco de Dados SQL do Azure e da Instância Gerenciada de SQL do Azure, e o Cache do Azure para Redis.
A camada de dados pode incluir:
- Arquivos, tabelas e blobs implementados usando o Armazenamento do Azure.
- Bancos de dados relacionais da família SQL do Azure.
- Implementações do Azure dos bancos de dados de software livre PostgreSQL e MySQL.
- Azure Cosmos DB, que é um banco de dados NoSQL.
Esses armazenamentos contêm dados migrados do mainframe para uso da 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 Azure Monitor usando um painel do Azure.
Componentes
Essa arquitetura consiste em vários serviços de nuvem do Azure. Ele é dividido em quatro categorias de recursos: rede e identidade, aplicativo, armazenamento e monitoramento. As seções a seguir descrevem os serviços para cada recurso e suas funções.
Networking e identidade
Ao projetar a arquitetura de aplicativos, é crucial priorizar os componentes de rede e identidade para ajudar a garantir a segurança, o desempenho e a capacidade de gerenciamento durante as interações pela Internet pública ou conexões privadas. Os componentes a seguir na arquitetura são essenciais para atender a esse requisito de forma eficaz.
Um WAF do Azure é um firewall de aplicativo Web que protege os aplicativos contra ataques mal-intencionados e vulnerabilidades comuns da Web, como injeção de SQL e scripts entre sites. Nessa arquitetura, ela protege os aplicativos de mainframe migrados filtrando e inspecionando o tráfego de entrada para serviços voltados para a Web.
O Gateway de Aplicativo é um controlador de entrega de aplicativos de camada 7. Nessa arquitetura, ele gerencia o roteamento de tráfego HTTP e fornece balanceamento de carga para os aplicativos Web de mainframe migrados.
O Azure Front Door é um balanceador de carga HTTP global com recursos de failover instantâneo. Nessa arquitetura, ela acelera a entrega de conteúdo e garante alta disponibilidade para usuários de mainframe distribuídos geograficamente.
- A Rede de Distribuição de Conteúdo é um serviço de cache distribuído que otimiza a entrega de conteúdo estático armazenando cópias armazenadas em cache em servidores de borda para habilitar tempos de resposta mais rápidos para os usuários. Ele usa otimizações de rede para melhorar a resposta para conteúdo dinâmico. A Rede de Distribuição de Conteúdo é especialmente útil quando a base de usuários é global. Nessa arquitetura, ele melhora o desempenho de elementos de tela de mainframe e ativos estáticos em locais de borda global.
O ExpressRoute é um serviço de conectividade privada que estabelece uma conexão dedicada entre a infraestrutura local e o Azure. Nessa arquitetura, ela fornece acesso seguro à rede para usuários familiarizados com a conectividade do terminal de mainframe que exigem conexões privadas.
O Load Balancer é um serviço que distribui o tráfego de rede de entrada em vários recursos de back-end e manipula o tráfego TCP e UDP da camada 4. Nessa arquitetura, ela equilibra o tráfego de aplicativos e microsserviços em contêineres que substituem componentes de processamento de transação de mainframe.
- O Gerenciador de Tráfego é um serviço de roteamento de tráfego baseado em DNS que ajuda a distribuir solicitações de usuário em vários pontos de extremidade. Nessa arquitetura, ela distribui o tráfego entre pontos de extremidade regionais para otimizar a disponibilidade para usuários de mainframe em diferentes localizações geográficas.
Aplicação
O Azure fornece serviços gerenciados que dão suporte à implantação de aplicativos mais segura, escalonável e eficiente. Os serviços da camada de aplicativo que a arquitetura anterior usa podem ajudá-lo a otimizar a arquitetura do aplicativo.
O AKS é um serviço kubernetes gerenciado para aplicativos em contêineres. O AKS simplifica a implantação de um cluster AKS gerenciado no Azure descarregando a sobrecarga operacional para o Azure. Nessa arquitetura, ele hospeda microsserviços que substituem componentes de processamento de transação de mainframe monolítico, como CICS e IMS.
O Serviço de Aplicativo é um serviço totalmente gerenciado para criar, implantar e colocar em escala 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 de 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 estado para orquestrar um sistema baseado em microsserviços. Nessa arquitetura, ele fornece APIs REST e interfaces web que substituem 3270 telas de terminal e interfaces de usuário de mainframe.
- WebJobs é um recurso do Serviço de Aplicativo que executa um programa ou script na mesma instância de um aplicativo Web, aplicativo de API ou aplicativo móvel. Um trabalho da Web pode ser uma boa opção para implementar a lógica de programa compartilhável e reutilizável. Nessa arquitetura, ela executa tarefas de processamento em lote e tarefas em segundo plano que foram tratadas anteriormente por agendadores de trabalho de mainframe.
O Gerenciamento de API do Azure é uma PaaS (plataforma como serviço) totalmente gerenciada que 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. Você também pode restringir o acesso a seus aplicativos ou permitir terceiros. Nessa arquitetura, ela gerencia o acesso a APIs modernizadas que expõem a lógica de negócios do mainframe e controla como os dados herdados são acessados por novos aplicativos.
O Cache do Azure para Redis é um serviço de cache na memória totalmente gerenciado para compartilhar dados e estado entre recursos de computação. Ele inclui o Redis de código aberto e o Redis Enterprise, um produto comercial da Redis Labs, 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. Nessa arquitetura, ele acelera o acesso a dados para cargas de trabalho OLTP de alta taxa de transferência que substituem sistemas de processamento de transações de mainframe.
O Azure Functions é um serviço de computação sem servidor. Ele fornece um ambiente para executar pequenas partes de código, chamadas funções, sem precisar estabelecer uma infraestrutura de aplicativo. Você pode usá-lo para processar dados em massa, integrar sistemas, trabalhar com Internet das Coisas e criar APIs e microsserviços simples. Use microsserviços para criar servidores que se conectam aos serviços do Azure e estão sempre atualizados. Nessa arquitetura, ele lida com o processamento controlado por eventos e componentes de lógica de negócios leves migrados de gerenciadores de transações de mainframe.
O Barramento de Serviço do Azure é um serviço de mensagem de nuvem confiável para integração híbrida simples. As filas do Barramento de Serviço e do Armazenamento podem conectar o front-end com a lógica de negócios no sistema migrado. O Barramento de Serviço do Azure permite mensagens confiáveis entre sistemas distribuídos. Nessa arquitetura, ela facilita a comunicação assíncrona entre componentes de mainframe migrados que usavam anteriormente sistemas de mensagens mainframe.
Armazenamento e banco de dados
Essa arquitetura aborda o armazenamento em nuvem escalonável e seguro, bem como bancos de dados gerenciados para migrar dados de mainframe e dar suporte aos requisitos modernos do aplicativo.
O Azure Cosmos DB é um serviço de banco de dados NoSQL totalmente gerenciado que você pode usar o Azure Cosmos DB para migrar dados de mainframe e nontabular para o Azure. Nessa arquitetura, ela armazena dados não relacionais migrados de sistemas de mainframe, como arquivos VSAM, e fornece distribuição global para bases de usuários internacionais.
O Banco de Dados do Azure para MySQL é um serviço de banco de dados MySQL totalmente gerenciado. Nessa arquitetura, ele dá suporte a aplicativos que exigem compatibilidade de banco de dados de software livre durante o processo de modernização do mainframe.
O Banco de Dados do Azure para PostgreSQL é um PostgreSQL totalmente gerenciado, inteligente e escalonável que tem conectividade nativa com os serviços do Azure. Nessa arquitetura, ele hospeda dados relacionais migrados de bancos de dados de mainframe com funcionalidades avançadas de indexação e análise.
O SQL do Azure é uma família de serviços de banco de dados SQL baseado em nuvem. Nessa arquitetura, ele hospeda dados relacionais migrados de bancos de dados mainframe, como DB2 e BD IMS:
O SQL do Azure no Edge é uma versão especializada do mecanismo de banco de dados do SQL Server otimizado para implantações de IoT e de borda. Nessa arquitetura, ela processa dados próximos a dispositivos de borda em cenários em que aplicativos mainframe foram distribuídos para locais de borda.
O Banco de Dados SQL é um serviço de banco de dados relacional totalmente gerenciado. Nessa arquitetura, ele dá suporte a cargas de trabalho modernizadas com dimensionamento elástico para cargas de transação de mainframe variável.
A Instância Gerenciada de SQL é uma opção de implantação totalmente gerenciada e baseada em nuvem que fornece cerca de 100% compatibilidade do SQL Server. Nessa arquitetura, ele hospeda bancos de dados de mainframe migrados com alterações mínimas de código e alta disponibilidade interna.
O SQL Server em Máquinas Virtuais do Azure é uma oferta de IaaS (infraestrutura como serviço) que fornece funcionalidade completa do SQL Server. Nessa arquitetura, ele dá suporte a cargas de trabalho herdadas que exigem recursos específicos do mecanismo de banco de dados durante a migração.
In-Memory OLTP é um recurso de alto desempenho que acelera o processamento de transações no Banco de Dados SQL e na Instância Gerenciada de SQL. Nessa arquitetura, ela fornece os recursos de processamento de transações de alto desempenho que as cargas de trabalho OLTP de mainframe exigem.
O armazenamento é um conjunto de serviços de nuvem massivamente escalonáveis e mais seguros para dados, aplicativos e cargas de trabalho que fornecem serviços de armazenamento em nuvem fundamentais. Nessa arquitetura, ele dá suporte aos Arquivos do Azure, ao Armazenamento de Tabelas do Azure e ao Armazenamento de Filas do Azure para vários cenários de migração de dados de mainframe.
Monitorização
As ferramentas de monitoramento a seguir fornecem análise de dados abrangente e informações valiosas sobre o desempenho do aplicativo.
O Application Insights é um recurso do Azure Monitor que fornece telemetria em nível de código para aplicativos. Ele monitora o aplicativo, detecta anomalias 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 aplicativo personalizadas. Nessa arquitetura, ele acompanha o desempenho do aplicativo, detecta anomalias e dá suporte a rastreamento distribuído e métricas personalizadas para garantir confiabilidade e capacidade de resposta.
O Azure Monitor é uma plataforma abrangente para coletar, analisar e agir sobre telemetria de ambientes locais e do Azure. Nessa arquitetura, ele serve como o hub central para monitorar a infraestrutura, os aplicativos e os serviços.
Os alertas do Azure Monitor são um recurso do Azure Monitor que notifica os usuários quando métricas ou logs excedem os limites definidos. Nessa arquitetura, eles disparam respostas automatizadas ou escalonam problemas para as equipes de operações para intervenção oportuna.
O Log Analytics é uma ferramenta de consulta no Azure Monitor que usa uma linguagem poderosa para analisar dados de log. Nessa arquitetura, ela permite diagnósticos profundos, dá suporte a painéis personalizados e integra-se com alertas e pastas de trabalho para insights operacionais.
Detalhes do cenário
Devido à evolução das necessidades de negócios e dos dados, os aplicativos devem ser dimensionados e produzir resultados 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 mais seguro, escalonável e altamente disponível na nuvem usando os serviços de PaaS (plataforma como serviço) do Azure. Essa migração ajuda as empresas de finanças, saúde, seguros e varejo a minimizar os cronogramas de entrega de aplicativos. Também ajuda a reduzir os custos de execução dos aplicativos.
Possíveis casos de uso
Essa arquitetura é ideal para cargas de trabalho OLTP que têm as seguintes características:
Eles atendem a uma base de usuários internacional.
Seu uso varia muito ao longo do tempo, portanto, eles se beneficiam de escalabilidade flexível e preços baseados em uso.
Considerações
Essas considerações implementam os pilares do Azure Well-Architected Framework, um conjunto de princípios orientadores que você pode usar para aprimorar a qualidade de uma carga de trabalho. Para obter mais informações, consulte Well-Architected Framework.
Fiabilidade
A confiabilidade ajuda a garantir que seu aplicativo possa cumprir os compromissos que você faz aos seus clientes. Para obter mais informações, consulte Lista de verificação de revisão de design para confiabilidade.
Você pode implantar essa arquitetura OLTP em várias regiões. Ele também 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 fornece garantias contra ataques deliberados e o uso indevido de seus valiosos dados e sistemas. Para obter mais informações, consulte Lista de verificação de revisão de design para segurança.
O ExpressRoute cria uma conexão privada com o Azure de um ambiente local. Você também pode usar a VPN site a site.
A ID do Microsoft Entra 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 dão suporte a várias opções de segurança, como criptografia de dados em repouso.
Para obter diretrizes gerais sobre como criar soluções mais seguras, consulte Links rápidos de segurança.
Otimização de custos
A Otimização de Custos concentra-se em maneiras 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.
Use a calculadora de preços do Azure para estimar os custos de sua implementação.
Excelência operacional
A Excelência operacional abrange os processos de operações que implantam uma aplicação e as mantêm em execução em produção. Para obter mais informações, consulte Lista de verificação de revisão de design para Excelência Operacional.
Esse 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.
Eficiência de desempenho
A Eficiência de Desempenho refere-se à capacidade da carga de trabalho de dimensionar para atender às demandas do usuário com eficiência. Para obter mais informações, consulte Lista de verificação de revisão de design para eficiência de desempenho.
Essa arquitetura usa serviços de PaaS do Azure, como o Serviço de Aplicativo, que tem recursos de dimensionamento automático.
Para saber mais, confira Dimensionamento automático.
Contribuidores
A Microsoft mantém este artigo. Os colaboradores a seguir escreveram este artigo.
Autores principais:
- Ashish Khandelwal | Gerente de Arquitetura de Engenharia Principal
- Nithish Aruldoss | Arquiteto de Engenharia
Para ver perfis não públicos no LinkedIn, entre no LinkedIn.
Próximas etapas
- Para obter mais informações, entre em contato com datasqlninja@microsoft.com.
- Guias de migração do Banco 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 usando a Avanade AMT
- Servidor Enterprise do Micro Focus nas VMs do Azure
- Refatorar o recurso de acoplamento de mainframe IBM z/OS para o Azure
- Replicar e sincronizar dados de mainframe no Azure
- Migrar aplicativos de mainframe IBM para o Azure usando o TmaxSoft OpenFrame