Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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 usar seus produtos 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 trabalho a seguir corresponde ao diagrama anterior:
Os usuários se conectam ao mainframe por TCP (Transmission Control Protocol) ou IP (Internet Protocol) 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 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 gerentes 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. Estes serviços interagem com todos os outros serviços do sistema.
O diagrama a seguir mostra como migrar essa arquitetura para o Azure.
Descarregue um ficheiro 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 por meio da Internet pública ou por meio de uma conexão privada implementada por meio da Rota Expressa do Azure. 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 balancear a 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. Um firewall de aplicativo da 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.
COBOL e código PL/I no back-end da camada de aplicação implementam a lógica de negócios. O código pode usar serviços e recursos 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. Os exemplos incluem In-Memory OLTP, que é um recurso do Banco de Dados SQL do Azure e da Instância Gerenciada 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 Azure dos bancos de dados de código aberto PostgreSQL e MySQL.
- Azure Cosmos DB, que é um banco de dados NoSQL.
Esses armazenamentos armazenam dados migrados do mainframe para uso da camada de aplicativo.
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 componentes de rede e identidade para ajudar a garantir segurança, desempenho e capacidade de gerenciamento durante interações pela Internet pública ou conexões privadas. Os seguintes componentes na arquitetura são essenciais para atender a esse requisito de forma eficaz.
Um WAF do Azure é um firewall de aplicativo Web que protege aplicativos contra ataques mal-intencionados e vulnerabilidades comuns da Web, como injeção de SQL e scripts entre sites. Nessa arquitetura, ele protege os aplicativos de mainframe migrados filtrando e inspecionando o tráfego de entrada para serviços voltados para a Web.
O Application Gateway é 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, ele 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 em cache em servidores de borda para permitir 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 pontos de presença globais.
O ExpressRoute é um serviço de conectividade privado que estabelece uma conexão dedicada entre a infraestrutura local e o Azure. Nessa arquitetura, ele fornece acesso seguro à rede para usuários familiarizados com a conectividade de terminais de mainframe que precisam de conexões privadas.
O Balanceador de Carga é um serviço que distribui o tráfego de rede de entrada entre vários recursos de back-end e lida com o tráfego TCP e UDP da camada 4. Nessa arquitetura, ele equilibra o tráfego para aplicativos em contêineres e microsserviços que substituem os componentes de processamento de transações 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ários em vários pontos de extremidade. Nessa arquitetura, ele distribui o tráfego entre endpoints regionais para otimizar a disponibilidade para usuários de mainframe em diferentes locais geográficos.
Aplicação
O Azure fornece serviços geridos que suportam uma implementação mais segura, escalável e eficiente de aplicações. Os serviços de camada de aplicativo que a arquitetura anterior usa podem ajudá-lo a otimizar sua arquitetura de 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 monolíticos de processamento de transações de mainframe, como CICS e IMS.
O Serviço de Aplicativo é 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. Nessa arquitetura, ele oferece APIs REST e interfaces web que substituem telas de terminal 3270 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 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. Nessa arquitetura, ele executa tarefas de processamento em lote e tarefas em segundo plano que eram anteriormente manipuladas por agendadores de tarefas de mainframe.
O Gerenciamento de API do Azure é uma plataforma como serviço (PaaS) 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. Também pode restringir o acesso às suas aplicações ou permitir que terceiros. Nessa arquitetura, ele 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 Redis do Azure é um serviço de cache na memória totalmente gerenciado para compartilhar dados e estado entre recursos de computação. Inclui Redis e Redis Enterprise de código aberto, 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 os 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 pequenos pedaços de código, chamados funções, sem ter que estabelecer uma infraestrutura de aplicativo. Você pode usá-lo para processar dados em massa, integrar sistemas, trabalhar com a 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 processamento orientado a eventos e componentes leves de lógica de negócios migrados de gerenciadores de transações de mainframe.
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 Barramento de Serviço do Azure permite mensagens confiáveis entre sistemas distribuídos. Nessa arquitetura, ele facilita a comunicação assíncrona entre componentes de mainframe migrados que anteriormente usavam sistemas de mensagens de mainframe.
Armazenamento e banco de dados
Essa arquitetura aborda o armazenamento em nuvem escalável e seguro, bem como bancos de dados gerenciados para migrar dados de mainframe e dar suporte aos requisitos modernos de aplicativos.
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 não tabulares de mainframe para o Azure. Nessa arquitetura, ele 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 suporta aplicativos que exigem compatibilidade de banco de dados de código aberto durante o processo de modernização do mainframe.
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. Nessa arquitetura, ele hospeda dados relacionais migrados de bancos de dados de mainframe com recursos avançados de indexação e análise.
O Azure SQL é uma família de serviços de banco de dados SQL baseados em nuvem. Nessa arquitetura, ele hospeda dados relacionais migrados de bancos de dados de mainframe como DB2 e IMS DB:
O SQL Edge do Azure é uma versão especializada do mecanismo de banco de dados do SQL Server otimizada para implantações de IoT e de borda. Nessa arquitetura, ele processa dados próximos a dispositivos de borda em cenários em que os aplicativos de mainframe foram distribuídos para pontos de presença.
O Banco de dados SQL é um serviço de banco de dados relacional totalmente gerenciado. Nessa arquitetura, ele oferece suporte a cargas de trabalho modernizadas com dimensionamento elástico para cargas variáveis de transações de mainframe.
A Instância Gerenciada SQL é uma opção de implantação totalmente gerenciada e baseada em nuvem que fornece cerca de 100% compatibilidade com o SQL Server. Nessa arquitetura, ele hospeda bancos de dados de mainframe migrados com alterações mínimas de código e alta disponibilidade integrada.
O SQL Server em Máquinas Virtuais do Azure é uma oferta de infraestrutura como serviço (IaaS) que fornece funcionalidade completa do SQL Server. Nessa arquitetura, ele oferece 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 SQL. Nessa arquitetura, ele 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 escaláveis e mais seguros para dados, aplicativos e cargas de trabalho que fornece serviços básicos de armazenamento em nuvem. Nessa arquitetura, ele dá suporte aos Arquivos do Azure, ao Armazenamento de Tabela 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, deteta 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 aplicativos personalizadas. Nessa arquitetura, ele rastreia o desempenho do aplicativo, deteta anomalias e oferece 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 em telemetria do Azure e ambientes locais. Nessa arquitetura, ele serve como o hub central para monitorar infraestrutura, aplicativos e 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 acionam respostas automatizadas ou escalam 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, ele permite diagnósticos detalhados, suporta painéis personalizados e integra-se a 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, escalável e altamente disponível na nuvem usando os serviços PaaS (plataforma Azure as a service). Essa migração ajuda as empresas de finanças, saúde, seguros e varejo a minimizar os prazos de entrega de aplicativos. Também ajuda a reduzir os custos de execução das aplicações.
Potenciais casos de utilização
Essa arquitetura é ideal para cargas de trabalho OLTP que têm as seguintes 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 você pode usar para melhorar 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ê assume com 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 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 como criar soluções mais seguras, consulte Ligações rápidas de segurança.
Otimização de Custos
A Otimização de Custos concentra-se em formas 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 operacionais que implantam um aplicativo e o mantêm em execução na produção. Para obter mais informações, consulte Lista de verificação de revisão de design para 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.
Eficiência de desempenho
A Eficiência de Desempenho refere-se à capacidade da sua carga de trabalho de escalar para atender às demandas dos usuários de forma eficiente. Para obter mais informações, consulte Lista de verificação de revisão de projeto para 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 mais informações, consulte Autoscaling.
Contribuidores
A Microsoft mantém este artigo. Os seguintes colaboradores escreveram este artigo.
Principais autores:
- Ashish Khandelwal | Gerente Principal de Arquitetura de Engenharia
- Nithish Aruldoss - Brasil | Arquiteto de Engenharia
Para ver perfis não públicos do LinkedIn, faça login no LinkedIn.
Próximos passos
- Para obter mais informações, contacte 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 o Avanade AMT
- Micro Focus Enterprise Server em VMs do Azure
- Refatore 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