Partilhar via


Fiabilidade nas Aplicações Lógicas do Azure

O Azure Logic Apps ajuda-o a integrar e orquestrar dados mais facilmente entre aplicações, serviços cloud e sistemas on-premises, reduzindo a quantidade de código que tem de escrever.

Quando você usa o Azure, a confiabilidade é uma responsabilidade compartilhada. A Microsoft fornece uma variedade de recursos para oferecer suporte à resiliência e à recuperação. Você é responsável por entender como esses recursos funcionam em todos os serviços que você usa e selecionar os recursos necessários para atender aos seus objetivos de negócios e metas de tempo de atividade.

Este artigo descreve como tornar os fluxos de trabalho das aplicações lógicas resilientes a uma variedade de potenciais falhas e problemas, incluindo falhas transitórias, falhas em zonas de disponibilidade e interrupções regionais. Também destaca algumas informações chave sobre o acordo de nível de serviço (SLA) da Azure Logic Apps.

Recomendações de implantação de produção para confiabilidade

Para cargas de trabalho de produção, recomendamos que:

  • Para fluxos de trabalho empresariais e seguros com requisitos de isolamento ou segurança de rede, crie e execute fluxos de trabalho Standard em aplicações Azure Logic de inquilino único, em vez de fluxos de trabalho de consumo em aplicações Azure Logic multiinquilino. Para obter mais informações, consulte Criar e implantar em ambientes diferentes.
  • Para implementações em produção com aplicações Azure Logic de inquilino único, ative a redundância de zonas para distribuir os recursos da sua aplicação lógica por várias zonas de disponibilidade.

Visão geral da arquitetura de confiabilidade

Esta secção descreve alguns dos aspetos importantes do funcionamento do serviço que são mais relevantes do ponto de vista da fiabilidade. A secção apresenta a arquitetura lógica, que inclui alguns dos recursos e funcionalidades que implementa e utiliza. Também discute a arquitetura física, detalhando como o serviço funciona nos bastidores.

Arquitetura lógica

O principal recurso que implementas é uma aplicação lógica. As aplicações de lógica de consumo têm apenas um fluxo de trabalho, enquanto as aplicações de lógica padrão podem ter mais do que um fluxo de trabalho. A maioria dos fluxos de trabalho utiliza uma ou mais ligações para aceder a outras aplicações, serviços e sistemas.

Se aceder a dados em sistemas on-premises, pode implementar um gateway de dados local. Cada recurso de gateway representa uma instalação separada de gateway de dados num computador local. Você pode configurar um gateway de dados local para alta disponibilidade usando vários computadores. Para obter mais informações, consulte Suporte de alta disponibilidade.

Quando utiliza o Azure Logic Apps para cenários de integração empresarial empresa-a-empresa (B2B), pode implementar contas de integração onde define e armazena os artefactos que os fluxos de trabalho de Logic Apps utilizam.

Arquitetura física

Para aplicações de lógica de consumo, as aplicações Azure Logic gerem automaticamente a infraestrutura de computação, o armazenamento de estados e outros recursos. Não é necessário configurar ou gerenciar máquinas virtuais (VMs). As aplicações de lógica de consumo partilham a infraestrutura de computação entre muitos clientes.

Para aplicações de lógica padrão, as aplicações Azure Logic utilizam recursos de computação chamados Planos de Serviço de Fluxo de Trabalho, ou planos, que são dedicados a si. Cada plano pode ter múltiplas instâncias, que se podem opcionalmente espalhar pelas várias zonas de disponibilidade. Cada instância corresponde aproximadamente a uma máquina virtual (VM), mas não vês essas VMs nem precisas de as configurar ou gerir diretamente. Os seus fluxos de trabalho são executados em instâncias dos seus planos.

As aplicações lógicas padrão exigem que configure o armazenamento para manter o estado necessário para fluxos de trabalho com estado. Para obter mais informações, consulte Fluxos de trabalho com estado e sem estado.

As aplicações lógicas padrão usam uma infraestrutura subjacente semelhante à Azure Functions e Azure App Service. No entanto, existem algumas diferenças na forma como configuras planos para aplicações de lógica em comparação com outros serviços.

Para mais informações, consulte Diferenças entre aplicações de lógica padrão e aplicações de lógica de consumo.

Resiliência a falhas transitórias

Falhas transitórias são falhas curtas e intermitentes em componentes. Eles ocorrem com frequência em um ambiente distribuído, como a nuvem, e são uma parte normal das operações. As falhas transitórias corrigem-se após um curto período de tempo. É importante que seus aplicativos possam lidar com falhas transitórias, geralmente tentando novamente as solicitações afetadas.

Todos os aplicativos hospedados na nuvem devem seguir as diretrizes de tratamento de falhas transitórias do Azure quando se comunicam com quaisquer APIs, bancos de dados e outros componentes hospedados na nuvem. Para obter mais informações, consulte Recomendações para o tratamento de falhas transitórias.

No Azure Logic Apps, muitos gatilhos e ações de workflow suportam políticas de repetição automaticamente, que reiniciam automaticamente pedidos que falham devido a falhas transitórias. Para obter mais informações sobre como modificar ou desativar políticas de repetição, consulte Lidar com erros e exceções no Azure Logic Apps.

Se uma ação falhar, você poderá personalizar o comportamento das ações subsequentes. Você também pode criar escopos para agrupar ações relacionadas que podem falhar ou ter êxito juntas.

Para obter mais informações, consulte Manipular erros e exceções nos Aplicativos Lógicos do Azure.

Resiliência a falhas na zona de disponibilidade

As zonas de disponibilidade são grupos fisicamente separados de centros de dados dentro de uma região Azure. Quando uma zona falha, os serviços podem transferir-se para uma das zonas restantes.

O Azure Logic Apps suporta redundância de zonas, que distribui os recursos de computação e o estado por várias zonas de disponibilidade. Ao distribuir recursos de carga de trabalho do aplicativo lógico entre zonas de disponibilidade, você melhora a resiliência e a confiabilidade para as cargas de trabalho do aplicativo lógico de produção.

Novos e existentes fluxos de trabalho das aplicações Consumption Logic nas aplicações Azure Logic multitenant ativam automaticamente a redundância de zonas.

As Aplicações Lógicas do Azure suportam redundância de zona, que distribui recursos de computação por várias zonas de disponibilidade. Podes, opcionalmente, configurar redundância de zonas para o estado que os fluxos de trabalho da tua aplicação Logic armazenam. Ao distribuir recursos de carga de trabalho do aplicativo lógico entre zonas de disponibilidade, você melhora a resiliência e a confiabilidade para as cargas de trabalho do aplicativo lógico de produção.

Para fluxos de trabalho padrão com a opção de hospedagem no Plano de Serviço de Logic Apps do Azure em configuração de locatário único, pode-se opcionalmente habilitar a redundância de zona.

Para fluxos de trabalho padrão com a opção de hospedagem Ambiente de Serviço de Aplicações v3, pode-se, de forma opcional, habilitar a redundância de zona. Para mais informações sobre como o Ambiente de Serviços de Aplicações v3 suporta zonas de disponibilidade, consulte Fiabilidade no Ambiente de Serviços de Aplicações.

Requirements

  • Apoio regional: As aplicações de lógica de consumo implementadas em qualquer região que suporte zonas de disponibilidade tornam-se automaticamente redundantes por zona. O Japão Ocidental é a exceção, que atualmente não suporta aplicações lógicas redundantes por zona porque alguns serviços dependentes ainda não suportam redundância de zonas.
  • Apoio regional: Pode implementar aplicações de lógica padrão redundantes por zonas com Planos de Serviço de Fluxo de Trabalho em qualquer região que suporte zonas de disponibilidade para o Azure App Service. O Japão Ocidental é a exceção, que atualmente não suporta aplicações lógicas redundantes por zona porque alguns serviços dependentes ainda não suportam redundância de zonas. Para obter mais informações, consulte Confiabilidade no Serviço de Aplicativo do Azure.
  • Suporte de Região: Para ver quais as regiões que suportam zonas de disponibilidade para o Ambiente de Serviços de Aplicações v3, consulte Regiões.
  • Número de instâncias: Deve implementar pelo menos duas instâncias do seu Plano de Serviço de Fluxo de Trabalho. Cada instância corresponde aproximadamente a uma VM, por isso, para distribuir estas instâncias (VMs) por múltiplas zonas de disponibilidade, deve ter pelo menos duas instâncias.

Considerations

  • Conectores: Os conectores integrados são automaticamente redundantes em zona quando o seu aplicativo lógico é redundante em zona.

  • Contas de integração: as contas de integração SKU Premium são redundantes por zona por defeito.

Cost

Não se aplica custo adicional para usar a redundância de zona, que é automaticamente ativada para aplicações de lógica do Consumo novas e existentes em aplicações do Azure Logic Apps multicliente.

Quando tem aplicações de lógica padrão com o Plano de Serviço de Fluxo de Trabalho em aplicações Azure Logic de inquilino único, não se aplica custo adicional para ativar zonas de disponibilidade se tiver duas ou mais instâncias de plano. És cobrado com base no SKU do teu plano, na capacidade especificada e em quaisquer situações em que aumentes ou reduzas, consoante os critérios de autoescala. Se ativar zonas de disponibilidade mas especificar menos de duas instâncias, a plataforma impõe o mínimo de duas instâncias e cobra-lhe por essas duas instâncias.

O Ambiente de Serviço de Aplicações v3 tem um modelo de preços de redundância por zona específico. Para obter informações sobre preços para o Ambiente do Serviço de Aplicativo v3, consulte Preços.

Configurar o suporte à zona de disponibilidade

Os fluxos de trabalho da aplicação lógica de consumo suportam automaticamente redundância de zona, pelo que não é necessária qualquer configuração.

  • Crie uma nova aplicação lógica redundante por zonas: Para ativar redundância de zonas para aplicações de lógica padrão, veja Ativar redundância de zonas para a sua aplicação lógica.

  • Ativar a redundância de zonas numa aplicação lógica existente: Não pode ativar a redundância de zona depois de criar um plano de serviço. Em vez disso, você precisa criar um novo plano com redundância de zona habilitada e excluir o antigo.

  • Desativar a redundância de zonas: Não pode desativar a redundância de zonas depois de criar um Plano de Serviço de Workflow. Em vez disso, você precisa criar um novo plano com redundância de zona desativada e excluir o antigo.

Planejamento e gerenciamento de capacidade

Para se preparar para uma falha na zona de disponibilidade, considere aprovisionar em excesso a capacidade do seu plano. O excesso de provisionamento permite que a solução tolere algum grau de perda de capacidade e ainda continue a funcionar sem desempenho degradado. Para obter mais informações, consulte Gerenciar a capacidade com provisionamento excessivo.

Comportamento quando todas as zonas estão íntegras

Esta secção descreve o que esperar quando os recursos da aplicação lógica são configurados para redundância de zonas e todas as zonas de disponibilidade estão operacionais.

  • Encaminhamento de tráfego entre zonas: Durante operações normais, as invocações de workflow podem utilizar recursos de cálculo de qualquer zona de disponibilidade na região.

  • Replicação de dados entre zonas: Para fluxos de trabalho com estado, o estado do fluxo de trabalho é replicado de forma síncrona entre zonas de disponibilidade através do armazenamento redundante de zona (ZRS).

  • Encaminhamento de tráfego entre zonas: Durante as operações normais, as invocações do fluxo de trabalho estão distribuídas por todas as instâncias disponíveis do plano em todas as zonas de disponibilidade.

  • Replicação de dados entre zonas: Para fluxos de trabalho com estado, o estado do fluxo de trabalho é armazenado com base no armazenamento de estado que configuraste. Quando usa o Azure Storage como sistema de armazenamento externo, precisa de usar armazenamento redundante por zonas (ZRS), que replica sincronizadamente o estado do fluxo de trabalho entre zonas de disponibilidade.

Comportamento durante uma falha de zona

Esta secção descreve o que esperar quando ocorre uma interrupção de zona de disponibilidade enquanto os recursos da aplicação lógica estão configurados para redundância de zonas.

  • Deteção e resposta: O Azure Logic Apps é responsável por detetar uma falha numa zona de disponibilidade. Você não precisa fazer nada para iniciar um failover de zona.
  • Pedidos ativos: Se uma zona de disponibilidade ficar indisponível, o Azure Logic Apps termina quaisquer execuções de workflow em curso que corram numa VM na zona de disponibilidade defeituosa. A plataforma retoma automaticamente o fluxo de trabalho noutra VM numa zona de disponibilidade diferente. Devido a esse comportamento, fluxos de trabalho ativos podem enfrentar algumas falhas transitórias ou latência mais alta à medida que novas VMs são adicionadas às zonas de disponibilidade restantes.

  • Tempo de inatividade esperado: Não se espera tempo de inatividade no Azure Logic Apps. No entanto, se existirem dependências noutros serviços que sofram de inatividade, a sua aplicação lógica também pode ser afetada.

  • Perda de dados esperada: Não se espera perda de dados.

  • Redirecionamento de tráfego: O tráfego recebido é automaticamente distribuído para infraestruturas em zonas saudáveis.
  • Comportamentos não em tempo de execução: Os fluxos de trabalho da Logic App num plano redundante de zona continuam a funcionar mesmo que uma zona de disponibilidade sofra uma falha. No entanto, comportamentos não de execução podem ser afetados durante uma interrupção numa zona de disponibilidade. Para detalhes e uma lista destes comportamentos, veja Fiabilidade no Azure App Service - Comportamento durante uma falha de zona.

Recuperação de zona

Quando a zona de disponibilidade se recupera, os Aplicativos Lógicos do Azure restauram automaticamente as instâncias na zona de disponibilidade, removem todas as instâncias temporárias criadas nas outras zonas de disponibilidade e redirecionam o tráfego entre suas instâncias normalmente.

Teste de falhas de zona

O Azure Logic Apps gere o encaminhamento de tráfego, failover e failback para recursos de aplicações lógicas redundantes por zona. Você não precisa iniciar nada. Esse recurso é totalmente gerenciado, portanto, você não precisa validar os processos de falha da zona de disponibilidade.

Resiliência a falhas em toda a região

Cada aplicativo lógico é implantado em uma única região do Azure. Se a região ficar indisponível, seu aplicativo lógico também ficará indisponível.

Soluções personalizadas de várias regiões para resiliência

Para maior resiliência, você pode implantar um aplicativo lógico de espera ou backup em uma região secundária e fazer failover para essa outra região se a região primária não estiver disponível. Para habilitar esse recurso, conclua as seguintes tarefas:

  • Implante seu aplicativo lógico em regiões primárias e secundárias.
  • Reconfigure as conexões com os recursos conforme necessário.
  • Configure políticas de balanceamento de carga e tolerância a falhas.
  • Planeje monitorar a integridade da instância primária e iniciar o failover.

Para mais informações sobre implementações multi-região para os seus fluxos de trabalho de Logic App, veja:

Contrato de nível de serviço

O contrato de nível de serviço (SLA) para serviços do Azure descreve a disponibilidade esperada de cada serviço e as condições que sua solução deve atender para atingir essa expectativa de disponibilidade. Para obter mais informações, consulte Acordos de Nível de Serviço (SLAs) para serviços online.