Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Azure Container Apps Sandboxes fornecem ambientes isolados para execução de código. Cada sandbox corre numa máquina virtual leve (microVM) que começa em menos de um segundo e pode preservar o seu estado em memória quando suspensa. O serviço assegura a fiabilidade das cargas de trabalho sandbox por meio das funcionalidades que configura e das funcionalidades que a plataforma gere em seu nome.
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 Sandboxes de Aplicações Container resilientes a falhas transitórias, falhas em zonas de disponibilidade, falhas regionais e manutenção de serviços. Descreve também opções de backup e restauro e informações-chave sobre o acordo de nível de serviço (SLA).
Recomendações de implantação de produção para confiabilidade
Para cargas de trabalho de produção, recomendamos que:
Armazene dados duráveis fora da memória sandbox e escolha uma opção de redundância de armazenamento que corresponda aos seus objetivos de recuperação. Utilize volumes de sandbox para os dados que têm de persistir quando uma sandbox é interrompida. Para resiliência a falhas regionais, utilize um armazenamento de dados externo que replique os dados para outra região.
Quando usa o Armazenamento de Blobs do Azure, o armazenamento geo-redundante (GRS) replica dados para uma região emparelhada. Para regiões não emparelhadas, implemente contas de armazenamento separadas e configure um método de replicação suportado, como a replicação de objetos para blobs de bloco. Para mais informações, consulte Soluções multirregional personalizadas para Armazenamento de Blobs do Azure.
Implemente grupos sandbox separados em várias regiões se o seu objetivo de tempo operacional não puder ser atingido por uma implementação numa única região. Para mais informações, consulte Resiliência face a falhas regionais.
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 Azure Container Apps oferece opções de computação distintas para apps, jobs, sessões dinâmicas e sandboxes. Os grupos de sandbox não exigem um ambiente do Container Apps. Para detalhes sobre a fiabilidade de outros componentes do Container Apps, consulte Fiabilidade no Azure Container Apps.
Os principais recursos em Container Apps Sandboxes são:
Grupo de sandbox: Um grupo de sandbox é o limite de gestão regional de nível superior para sandboxes e utiliza o tipo de recurso
Microsoft.App/sandboxGroups. Todos os sandboxes, imagens de disco, snapshots, volumes e valores de configuração sensíveis (secrets) estão associados a um grupo de sandbox.Sandbox: Cada sandbox é uma microVM isolada e leve que corre a partir de uma imagem de disco ou snapshot e tem a sua própria CPU, memória, disco local e limite de rede.
Uma imagem de disco é uma imagem de contentor da Open Container Initiative (OCI) convertida para ser utilizada como sistema de ficheiros de raiz de sandbox.
Um snapshot é uma captura do estado completo de um sandbox num determinado momento, que persiste independentemente do sandbox de origem.
O estado de uma sandbox pode estar em execução ou parado. Quando um sandbox para, seja automaticamente ou mediante pedido, liberta os seus recursos de computação. O modo de memória preserva a imagem de memória completa do sandbox e o disco local. O modo disco preserva apenas o disco local, por isso a microVM e os seus processos reiniciam quando retomas o sandbox.
Volumes: O disco local pertence a um sandbox individual. Um volume sandbox fornece armazenamento persistente que existe independentemente de um sandbox individual. Pode montar volumes do Armazenamento de Blobs do Azure em vários sandboxes ao mesmo tempo, enquanto volumes de disco de dados suportados pelo Armazenamento de Discos do Azure podem ser montados apenas num sandbox de cada vez. O serviço de armazenamento de backup determina a durabilidade e as opções de recuperação para dados de volume.
Para mais informações sobre arquitetura e recursos sandbox, consulte a visão geral do Azure Container Apps Sandbox.
Arquitetura física
Sandboxes funcionam em múltiplos clusters de computação independentes que a Microsoft opera. És responsável por configurar os grupos de sandbox, as sandboxes e outros recursos que implementas. A Microsoft é responsável pela implementação do cluster, configuração, gestão de capacidade, monitorização do estado e manutenção. Não seleciona, implementa, configura ou gere os clusters. O serviço programa novas sandboxes e reinicia as sandboxes paradas em clusters saudáveis, encaminhando as colocações de forma a evitar clusters não saudáveis.
A Microsoft mantém armazenamentos de estado redundantes para configuração de serviços, metadados sandbox e artefactos como imagens de disco e instantâneos.
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.
Quando utiliza sandboxes do Container Apps, considere falhas transitórias nas seguintes partes da sua solução:
Operações de gestão de sandbox: Quando a sua automação gere grupos de sandbox, sandboxes ou recursos relacionados, repita os pedidos que falhem devido a falhas transitórias e utilize um atraso exponencial. Limite o número de tentativas de repetição e repita apenas operações que seja seguro repetir.
Código a correr num sandbox: Implementar o tratamento de falhas transitórias para chamadas a APIs externas, bases de dados e outros serviços. Siga as orientações de repetição para cada dependência, pois o comportamento de repetição e as operações que podem ser repetidas em segurança variam consoante o serviço.
Resiliência a falhas na zona de disponibilidade
As sandboxes do Container Apps não suportam a implementação numa zona de disponibilidade específica nem a redundância de zona para um grupo de sandbox. Para tornar a sua carga de trabalho resiliente a falhas nas zonas de disponibilidade, implemente grupos sandbox separados em várias regiões. Para mais informações, consulte Resiliência face a falhas regionais.
Resiliência a falhas em toda a região
O Container Apps Sandboxes é um serviço de uma única região. Se a região ficar indisponível, os seus grupos de sandbox e as sandboxes que contêm também ficam indisponíveis. O serviço não replica grupos sandbox ou sandboxes entre regiões, nem faz failover automaticamente para outra região. No entanto, podes implementar grupos sandbox separados em várias regiões. És responsável por disponibilizar dependências em cada região e gerir a distribuição da carga de trabalho e o failover. Para mais informações, consulte Soluções multirregional personalizadas para resiliência.
Durante uma falha regional, pode perder qualquer estado mantido apenas na memória de um sandbox em funcionamento. Os grupos de sandbox, as sandboxes e os artefactos geridos pelo serviço na região afetada permanecem indisponíveis até a região recuperar.
Os volumes sandbox fornecem armazenamento que persiste para além do ciclo de vida de um sandbox individual. Durante uma falha regional, a disponibilidade e recuperação de volumes dependem do serviço de armazenamento de backup e da sua configuração. As Sandboxes do Container Apps não fornecem replicação entre regiões nem failover para os dados de volume. Em vez disso, o serviço de armazenamento de backup fornece essas capacidades quando configurado. Por exemplo, para informações sobre volumes do Armazenamento de Blobs do Azure, veja Reliability in Armazenamento de Blobs do Azure.
Soluções multirregional personalizadas para resiliência
O Azure Container Apps Sandboxes não coordena implementações multirregionais nem replica grupos de sandbox, sandboxes ou os respetivos recursos relacionados entre regiões. Para criar uma solução multirregional personalizada, tem as seguintes responsabilidades:
Implementações regionais e dependências: Implemente um grupo sandbox separado em cada região que planeia usar. Mantenha a configuração, imagens de disco, segredos e outras dependências disponíveis em cada região.
Deteção de falhas e recuperação de carga de trabalho: Configure a sua aplicação ou camada de orquestração para detetar quando uma região não está disponível, direcione a criação de novos sandboxes e processamento de carga de trabalho para uma região saudável, e determine como reiniciar o trabalho interrompido.
Encaminhamento de tráfego: Se os clientes ligarem através de endpoints regionais específicos que a sua aplicação expõe, utilize um serviço global de balanceamento de carga, como o Azure Front Door ou o Gestor de Tráfego do Azure, para encaminhar o tráfego para um endpoint saudável.
Replicação e recuperação de dados: Armazene qualquer estado necessário após o failover num armazenamento de dados externo que suporte replicação e recuperação entre regiões. Se um serviço de armazenamento de backup fornecer replicação entre regiões para dados de volume, esse serviço determina o comportamento de replicação e failover. O Azure Container Apps Sandboxes não replica nem faz failover sobre dados de volume entre regiões.
Backup e restauração
Não uses memória sandbox ou disco local como único armazenamento de dados durável. A suspensão de uma sandbox preserva o seu disco local e, no modo de memória, o respetivo estado de memória. Também podes criar snapshots que persistem independentemente do sandbox de origem. O estado suspenso e os snapshots permanecem subordinados ao grupo sandbox regional e não são backups interregionais.
Utilize um volume de sandbox para dados que tenham de persistir para além do ciclo de vida de uma sandbox individual. O serviço de armazenamento de backup e a sua configuração determinam as capacidades de backup e restauro dos dados de volume. Para os repositórios de dados externos que gere, é da sua responsabilidade configurar as cópias de segurança e a recuperação entre regiões para satisfazer os seus objetivos de durabilidade e recuperação.
Para recriar a implementação do seu sandbox após uma eliminação acidental ou uma falha regional, armazene a configuração do seu grupo sandbox em modelos de infraestrutura como código controlados por versão, como Bicep ou Terraform. Mantém as imagens do disco de origem num registo que cumpra os requisitos de recuperação.
Resiliência à manutenção de serviços
A Microsoft aplica regularmente atualizações de serviço e realiza outras manutenções. A plataforma Azure gere estas atividades automaticamente, garantindo que a manutenção é fluida e transparente para si. Durante as operações de manutenção, pode observar breves interrupções. Normalmente, estas interrupções duram alguns segundos. Garantir que as aplicações cliente estão configuradas para lidar com falhas transitórias , de modo a serem resilientes a interrupções breves.
Quando a manutenção afeta um sandbox em funcionamento, a plataforma preserva o seu estado, move-o para uma capacidade de computação saudável e retoma-o automaticamente. Para sandboxes que utilizam modo de memória, a plataforma preserva a memória e o estado local do disco. Para sandboxes que utilizam o modo disco, a plataforma preserva apenas o estado local do disco.
Contrato de nível de serviço
O Azure Container Apps Sandboxes não oferece um acordo de nível de serviço (SLA) de disponibilidade. Os serviços de armazenamento que apoiam os volumes sandbox e os armazenamentos de dados externos usados pela sua solução podem ter SLAs separados. Para mais informações, consulte Acordos de Nível de Serviço para Serviços Online.