Proteção de dados de aplicativo para cargas de trabalho AKS em Arquivos NetApp do Azure

Azure NetApp Files
Azure Kubernetes Service (AKS)
Azure Virtual Network

Este artigo descreve uma solução para gerenciar e executar o gerenciamento de dados de aplicativos em contêineres com monitoração de estado, seus recursos e seus dados.

Arquitetura

Diagrama de arquitetura que mostra como implantar o AKS com o Serviço de Controle Astra quando o AKS e os Arquivos NetApp do Azure estão em redes virtuais separadas.

Transfira um ficheiro do Visio desta arquitetura.

Fluxo de dados

  1. Uma conta do Azure NetApp Files é criada em uma assinatura do Azure e os pools de capacidade são definidos. Esses pools são mapeados para os níveis de serviço de que a implementação precisa, como Standard, Premium e Ultra.

  2. Um ou mais clusters AKS são implantados. Os agrupamentos têm de ser:

    • Em uma região onde o AKS e os Arquivos NetApp do Azure estão disponíveis. Para regiões onde esses produtos estão disponíveis, consulte Produtos disponíveis por região.
    • Em uma rede virtual que tem acesso direto a uma sub-rede delegada para Arquivos NetApp do Azure. Para obter mais informações, consulte Diretrizes para o planejamento de rede dos Arquivos NetApp do Azure.
  3. Um utilizador inscreve-se numa conta do Serviço de Controlo Astra. O Serviço de Controle Astra usa uma credencial de entidade de serviço do Azure que tem acesso de colaborador para localizar os clusters AKS a serem gerenciados. O Astra Control Service instala o Astra Trident e cria StorageClasses mapeadas para cada camada de serviço quando um cluster é adicionado ao Astra Control Service. O Astra Trident cria Kubernetes PersistentVolumes (PVs) a partir de PVCs (PersistentVolumeClaims) do aplicativo usando os objetos StorageClass (SC) implantados automaticamente que mapeiam para os pools de capacidade dos Arquivos NetApp do Azure. O mapeamento leva em conta o nível de serviço dos pools de capacidade.

  4. O usuário instala aplicativos nos clusters AKS. Os possíveis métodos de implantação incluem gráficos Helm, operadores e manifestos YAML. Os aplicativos podem ser agrupados por rótulos ou namespaces. O Astra Trident provisiona volumes persistentes com base em PersistentVolumeClaims usando os StorageClass objetos.

  5. O Astra Control Service gerencia aplicativos e seus recursos associados, como pods, serviços, implantações e PersistentVolumeClaim objetos (PVC). Ele também gerencia o PersistentVolume (PV) vinculado ao PVC. Os usuários definem aplicativos usando um destes métodos:

    • Confinando-os a um namespace
    • Usando um rótulo Kubernetes personalizado para agrupar recursos

Os usuários também podem agrupar objetos com escopo de cluster, como storageclasses, com (um) aplicativo(s) específico(s) para gerenciá-los juntos.

O Astra Control Service orquestra snapshots e backups point-in-time, políticas de backup e clones ativos instantâneos para ajudar a proteger as cargas de trabalho dos aplicativos. O Astra Control Service alcança esta proteção ao:

  • Criação de políticas de proteção do Astra Control Service. Eles podem ser feitos para snapshots e/ou backups e especificar um agendamento e um destino de backup. Essas políticas permitem proteger automaticamente os aplicativos em um cronograma pré-determinado.

  • Tirar instantâneos sob demanda para aplicativos individuais ou em grupo.

  • Fazer backups instantâneos ou clones para aplicativos individuais ou em grupo.

    Quando ocorrem desastres ou falhas de aplicativos, backups e instantâneos restauram o estado dos aplicativos. Os usuários podem clonar e migrar aplicativos entre namespaces e clusters AKS. Os clusters podem estar nas mesmas regiões ou em regiões separadas.

Componentes

  • O AKS é um serviço Kubernetes totalmente gerenciado que facilita a implantação e o gerenciamento de aplicativos em contêineres. A AKS oferece tecnologia Kubernetes sem servidor, uma experiência integrada de integração contínua e entrega contínua (CI/CD) e segurança e governança de nível empresarial.
  • O Azure NetApp Files é um serviço de armazenamento do Azure. Este serviço fornece compartilhamentos de arquivos de sistema de arquivos de rede (NFS) e bloco de mensagens de servidor (SMB) de nível empresarial. Os Arquivos NetApp do Azure facilitam a migração e a execução de aplicativos complexos baseados em arquivos sem alterações de código. Este serviço é adequado para usuários com volumes persistentes em ambientes Kubernetes.
  • A Rede Virtual do Azure é o bloco de construção fundamental para redes privadas no Azure. Por meio da Rede Virtual, os recursos do Azure, como máquinas virtuais, podem se comunicar com segurança entre si, com a Internet e com redes locais.
  • O Astra Control Service é um serviço de gestão de dados com reconhecimento de aplicações totalmente gerido. O Astra Control Service ajuda você a gerenciar, proteger e mover cargas de trabalho Kubernetes ricas em dados em nuvens públicas e ambientes locais. Este serviço fornece proteção de dados, recuperação de desastres e migração para cargas de trabalho do Kubernetes. O Serviço de Controle Astra usa a tecnologia de gerenciamento de dados líder do setor dos Arquivos NetApp do Azure para instantâneos, backups, replicação entre regiões e clonagem.

Alternativas

Você pode usar uma abordagem multifacetada personalizada para fazer backup ou replicar separadamente volumes persistentes, recursos do Kubernetes e outros recursos de estado de configuração de que você precisa ao restaurar um aplicativo. Mas esta abordagem pode ser:

  • Incômodo.
  • Difícil de tornar compatível com todas as aplicações.
  • Difícil de dimensionar entre os vários aplicativos e ambientes que uma empresa típica tem.

Em determinados ambientes, você pode reduzir custos evitando o tráfego de rede virtual entre pares. Para eliminar esse tráfego, simplifique a solução. Especificamente, traga os clusters AKS e a sub-rede que você delega para os Arquivos NetApp do Azure para a mesma rede virtual, como este diagrama ilustra:

Diagrama de arquitetura que mostra como usar o AKS com o Astra Control Service em uma única rede virtual.

Transfira um ficheiro do Visio desta arquitetura.

Detalhes do cenário

Com aplicativos em contêineres, pode ser um desafio executar a proteção de dados de aplicativos. O aplicativo consiste em vários microsserviços, que devem ser gerenciados como uma entidade. Quando você implanta cargas de trabalho críticas para os negócios no Kubernetes, o gerenciamento de dados de aplicativos deve ser:

  • Simples. O estabelecimento de políticas de proteção de dados e snapshots e backups sob demanda deve ser intuitivo. Essas políticas não devem depender dos detalhes da infraestrutura subjacente.
  • Portátil. Para possibilitar a mobilidade entre regiões para aplicativos, vários clusters Kubernetes devem ser capazes de consumir os backups.
  • Reconhecimento de aplicativos. Sua solução deve proteger todo o aplicativo, incluindo recursos padrão do Kubernetes, como segredos, ConfigMap objetos e volumes persistentes. Você também precisa proteger os recursos personalizados do Kubernetes. Sempre que possível, os procedimentos devem desativar o aplicativo antes do snapshot e do backup. Essa prática evita a perda de dados durante os backups.

O NetApp Astra Control Service é uma solução para executar o gerenciamento de dados de aplicativos com monitoração de estado que ajuda você a atingir essas metas. O Astra Control Service oferece proteção de dados, recuperação de desastres e recursos de mobilidade de aplicativos. Ele fornece cargas de trabalho AKS com monitoração de estado com um rico conjunto de serviços de gerenciamento de dados com reconhecimento de aplicativos e armazenamento. A tecnologia de proteção de dados dos Arquivos NetApp do Azure está subjacente a esses serviços.

Potenciais casos de utilização

Esta solução aplica-se a sistemas que executam aplicações com monitoração de estado:

  • Sistemas de integração contínua (CI), como o Jenkins
  • Cargas de trabalho de banco de dados como MySQL, MongoDB e PostgreSQL
  • Componentes de IA e aprendizado de máquina, como TensorFlow e PyTorch
  • Implantações do Elasticsearch
  • Aplicações Kafka
  • Plataformas de gerenciamento de código-fonte como GitLab

Considerações

Essas considerações implementam os pilares do Azure Well-Architected Framework, que é um conjunto de princípios orientadores que podem ser usados para melhorar a qualidade de uma carga de trabalho. Para obter mais informações, consulte Microsoft Azure Well-Architected Framework.

Fiabilidade

A confiabilidade garante que seu aplicativo possa atender aos compromissos que você assume com seus clientes. Para obter mais informações, consulte Visão geral do pilar de confiabilidade.

Ao implantar um cluster AKS, você o implanta em uma única região. Para proteger as cargas de trabalho de aplicativos, é melhor implantá-las em vários clusters AKS que abrangem várias regiões. Os fatores que afetam a implantação incluem a disponibilidade da região AKS e as regiões emparelhadas do Azure. Ao implantar clusters em várias zonas de disponibilidade, você distribui nós em várias zonas dentro de uma única região. Essa distribuição de recursos de cluster AKS melhora a disponibilidade do cluster porque os clusters são resilientes à falha de uma zona específica.

Os Arquivos NetApp do Azure são altamente disponíveis por design. Ele é construído em uma frota bare-metal altamente disponível de todos os sistemas de armazenamento flash. Para obter a garantia de disponibilidade deste serviço, consulte SLA para arquivos NetApp do Azure.

O Azure NetApp Files dá suporte à replicação entre regiões para recuperação de desastres. Você pode replicar volumes entre pares de regiões do Azure continuamente. Para obter mais informações sobre replicação entre regiões, consulte estes recursos:

Otimização de custos

A otimização de custos consiste em procurar formas de reduzir despesas desnecessárias e melhorar a eficiência operacional. Para obter mais informações, consulte Visão geral do pilar de otimização de custos.

Use a calculadora de preços do Azure para estimar o custo dos seguintes componentes:

  • AKS
  • Azure NetApp Files
  • Rede Virtual

Para obter os planos de preços do Serviço de Controle Astra, consulte Preços. Ao adotar o Astra Control Service, pode concentrar-se na sua aplicação em vez de gastar tempo e recursos a criar soluções personalizadas que não são dimensionáveis. O Serviço de Controlo Astra está disponível no Azure Marketplace.

Para executar cálculos detalhados de largura de banda e preços, use a Calculadora de Desempenho de Arquivos NetApp do Azure. Calculadoras básicas e avançadas estão disponíveis.

Excelência operacional

A excelência operacional abrange os processos operacionais que implantam um aplicativo e o mantêm em execução na produção. Para obter mais informações, consulte Visão geral do pilar de excelência operacional.

Quando você trabalha com o plano de controle do Kubernetes, é importante monitorar sua infraestrutura e camada de plataforma. O Astra Control Service fornece um plano de controlo unificado que pode utilizar para definir e gerir políticas de proteção de aplicações em vários clusters AKS. Um painel fornece uma maneira de lidar continuamente com cargas de trabalho entre regiões. O Astra Trident também fornece um rico conjunto de métricas Prometheus que você pode usar para monitorar o armazenamento provisionado.

Eficiência de desempenho

Eficiência de desempenho é a capacidade da sua carga de trabalho para dimensionar para satisfazer as exigências que os utilizadores lhe colocam de forma eficiente. Para obter mais informações, consulte Visão geral do pilar de eficiência de desempenho.

Os clusters AKS podem adicionar nós de trabalho extras para aumentar a escalabilidade. Para dimensionar sua solução, você pode adicionar pools de nós ou dimensionar pools de nós existentes. Essas etapas aumentam o número de nós em seu cluster, o número total de núcleos e a memória disponível para seus aplicativos em contêineres.

Em cada rede virtual, você só pode delegar uma sub-rede para Arquivos NetApp do Azure.

Quando você usa uma configuração básica para os recursos de rede do Azure NetApp Files, há um limite de 1.000 endereços IP por rede virtual. A configuração padrão de recursos de rede não limita o número de endereços IP. Para obter mais informações, consulte Recursos de rede configuráveis. Para obter uma lista completa dos limites de recursos para arquivos NetApp do Azure, consulte Limites de recursos para arquivos NetApp do Azure.

O Azure NetApp Files oferece várias camadas de desempenho. Quando você usa o Astra Control Service para descobrir clusters AKS, o processo de integração cria objetos selecionados StorageClass que são mapeados para as camadas de serviço Standard, Premium e Ultra. Quando os usuários implantam aplicativos, eles escolhem uma camada de armazenamento que atenda às suas necessidades. Vários pools de capacidade podem coexistir. Os volumes provisionados têm uma garantia de desempenho que corresponde à camada de serviço. Para obter uma lista de níveis de serviço suportados pelos Arquivos NetApp do Azure, consulte Níveis de serviço para Arquivos NetApp do Azure.

Implementar este cenário

Para implementar essa solução, você precisa de uma conta do Azure. Crie uma conta gratuitamente.

Para implantar esse cenário, execute estas etapas:

  1. Registre o provedor de recursos que torna possível usar os Arquivos NetApp do Azure.
  2. Reveja os Requisitos para utilizar o Serviço de Controlo Astra com AKS.
  3. Use o portal do Azure para criar uma conta NetApp.
  4. Configure pools de capacidade na conta do Azure NetApp Files.
  5. Delegue uma sub-rede para Arquivos NetApp do Azure.
  6. Crie uma entidade de serviço para o Serviço de Controle Astra usar para descobrir clusters AKS e executar operações de backup, restauração e gerenciamento de dados.
  7. Registe-se no Astra Control Service criando uma conta NetApp Cloud Central.
  8. Adicione clusters AKS ao Serviço de Controle Astra para começar a gerenciar aplicativos.
  9. Detete aplicações no Astra Control Service. A maneira como você descobre e gerencia aplicativos depende da maneira como você os implanta e identifica. As estratégias típicas de identificação incluem o agrupamento de objetos de aplicativo em um namespace dedicado, a atribuição de rótulos a objetos que compõem um aplicativo e o uso de gráficos de leme. O Astra Control Service suporta as três estratégias.
  10. Estabeleça políticas de proteção para fazer backup e restaurar aplicativos. Antes de definir políticas de proteção, identifique claramente suas cargas de trabalho. Um pré-requisito é que o Astra Control Service possa detetar exclusivamente cada aplicativo. Para obter mais informações, consulte Começar a gerenciar aplicativos.

Para conhecer as etapas que você pode seguir para ajudar a proteger aplicativos, consulte Recuperação de desastres de cargas de trabalho do AKS com o Serviço de Controle Astra e Arquivos NetApp do Azure.

Para obter informações detalhadas sobre o Astra Control Service, consulte a documentação do Astra Control Service.

Contribuidores

Este artigo é mantido pela Microsoft. Foi originalmente escrito pelo seguinte colaborador.

Autor principal:

Outros contribuidores:

Próximos passos