Esta solução utiliza as Aplicações Lógicas do Azure para integrar dados na nuvem no armazenamento de dados no local.
A arquitetura ilustra o uso do Gerenciamento de API do Azure, o armazenamento de segredos e chaves de API no Cofre de Chaves do Azure, uma conexão com o SQL Server por meio de um gateway de dados local e o monitoramento de desempenho com o Azure Monitor. Todos esses componentes são integrados por meio da orquestração de Aplicativos Lógicos do Azure.
Arquitetura
O diagrama contém duas caixas, uma para componentes do Azure e outra para componentes locais. Fora da caixa do Azure está um arquivo de dados rotulado JSON. Uma seta aponta do arquivo JSON para um ícone de Gerenciamento de API que está dentro da caixa Azure. Uma segunda seta aponta do ícone Gerenciamento de API para um ícone de Aplicativos Lógicos que também está dentro da caixa do Azure. Três setas apontam para longe do ícone Aplicativos lógicos. Um deles leva a um ícone do Cofre da Chave que está dentro da caixa do Azure. Um deles leva a um ícone de gateway de dados local que está entre as duas caixas. E o terceiro leva a um ícone do Azure Monitor que está dentro da caixa do Azure. Outra seta aponta do gateway para um ícone do SQL Server que está dentro da caixa local. Uma seta final aponta do ícone do SQL Server para uma pessoa fora da caixa local.
Transfira um ficheiro do Visio desta arquitetura.
Fluxo de Trabalho
O Gerenciamento de API aceita chamadas de API na forma de solicitações HTTP.
O Gerenciamento de API roteia com segurança as solicitações HTTP para Aplicativos Lógicos.
Cada solicitação HTTP dispara uma execução em Aplicativos Lógicos:
- Os Aplicativos Lógicos usam parâmetros de modelo seguros para recuperar credenciais de banco de dados do Cofre de Chaves do Azure.
- Os Aplicativos Lógicos usam TLS (Transport Layer Security) para enviar as credenciais do banco de dados e uma instrução de banco de dados para o gateway de dados local.
O gateway de dados local se conecta a um banco de dados do SQL Server para executar a instrução.
O SQL Server armazena os dados e os disponibiliza para aplicativos que os usuários acessam.
O Azure Monitor recolhe informações sobre eventos e desempenho das Aplicações Lógicas.
Componentes
Essa arquitetura usa os seguintes componentes:
O Gerenciamento de API do Azure cria gateways de API consistentes e modernos para serviços back-end. Além de aceitar chamadas de API e roteá-las para back-ends, essa plataforma também verifica chaves, tokens, certificados e outras credenciais. O Gerenciamento de API também impõe cotas de uso e limites de taxa e registra metadados de chamadas.
As Aplicações Lógicas do Azure automatizam fluxos de trabalho ligando aplicações e dados entre nuvens. Este serviço fornece uma maneira de acessar e processar dados com segurança em tempo real. Suas soluções sem servidor cuidam da criação, hospedagem, dimensionamento, gerenciamento, manutenção e monitoramento de aplicativos.
Um gateway de dados local atua como uma ponte que conecta dados locais com serviços de nuvem, como aplicativos lógicos. Normalmente, você instala o gateway em uma máquina virtual local dedicada. Os serviços de nuvem podem, então, usar dados locais com segurança.
O Azure Key Vault armazena e controla o acesso a segredos como tokens, palavras-passe e chaves de API. O Cofre de Chaves também cria e controla chaves de criptografia e gerencia certificados de segurança.
O SQL Server fornece uma solução para armazenar e consultar dados estruturados e não estruturados. Esse mecanismo de banco de dados apresenta desempenho e segurança líderes do setor.
O Azure Monitor coleta dados sobre ambientes e recursos do Azure. Essas informações são úteis para manter a disponibilidade e o desempenho. Outros serviços do Azure, como o Armazenamento do Azure e os Hubs de Eventos do Azure, também podem usar esses dados de diagnóstico. Duas plataformas de dados compõem o Monitor:
- O Azure Monitor registra registros e armazena dados de log e desempenho. Para Aplicativos Lógicos, esses dados incluem informações sobre eventos de gatilho, eventos de execução e eventos de ação.
- O Azure Monitor Metrics coleta valores numéricos em intervalos regulares. Para Aplicativos Lógicos, esses dados incluem a latência, a taxa e a porcentagem de sucesso de execução.
Alternativas
Existem algumas alternativas para esta solução:
Em vez de usar uma instância local do SQL Server, considere migrar para um serviço de banco de dados do Azure atualizado e totalmente gerenciado. O conector do SQL Server que os Aplicativos Lógicos usam também funciona para o Banco de Dados SQL do Azure e a Instância Gerenciada SQL do Azure. Para obter mais informações, consulte Automatizar fluxos de trabalho para um banco de dados SQL usando os Aplicativos Lógicos do Azure. Para começar com a migração, consulte Serviço de Migração de Banco de Dados do Azure.
Para tarefas de automação complexas, considere usar o Azure Functions em vez de Aplicativos Lógicos. Ambos os serviços permitem que você crie fluxos de trabalho sem servidor. O Azure Functions é um serviço de computação destinado à execução de código personalizado ou processamento complexo ou à integração com outros serviços. O Logic Apps é um serviço de nuvem destinado a automatizar e orquestrar tarefas e fluxos de trabalho de negócios. Ele fornece um designer visual e muitos conectores pré-construídos. Para obter mais informações, consulte Comparar o Azure Functions e os Aplicativos Lógicos do Azure.
Para integrações mais simples, considere usar Power Automate em vez de Aplicativos Lógicos. Para obter mais informações, consulte Comparar o Microsoft Power Automate e os aplicativos lógicos do Azure.
O Power Apps também fornece soluções para automatizar fluxos de trabalho que envolvem a conexão com fontes de dados locais.
Detalhes do cenário
Um aplicativo lógico pode armazenar dados de solicitação HTTP em um banco de dados do SQL Server. Como os Aplicativos Lógicos funcionam como um ponto de extremidade seguro de Gerenciamento de API do Azure, as chamadas para sua API podem disparar várias tarefas relacionadas a dados. Além de atualizar bancos de dados locais, você também pode enviar Teams ou mensagens de e-mail.
Potenciais casos de utilização
Use esta solução para automatizar tarefas de integração de dados que você executa em resposta a chamadas de API.
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 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.
Para alta disponibilidade, adicione o gateway local a um cluster em vez de instalar um gateway autônomo.
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 gateway de dados local usa criptografia de credenciais e autenticação de usuário para proteger dados durante transferências entre sistemas locais e do Azure.
O Gerenciamento de API ajuda a garantir que apenas clientes autorizados chamem seu aplicativo lógico. Você também pode seguir estas etapas:
Como o Gerenciamento de API é o único cliente que deve chamar seu aplicativo lógico, considere restringir os endereços IP de entrada do aplicativo. Você pode configurar seu aplicativo lógico para aceitar somente solicitações do endereço IP da sua instância de serviço de Gerenciamento de API.
Você também pode usar um destes esquemas de autorização para limitar o acesso ao seu aplicativo lógico:
Considere usar o controle de acesso baseado em função do Azure (Azure RBAC) para permitir que apenas usuários ou grupos específicos gerenciem, editem e exibam seus aplicativos lógicos.
Estão disponíveis informações sobre cada execução de aplicação lógica, tais como o estado, a duração, as entradas e as saídas de cada ação. Use um destes métodos para controlar quem pode acessar as entradas e saídas no histórico de execução:
- Restrinja o acesso por intervalo de endereços IP.
- Use ofuscação para proteger os dados do histórico de execução.
Otimização de custos
A otimização de custos consiste em 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.
A tabela a seguir fornece perfis de custo que usam níveis variáveis de taxa de transferência esperada:
Gestão de API | Execuções de ações de aplicativos lógicos | Execuções do conector de aplicativos lógicos | Perfil |
---|---|---|---|
Básica | 1.000/dia | 1.000/dia | Perfil básico |
Standard | 10.000/dia | 10.000/dia | Perfil padrão |
Premium | 100.000/dia | 100.000/dia | Perfil premium |
Os perfis não incluem os custos de um banco de dados do SQL Server. Para ajustar os parâmetros e explorar o custo de execução dessa solução em seu ambiente, use a calculadora de preços do Azure.
Explore estas estratégias para minimizar os custos dos Aplicativos Lógicos:
- Execute instruções SQL em lotes.
- Crie procedimentos armazenados para organizar os resultados do banco de dados de forma eficiente.
- Especifique condições de gatilho precisas para fluxos de trabalho.
- Desative os aplicativos lógicos que não precisam ser executados constantemente.
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.
Com o modelo sem servidor que o Logic Apps usa, o serviço é dimensionado automaticamente para atender à demanda. Mas esteja ciente dos limites das operações de leitura e gravação com o gateway de dados local.
Contribuidores
Este artigo é mantido pela Microsoft. Foi originalmente escrito pelos seguintes contribuidores.
Principais autores:
- Beatriz Matsui - Brasil | Consultor
- Shan Singh - Brasil | Engenheiro de Software
Para ver perfis não públicos do LinkedIn, inicie sessão no LinkedIn.
Próximos passos
- Importar um aplicativo lógico como uma API
- Instalar um gateway de dados local para Aplicativos Lógicos do Azure
- Ligar a origens de dados no local a partir do Azure Logic Apps
Recursos relacionados
Automatizar fluxos de trabalho para um banco de dados SQL usando os Aplicativos Lógicos do Azure
Arquitetura semelhante:
- Integração empresarial usando filas e eventos: aplicativos lógicos que respondem a chamadas de API integrando sistemas de back-end.