Essa solução usa os Aplicativos Lógicos do Azure para integrar dados de nuvem ao armazenamento de dados 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 dos 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 há um arquivo de dados rotulado como JSON. Uma seta aponta do arquivo JSON para um ícone de Gerenciamento de API na caixa do Azure. Uma segunda seta aponta do ícone de Gerenciamento de API para um ícone de Aplicativos Lógicos que também está na caixa do Azure. Três setas apontam para longe do ícone dos Aplicativos Lógicos. Um leva a um ícone do Key Vault que está dentro da caixa do Azure. Um 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 SQL Server para uma pessoa fora da caixa local.
Baixe um Arquivo Visio dessa arquitetura.
Workflow
O Gerenciamento de API aceita chamadas à API na forma de solicitações HTTP.
O Gerenciamento de API encaminha com segurança as solicitações HTTP para os Aplicativos Lógicos.
Cada solicitação HTTP dispara uma operação nos Aplicativos Lógicos:
- Os Aplicativos Lógicos usam parâmetros de modelo protegidos para recuperar credenciais de banco de dados do Azure Key Vault.
- Os Aplicativos Lógicos usam o 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 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 coleta informações sobre eventos e desempenho dos Aplicativos Lógicos.
Componentes
Essa arquitetura usa os seguintes componentes:
O Gerenciamento de API do Azure cria gateways de API consistentes e modernos para serviços de back-end. Além de aceitar chamadas à 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 logs de chamada de metadados.
Os Aplicativos Lógicos do Azure automatizam fluxos de trabalho conectando aplicativos e dados entre nuvens. Esse serviço fornece uma maneira de acessar e processar dados com segurança em tempo real. Suas soluções sem servidor cuidam da compilação, hospedagem, colocação em escala, gerenciamento, manutenção e monitoramento de aplicativos.
Um gateway de dados local atua como uma ponte que conecta dados locais a 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 usar dados locais com segurança.
O Azure Key Vault armazena e controla o acesso a segredos, como tokens, senhas e chaves de API. O Key Vault 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 em 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 Microsoft 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:
- Os logs do Azure Monitor registram e armazenam dados de log e desempenho. Para os Aplicativos Lógicos, esses dados incluem informações sobre eventos de gatilho, eventos de executar e eventos de ação.
- As Métricas do Azure Monitor coletam valores numéricos em intervalos regulares. Para Aplicativos Lógicos, esses dados incluem a latência de executar, a taxa e o percentual de êxito.
Alternativas
Existem algumas alternativas para essa 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 totalmente gerenciado e atualizado. O conector do SQL Server que os Aplicativos Lógicos usam também funciona para o Banco de Dados SQL do Azure e o Instância Gerenciada de SQL do Azure. Para obter mais informações, consulte Fluxos de trabalho automatizados para um banco de dados SQL usando os Aplicativos Lógicos do Azure. Para começar a migração, consulte Serviço de Migração de Banco de Dados do Azure.
Para tarefas complexas de automação, considere usar o Azure Functions em vez de Aplicativos Lógicos. Os dois serviços permitem criar fluxos de trabalho sem servidor. O Azure Functions é um serviço de computação destinado à execução de código personalizado, ao processamento complexo ou ainda à integração com outros serviços. Os Aplicativos Lógicos são um serviço de nuvem voltado para a automatização e a orquestração de tarefas e fluxos de trabalho de negócios. Ele fornece um designer visual e muitos conectores predefinidos. Para obter mais informações, consulte Comparar Azure Functions e Aplicativos Lógicos do Azure.
Para integrações mais simples, considere usar o Power Automate em vez de Aplicativos Lógicos. Para obter mais informações, consulte Comparar o Microsoft Power Automate e Aplicativos Lógicos do Azure.
O Power Apps também fornece soluções para automatizar fluxos de trabalho que envolvem a conexão a fontes de dados locais.
Detalhes do cenário
Por exemplo, 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 do Gerenciamento de API do Azure, as chamadas à API podem disparar várias tarefas relacionadas a dados. Além de atualizar bancos de dados locais, você também pode enviar mensagens de email ou Teams.
Possíveis casos de uso
Use essa solução para automatizar tarefas de integração de dados que você executa em resposta a chamadas à API.
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, confira Microsoft Azure Well-Architected Framework.
Confiabilidade
A confiabilidade garante que seu aplicativo possa cumprir os compromissos que você deve assumir com seus clientes. Para obter mais informações, confira 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 fornece garantias contra ataques deliberados e o abuso de seus dados e sistemas valiosos. Para saber mais, confira Visão geral do pilar de segurança.
O gateway de dados local usa criptografia de credencial 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 somente 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. É possível configurar seu aplicativo lógico para aceitar apenas solicitações do endereço IP de sua instância de serviço de Gerenciamento de API.
Você também pode usar um desses esquemas de autorização para limitar o acesso ao seu aplicativo lógico:
Considere usar o RBAC do Azure (controle de acesso baseado em função do Azure) para permitir que apenas usuários ou grupos específicos gerenciem, editem e exibam seus aplicativos lógicos.
As informações estão disponíveis em cada aplicativo lógico executado, como status, duração, entradas e saídas para cada ação. Use um desses métodos para controlar quem pode acessar as entradas e saídas no histórico de execuções:
Otimização de custo
A otimização de custos consiste em reduzir despesas desnecessárias e melhorar a eficiência operacional. Para obter mais informações, confira Visão geral do pilar de otimização de custo.
A tabela a seguir fornece perfis de custo que usam níveis variados de taxa de transferência esperada:
Gerenciamento da API | Execuções de ação dos Aplicativos Lógicos | Execuções do conector dos Aplicativos Lógicos | Profile |
---|---|---|---|
Básico | 1.000/dia | 1.000/dia | Perfil básico |
Standard | 10.000/dias | 10.000/dias | Perfil padrão |
Premium | 100.000/dias | 100.000/dias | Perfil Premium |
Os perfis não incluem os custos de um banco de dados SQL Server. Para ajustar os parâmetros e explorar o custo da execução dessa solução em seu ambiente, use a calculadora de preços do Azure.
Explore essas estratégias para minimizar os custos dos Aplicativos Lógicos:
- Execute instruções de SQL em lotes.
- Criar procedimentos armazenados para organizar os resultados do banco de dados de maneira eficiente.
- Especifique as condições de gatilho precisas para executar um fluxo de trabalho.
- Desative os aplicativos lógicos que não precisam ser executados constantemente.
Eficiência de desempenho
A eficiência do desempenho é a capacidade de dimensionar sua carga de trabalho para atender às demandas colocadas por usuários de maneira eficiente. Para obter mais informações, consulte Visão geral do pilar de eficiência de desempenho.
Com o modelo sem servidor que os Aplicativos Lógicos usam, o serviço é dimensionado automaticamente para atender à demanda. Mas esteja ciente dos limites em operações de leitura e gravação com o gateway de dados local.
Colaboradores
Esse artigo é mantido pela Microsoft. Ele foi originalmente escrito pelos colaboradores a seguir.
Principais autores:
- Beatriz Matsui | Consultora
- Shan Singh | Engenheiro de Software
Para ver perfis não públicos do LinkedIn, entre no LinkedIn.
Próximas etapas
- Importar um aplicativo lógico como uma API
- Instalar gateway de dados local para Aplicativos Lógicos do Azure
- Conectar-se a fontes de dados locais dos Aplicativos Lógicos do Azure
Recursos relacionados
Automatizar fluxos de trabalho para um banco de dados SQL usando os Aplicativos Lógicos do Azure
Arquitetura semelhante:
- Enterprise integração usando filas e eventos: aplicativos lógicos que respondem a chamada à API por meio da integração de sistemas de back-end.