Confiabilidade no Gerenciador de Tráfego do Azure

Gerenciador de Tráfego do Azure é um balanceador de carga de tráfego baseado em DNS que distribui o tráfego de maneira ideal entre back-ends distribuídos globalmente. O Gerenciador de Tráfego fornece alta disponibilidade e capacidade de resposta rápida para seus aplicativos voltados para o público usando DNS para direcionar solicitações de cliente para pontos de extremidade de serviço apropriados com base em métodos de roteamento de tráfego e monitoramento de integridade do ponto de extremidade.

Quando você usa o Azure, a confiabilidade é uma responsabilidade compartilhada. A Microsoft fornece uma variedade de recursos para dar 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 os recursos de confiabilidade de Gerenciador de Tráfego do Azure em resposta a uma série de possíveis interrupções, incluindo falhas transitórias e falhas em toda a região. Ele também destaca as principais considerações para manter a resiliência e a preparação para a recuperação e fornece uma visão geral do SLA (contrato de nível de serviço) Gerenciador de Tráfego do Azure.

Observação

Este artigo descreve como o serviço gerenciador de tráfego é resiliente ou como você pode torná-lo resiliente a vários problemas. Ele não explica como usar o Gerenciador de Tráfego para executar failover entre aplicativos ou regiões. Para obter um exemplo de arquitetura de failover, consulte o aplicativo Web Multitier criado para alta disponibilidade e recuperação de desastre.

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

O Azure Well-Architected Framework fornece recomendações para confiabilidade, desempenho, segurança, custo e operações. Para saber como essas áreas influenciam entre si e contribuem para uma solução confiável de Gerenciamento de Tráfego, consulte as práticas recomendadas de arquitetura para o Gerenciador de Tráfego do Azure no Well-Architected Framework.

Visão geral da arquitetura de confiabilidade

Esta seção descreve alguns dos aspectos importantes de como o serviço funciona que são mais relevantes do ponto de vista da confiabilidade. A seção apresenta a arquitetura lógica, que inclui alguns dos recursos e recursos que você implanta e usa. Também discute a arquitetura física, que fornece detalhes sobre como o serviço funciona nos bastidores.

Arquitetura lógica

Ao usar o Gerenciador de Tráfego, você implanta um perfil, que especifica os pontos de extremidade de back-end do aplicativo e configura como o Gerenciador de Tráfego deve rotear solicitações para esses pontos de extremidade. Para obter mais informações, consulte os pontos de extremidade do Gerenciador de Tráfego e os métodos de roteamento do Gerenciador de Tráfego.

Um perfil do Gerenciador de Tráfego é apresentado como um registro CNAME do DNS. Quando ele recebe uma solicitação de resolução de um cliente ou resolvedor DNS, o Gerenciador de Tráfego resolve dinamicamente o endereço IP com base nas regras especificadas no perfil. A responsabilidade do Traffic Manager é fornecer aos clientes o endereço IP de um ponto de extremidade para o acesso ao seu serviço. Após a resolução de nomes, nenhum tráfego do seu aplicativo passa pelo Gerenciador de Tráfego. Para obter mais informações, consulte Como funciona o Gerenciador de Tráfego.

O Gerenciador de Tráfego monitora a saúde dos pontos de extremidade e roteia as solicitações de entrada para pontos de extremidade saudáveis, evitando pontos de extremidade não saudáveis. Para obter mais informações, consulte o monitoramento de endpoints do Gerenciador de Tráfego.

Importante

A confiabilidade da solução geral depende da configuração dos pontos de extremidade para os quais o gerenciador de tráfego roteia o tráfego.

Este artigo não abrange seus endpoints, mas as configurações de disponibilidade deles afetam diretamente a resiliência do seu aplicativo. Examine os guias de confiabilidade dos serviços do Azure em sua solução para saber como cada serviço dá suporte aos seus requisitos de confiabilidade.

Arquitetura física

O Gerenciador de Tráfego opera como um serviço não regional e implanta sua infraestrutura em várias zonas de disponibilidade em várias regiões Azure em todo o mundo. Esse design permite que o Gerenciador de Tráfego permaneça resiliente durante uma interrupção de zona de disponibilidade ou região, pois a infraestrutura em outra zona ou região continua respondendo às solicitações de resolução.

Protocolos globais de Internet, como Anycast, DNS e BGP, roteiam automaticamente as solicitações de resolução de DNS de entrada para a infraestrutura mais próxima e disponível do Gerenciador de Tráfego.

Resiliência a 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. Falhas transitórias se corrigem após um curto período de tempo. É importante que seus aplicativos possam lidar com falhas transitórias, geralmente repetindo solicitações afetadas.

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

O Gerenciador de Tráfego opera no nível DNS e usa verificações de integridade para monitorar a disponibilidade do endpoint. O serviço lida com falhas transitórias por meio de sua infraestrutura DNS global e capacidades de monitoramento de endpoints.

Ao usar o Gerenciador de Tráfego, considere os seguintes tipos de falhas transitórias separadamente:

  • Falhas transitórias durante a resolução DNS: Se ocorrer uma falha transitória durante a resolução DNS, o cliente ou resolvedor intermediário deverá tentar novamente.

  • Falhas transitórias que afetam seus endpoints de back-end: o monitoramento de endpoint do Gerenciador de Tráfego verifica regularmente a integridade dos endpoints. Uma falha transitória dentro de um ponto de extremidade ou no trajeto de rede para um ponto de extremidade pode ser detectada como um ponto de extremidade não saudável. Configure o monitoramento de endpoints para identificar problemas consecutivos ao longo de um período de tempo.

O TTL (tempo de vida útil) do registro DNS determina como sua solução lida com falhas. Se o TTL for muito baixo, os clientes precisarão fazer mais solicitações ao Gerenciador de Tráfego e haverá mais oportunidades potenciais para que ocorram falhas transitórias. Se o TTL for muito alto, no caso de uma falha verdadeira em um ponto de extremidade, os clientes poderão sofrer atrasos no failover até que o TTL expire. Configure os TTLs com cuidado para equilibrar disponibilidade, latência e capacidade de resposta. Quando você usa DNS do Azure, ele pode configurar automaticamente o TTL do registro para corresponder ao valor TTL do perfil, que é de 60 segundos por padrão. Para obter mais informações, consulte as considerações de desempenho do Gerenciador de Tráfego.

Resiliência a falhas de zona de disponibilidade

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

O Gerenciador de Tráfego opera como um serviço não regional e implanta sua infraestrutura em várias zonas de disponibilidade em várias regiões Azure em todo o mundo. Ele replica as alterações no perfil de forma síncrona entre essas zonas e regiões. Esse design permite que o Gerenciador de Tráfego permaneça resiliente durante uma interrupção da zona de disponibilidade, pois a infraestrutura em outra zona ou região continua respondendo às solicitações de resolução.

Resiliência a falhas em toda a região

O Gerenciador de Tráfego opera como um serviço não regional e implanta sua infraestrutura em várias zonas de disponibilidade em várias regiões Azure em todo o mundo. Esse design permite que o Gerenciador de Tráfego permaneça resiliente durante uma interrupção de região, pois a infraestrutura em outra zona ou região continua respondendo às solicitações de resolução.

Resiliência a interrupções de portal e ferramentas de gerenciamento

Se você gerenciar seu perfil do Gerenciador de Tráfego no portal do Azure, prepare-se para cenários em que não poderá acessá-lo, especialmente se precisar reconfigurar seu perfil durante uma interrupção da plataforma.

Assim como outros serviços de Azure, o Gerenciador de Tráfego dá suporte à implantação e ao gerenciamento por meio de uma variedade de ferramentas. Recomendamos que você se familiarize com como usar CLI do Azure ou Azure PowerShell para gerenciar seu perfil. Como alternativa, implante e configure seu perfil usando a infraestrutura como tecnologias de código como Bicep ou Terraform. Essas ferramentas permanecem operacionais mesmo se o portal de Azure estiver degradado.

Backup e restauração

O Gerenciador de Tráfego é um serviço DNS sem estado. Ele não persiste seus dados e não tem nenhuma funcionalidade de backup ou restauração.

Para proteger sua configuração de recursos, defina seus perfis do Gerenciador de Tráfego e outros recursos usando a infraestrutura como código (como modelos Bicep ou ARM) e armazene essas definições no controle do código-fonte. Se você precisar recriar um recurso, reimplante-o da configuração armazenada.

Resiliência à manutenção do serviço

A Microsoft aplica regularmente as atualizações de serviço e executa outras manutenções. A plataforma Azure manipula essas atividades automaticamente, garantindo que a manutenção seja perfeita e transparente para você. Não se espera tempo de inatividade durante eventos de manutenção, a menos que você tenha sido avisado por meio de manutenção planejada do Integridade do Serviço do Azure.

Contrato de nível de serviço

O SLA (contrato de nível de serviço) para serviços de 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 SLAs para serviços online.

Gerenciador de Tráfego do Azure fornece um SLA de disponibilidade de 100% para respostas de consulta DNS, desde que os clientes repitam solicitações com falha repetidamente.