Compartilhar via


Confiabilidade nos Aplicativos Lógicos do Azure

Este artigo descreve o suporte à confiabilidade nos Aplicativos Lógicos do Azure, abrangendo a resiliência intrarregional por meio de zonas de disponibilidade e implantações multirregião.

Como a resiliência é uma responsabilidade compartilhada entre você e a Microsoft, este artigo também aborda maneiras de você criar uma solução resiliente que atenda às suas necessidades.

Os fluxos de trabalho do aplicativo lógico ajudam você a integrar e orquestrar dados com mais facilidade entre aplicativos, serviços de nuvem e sistemas locais, reduzindo a quantidade de código que você precisa gravar. Ao planejar a resiliência, certifique-se de considerar não apenas seus aplicativos lógicos, mas também os recursos do Azure que você usa com eles:

Os Aplicativos Lógicos do Azure multilocatário gerenciam automaticamente a infraestrutura de computação e os recursos para fluxos de trabalho de consumo. Você não precisa configurar nem gerenciar VMs (máquinas virtuais). Os fluxos de trabalho de consumo compartilham a infraestrutura de computação entre muitos clientes.

Os Aplicativos Lógicos do Azure de locatário único executam fluxos de trabalho Standard em recursos de computação dedicados, que são dedicados a você e são chamados de planos. Cada plano pode ter várias instâncias e, opcionalmente, essas instâncias podem ser distribuídas entre várias zonas de disponibilidade. Seus fluxos de trabalho são executados em instâncias do seu plano.

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

Para fluxos de trabalho corporativos e seguros com requisitos de segurança de rede ou isolamento, recomendamos que você crie e execute fluxos de trabalho Standard em Aplicativos Lógicos do Azure de locatário único, em vez de fluxos de trabalho de consumo em Aplicativos Lógicos do Azure multilocatário. Para obter mais informações, confira Criar e implantar em ambientes diferentes.

Para implantações de produção com Aplicativos Lógicos do Azure de locatário único, você deve habilitar a redundância de zona para espalhar os recursos do aplicativo lógico entre várias zonas de disponibilidade.

Falhas transitórias

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

Todos os aplicativos hospedados na nuvem devem seguir as diretrizes transitórias de tratamento de falhas do Azure ao se comunicar com as APIs, bancos de dados e outros componentes hospedados na nuvem. Para saber mais sobre como lidar com falhas transitórias, confira Recomendações para lidar com falhas transitórias.

Nos Aplicativos Lógicos do Azure, muitos gatilhos e ações dão suporte automaticamente a políticas de repetição, que repitam automaticamente solicitações que falham devido a falhas transitórias. Para saber como alterar ou desabilitar políticas de repetição para seu aplicativo lógico, confira Tratar erros e exceções nos Aplicativos Lógicos do Azure.

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 sobre o tratamento de falhas nos Aplicativos Lógicos do Azure, confira Tratar erros e exceções nos Aplicativos Lógicos do Azure.

Suporte à zona de disponibilidade

As zonas de disponibilidade são grupos de datacenters fisicamente separados em cada região do Azure. Quando uma zona falha, os serviços podem fazer failover para uma das zonas restantes.

Para obter mais informações sobre zonas de disponibilidade no Azure, consulte O que são as zonas de disponibilidade?

Os Aplicativos Lógicos do Azure dão suporte à redundância de zona, que espalha recursos de computação em várias zonas de disponibilidade. Ao distribuir recursos de carga de trabalho de aplicativo lógico entre zonas de disponibilidade, você aprimora a resiliência e a confiabilidade das cargas de trabalho do aplicativo lógico de produção.

Fluxos de trabalho de aplicativo lógico de consumo novos e existentes nos Aplicativos Lógicos do Azure multilocatário têm a redundância de zona habilitada automaticamente.

Para fluxos de trabalho Standard com a opção de hospedagem plano de serviço de fluxo de trabalho nos Aplicativos Lógicos do Azure de locatário único, você pode opcionalmente habilitar a redundância de zona.

Para fluxos de trabalho Standard com a opção de hospedagem do Ambiente do Serviço de Aplicativo v3, você pode, opcionalmente, habilitar a redundância de zona. Para obter mais informações sobre como os Ambientes do Serviço de Aplicativo v3 dão suporte a zonas de disponibilidade, confira Confiabilidade no Serviço de Aplicativo.

Regiões com suporte

Os aplicativos lógicos de consumo implantados em qualquer região que dê suporte a zonas de disponibilidade são automaticamente redundantes por zona. O Oeste do Japão é a exceção, que atualmente não dá suporte a aplicativos lógicos com redundância de zona porque alguns serviços de dependência ainda não são compatíveis com ela.

Você pode implantar aplicativos lógicos Standard com redundância de zona com Planos de Serviço de Fluxo de Trabalho em qualquer região que dê suporte a zonas de disponibilidade para o Serviço de Aplicativo do Azure. O Oeste do Japão é a exceção, que atualmente não dá suporte a aplicativos lógicos com redundância de zona. Para obter mais informações, consulte Confiabilidade no Serviço de Aplicativo do Azure.

Para ver quais regiões dão suporte a zonas de disponibilidade para Ambiente do Serviço de Aplicativo v3, consulte Regiões.

Requisitos

Você precisa implantar pelo menos três instâncias do Plano de Serviço de Fluxo de Trabalho. Cada instância corresponde a aproximadamente uma VM. Para distribuir essas instâncias (VMs) entre zonas de disponibilidade, você precisa ter no mínimo três instâncias.

Considerações

  • Armazenamento: ao configurar o armazenamento externo para fluxos de trabalho Standard com estado, você precisa configurar sua conta de armazenamento para redundância de zona. Para obter mais informações, confira Considerações de armazenamento do Azure Functions.
  • Conectores: conectores internos são automaticamente redundantes por zona quando seu aplicativo lógico é redundante por zona.

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

Custo

Nenhum custo adicional se aplica ao uso da redundância de zona, que é habilitada automaticamente para fluxos de trabalho de consumo novos e existentes nos Aplicativos Lógicos do Azure multilocatário.

Quando você tem fluxos de trabalho Standard com o Plano de Serviço de Fluxo de Trabalho nos Aplicativos Lógicos do Azure de locatário único, nenhum custo adicional se aplica à habilitação de zonas de disponibilidade, desde que você tenha três ou mais instâncias do plano. Você será cobrado com base no SKU do plano, na capacidade especificada e em todas as instâncias que você escalar ou reduzir verticalmente, com base nos critérios de dimensionamento automático. Se você habilitar zonas de disponibilidade, mas especificar uma capacidade de menos de três instâncias, a plataforma exigirá o mínimo de três instâncias e cobrará por essas três instâncias.

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

Configurar o suporte à zona de disponibilidade

Os fluxos de trabalho do aplicativo lógico de consumo dão suporte automaticamente à redundância de zona, portanto, nenhuma configuração é necessária.

  • Criar um fluxo de trabalho com redundância de zona.

    Para habilitar a redundância de zona para fluxos de trabalho do aplicativo lógico Standard, confira Habilitar redundância de zona para seu aplicativo lógico.

  • Migração

    Você não pode habilitar 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.

  • Desabilitar a redundância de zona.

    Não é possível desabilitar a redundância de zona depois de criar um Plano de Serviço de Fluxo de Trabalho. Em vez disso, você precisa criar um novo plano com a redundância de zona desabilitada e excluir o antigo.

Planejamento e gerenciamento de capacidade

Para se preparar para uma falha na zona de disponibilidade, considere o superprovisionamento da capacidade do serviço. O superprovisionamento permite que a solução tolere algum grau de perda de capacidade e ainda continue funcionando sem desempenho degradado.

Para descobrir quantas instâncias superprovisionar, é importante saber que a plataforma espalha instâncias em várias zonas. Você precisa considerar pelo menos a falha de uma zona.

Siga estas etapas para descobrir o número total de instâncias que você deve provisionar:

  1. Determine o número de instâncias que sua carga de trabalho de pico exige. Neste exemplo, usamos dois cenários. Uma é com três instâncias e outra com 4.
  2. Recupere a contagem de instâncias de superprovisionamento multiplicando a contagem de instâncias de carga de trabalho de pico por um fator de [(zonas/(zonas-1)].
  3. Arredonde o resultado para o número inteiro mais próximo.

Observação

A tabela a seguir pressupõe que você esteja usando três zonas de disponibilidade. Se você usar um número diferente de zonas de disponibilidade, ajuste a fórmula adequadamente.

Contagem de instâncias de carga de trabalho de pico Fator de [(zonas/(zonas-1)] Fórmula Instâncias a serem provisionadas (Arredondado)
3 3/2 ou 1,5 (3 x 1,5 = 4,5) 5 instâncias
4 3/2 ou 1,5 (4 x 1.5 = 6) 6 instâncias

Roteamento de tráfego entre zonas

Durante operações normais, as invocações de fluxo de trabalho podem usar recursos de computação em qualquer uma das zonas de disponibilidade dentro da região.

Durante as operações normais, as invocações de fluxo de trabalho são distribuídas entre todas as instâncias de plano disponíveis em todas as zonas de disponibilidade.

Experiência de zona inoperante

Detecção e resposta: a plataforma dos Aplicativos Lógicos do Azure é responsável por detectar uma falha em uma zona de disponibilidade. Você não precisa fazer nada para iniciar um failover de zona.

Solicitações ativas: se uma zona de disponibilidade ficar indisponível, todas as execuções de fluxo de trabalho em andamento executadas em uma VM na zona de disponibilidade com falha serão encerradas. A plataforma de Aplicativos Lógicos do Azure retoma automaticamente o fluxo de trabalho em outra VM em uma zona de disponibilidade diferente. Devido a esse comportamento, os 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.

Failback

Quando a zona de disponibilidade é recuperada, 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

A plataforma dos Aplicativos Lógicos do Azure gerencia o roteamento de tráfego, o failover e o failback para recursos de aplicativo lógico com redundância de zona. Você não precisa iniciar nada. Como esse recurso é totalmente gerenciado, então você não precisa iniciar nem validar processos de falha da zona de disponibilidade.

Suporte para várias regiões

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

Abordagens alternativas de várias regiões

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 essa funcionalidade, conclua as seguintes tarefas:

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

Para obter mais informações sobre implantações de várias regiões para seus fluxos de trabalho de aplicativo lógico, consulte a seguinte documentação:

Contrato de nível de serviço

O SLA (Contrato de Nível de Serviço) para os Aplicativos Lógicos do Azure descreve a disponibilidade esperada do serviço. Este contrato também descreve as condições a serem atendidas para alcançar essa expectativa. Para entender essas condições, examine os SLA (Contratos de Nível de Serviço) para Serviços Online.