Gerenciar clusters de plataforma de aplicativos modernos

O Cloud Adoption Framework fornece uma metodologia básica para definir os processos de gerenciamento de operações para a nuvem em um sentido agnóstico. Suas diretrizes ajudam a estabelecer uma linha de base de gerenciamento de operações e outras camadas especializadas de operações. Essas diretrizes ainda podem se aplicar a organizações que têm uma mistura de infraestrutura como serviço (IaaS), plataforma como serviço (PaaS) e cargas de trabalho em contêineres. Este artigo descreve o que você precisa integrar às operações existentes para se preparar para o gerenciamento de contêiner. Ele também realça os benefícios da integração do AKS (Serviço de Kubernetes do Azure) à sua estratégia de gerenciamento de contêineres.

Alinhamento de negócios para necessidades de gerenciamento de operações

Os contêineres removem dependências em várias camadas de infraestrutura, levando a recursos aprimorados de gerenciamento de operações. Para realizar essas melhorias operacionais, talvez seja necessário revisar sua estratégia de gerenciamento geral da nuvem, começando com o alinhamento dos negócios.

Para estabelecer as práticas adequadas de gerenciamento de operações, você deve entender como os contêineres serão usados em seus planos de adoção de nuvem e quais benefícios você deseja ter com essa mudança para cargas de trabalho em contêiner.

  • Você gerenciará várias soluções de tecnologia, como contêineres, IaaS e PaaS em sua plataforma de nuvem?
  • As equipes centralizadas darão suporte às operações e ao gerenciamento da plataforma de contêiner ou AKS? Essa responsabilidade muda para as equipes de carga de trabalho individuais?
  • As equipes centralizadas terão suporte para operações e gerenciamento das cargas de trabalho em execução em cada contêiner ou pod? Essa responsabilidade muda para as equipes de carga de trabalho individuais?
  • Você está usando contêineres para cargas de trabalho críticos?
  • Você está usando contêineres para cargas de trabalho menos críticas ou de utilitário para reduzir os custos?
  • O quanto o desempenho e a confiabilidade de suas cargas de trabalho individuais são importantes?
  • Os aplicativos em seus contêineres estão sem estado? Você precisa manter o estado para proteger e recuperar as cargas de trabalho nos contêineres?

Essas perguntas básicas moldarão como integrar melhor contêineres e AKS à sua estratégia de gerenciamento de operações.

Linha de base de operações

Implementar uma linha de base de operações fornece acesso centralizado às ferramentas necessárias para operar e gerenciar todos os ativos em seu ambiente de nuvem. Se você não tiver uma linha de base de operações para seus ativos que não estão em contêineres, poderá implementar a linha de base de operações definida na metodologia Gerenciar.

A linha de base de operações deve incluir ferramentas e configurações para fornecer visibilidade, monitoramento, conformidade operacional, otimização e proteção/recuperação.

Linha de base de gerenciamento de operações

A linha de base de operações descrita nos artigos acima não fornecerá suporte para seus contêineres ou plataforma AKS. No entanto, ele fornecerá a base de ferramentas que pode ser estendida para dar suporte a contêineres, como Azure Monitor, Backup do Azure e outras ferramentas.

Se a maior parte do seu portfólio na nuvem estiver hospedada em contêineres, considere incluir as operações de plataforma especializadas na próxima seção em sua linha de base de operações.

Operações de plataforma

A menos que essa implementação seja a primeira ou a única implantação da sua organização na nuvem, você deverá ter uma linha de base de operações. Esta seção identifica algumas ferramentas que convém incluir para ajudar a gerenciar sua implantação de contêiner ou AKS.

Inventário e visibilidade

Os contêineres de monitoramento e os clusters de AKS usam as ferramentas, os painéis e os alertas incluídos na linha de base de operações. No entanto, talvez seja necessário fazer mais configurações para obter os dados de seus contêineres em ferramentas de monitoramento de operações, como Azure Monitor para contêineres. Consulte a Visão geral do Azure Monitor para contêineres para coletar os dados necessários para adicionar operações de contêiner e plataforma AKS à sua linha de base de operações.

Após configurar o Azure Monitor para coletar dados em seus contêineres, você poderá monitorar as seguintes áreas como parte de seus processos de gerenciamento centralizado:

  • Identificar clusters em execução em várias regiões, idealmente vinculados a uma entrada de árvore de serviço e identificar fatos importantes nesses clusters
    • Identificar o pool de nós de cluster, a rede e as topologias de armazenamento desses clusters
    • Identificar a versão do AKS e a estratificação da versão da imagem do nó.
  • Identificar a utilização de recursos do nó de cluster (processo, memória e armazenamento)
  • Identificar contêineres em execução nos nós e sua contribuição para a utilização de nós
  • Compreender o comportamento dos clusters sob cargas mais pesadas e médias. Esse conhecimento pode ajudá-lo a identificar as necessidades de capacidade e determinar a carga máxima que o cluster pode sustentar.
  • Configurar alertas para notificar você de maneira proativa ou registrar quando a utilização de CPU e memória em nós ou contêineres excederem os limites ou quando uma alteração de estado de integridade ocorrer no cluster no rollup de integridade da infraestrutura ou de nós.
  • Usar consultas para criar um conjunto comum de alertas, painéis e análises detalhadas executar análise detalhada

Esses dados também oferecerão suporte às equipes de operações de carga de trabalho, fornecendo informações detalhadas sobre as cargas de trabalho em execução na plataforma em contêineres:

  • Examine a utilização de recursos de cargas de trabalho em execução no host não relacionadas aos processos padrão que dão suporte ao pod.
  • Integrar com Prometheus para exibir as métricas do aplicativo.
  • Monitorar as cargas de trabalho de contêiner implantadas no Mecanismo do AKS local e no Mecanismo do AKS no Azure Stack.
  • Monitore as cargas de trabalho de contêiner implantadas no Red Hat OpenShift no Azure.
  • Monitore as cargas de trabalho de contêiner implantadas no Kubernetes habilitado para Azure Arc (versão prévia).

Conformidade de operações

Aplicação de patch, ajuste e dimensionamento acontecem em alguns níveis diferentes em um ambiente em contêineres. Os operadores poderão estar em muitas equipes diferentes, dependendo da abordagem de operações desejada. Para manter a conformidade das operações, um operador monitorará o uso, redimensionará os ativos para equilibrar desempenho e custo e corrigirá os sistemas subjacentes para minimizar o risco e o descompasso de configuração. As organizações de TI centrais tendem a fornecer essas tarefas como parte da linha de base de operações para soluções de IaaS e PaaS.

Em um ambiente de cluster no Azure, essas tarefas são executadas em vários níveis: cluster AKS, imagem de nó e SO de nó. Todas essas tarefas de operações se tornam mais dependentes de uma relação de compreensão e trabalho das cargas de trabalho executadas nos clusters ou em pools de nós individuais. As instruções a seguir ajudarão a avaliar o que e se você deseja fazer para operar seus ambientes de contêiner.

  • Se o dimensionamento e a aplicação de patches do cluster AKS, imagem do nó ou SO do nó forem fornecidos como parte do pipeline de implantação do aplicativo ou dependerem da arquitetura ou configuração do aplicativo, é melhor transferir a conformidade operacional para a equipe de carga de trabalho para um controle granular. Como as cargas de trabalho geralmente assumem uma dependência dos recursos de orquestração, esse é o padrão mais comum, uma vez que uma alteração de versão do AKS inesperada ou uma alteração de imagem de nó podem ser catastróficas para a carga de trabalho ou suas ferramentas de tempo de execução.
  • Para os clusters centralizados menos comuns, dando suporte a um portfólio de cargas de trabalho e a uma variedade de aplicativos, a equipe de operações centralizada ainda pode ser responsável por tarefas de conformidade operacionais. Os guias a seguir ajudarão a fornecer essas tarefas em seus clusters. A execução dessas tarefas em uma base recorrente ainda é uma operação específica da plataforma. Existe um risco notável em uma abordagem de operações centrais, e testes cuidadosos de atualizações em ambientes de pré-produção, manutenção programada clara e de acordo com os planos de contingência para cargas de trabalho não compatíveis precisam estar em vigor. Uma atualização inválida pode ser um ponto único de falha e, da mesma forma, uma carga de trabalho incapaz de fazer a atualização pode fazer com que um cluster perca o suporte. Planeje e gerencie clusters multilocatários com auditoria detalhada.

Para ambos os tipos de cluster, siga as diretrizes sobre atualizações, imagens de nó e atualizações do sistema operacional do nó encontradas abaixo:

Proteger e recuperar

Os nós AKS são efêmeros por natureza e, por isso, não são feitos backups de forma que possam ser restaurados individualmente. A recuperação de um incidente pode envolver a reimplantação de cargas de trabalho em um novo pool de nós ou um novo cluster inteiro, dependendo do escopo do incidente.

  • Escolha adicionar um SLA de tempo de atividade ao seu cluster.
  • Para SLAs mais altos, você também pode considerar as melhores práticas de BCDR multirregional para fornecer proteção adicional.
  • Como os clusters não devem conter o estado, a restauração de estado externo é tratada usando diretrizes de linha de base de operações existentes. Se você incluiu estado em seus clusters, siga as práticas recomendadas dos operadores em armazenamento e tenha uma estratégia para fazer backup e restaurar esses dados para uma determinada carga de trabalho. O uso de ferramentas como Velero é um exemplo de operações específicas da plataforma, que estendem sua linha de base de operações.
    • Se o seu portfólio de aplicativos aplica estado de forma inconsistente, a equipe de operações centrais não deve tentar manter as duas soluções. Em vez disso, padronize a cadeia de ferramentas do estado desejado para todos os contêineres, mas transfira a responsabilidade por soluções de recuperação alternativas para as equipes de operações de carga de trabalho. Essa abordagem permite a liberdade de design para os desenvolvedores, mantém os custos centrais menores e fornece um incentivo de redução de custos para que as equipes de carga de trabalho estejam em conformidade com o padrão.

Operações de carga de trabalho

A seção operações de plataforma acima ilustra uma conversa comum ao gerenciar clusters AKS. Os clusters Kubernetes são uma plataforma de tecnologia a ser gerenciada centralmente? Ou são uma ferramenta de carga de trabalho que deve ser gerenciada pelas equipes proprietárias de cada uma das cargas de trabalho? Essa pergunta é diferente para organizações diferentes. A constante observada na maioria das organizações é que os contêineres e o AKS são projetados para dar às equipes de carga de trabalho mais flexibilidade na forma como desejam operar cada carga de trabalho e fornecer recursos específicos para que essas cargas de trabalho usem em sua arquitetura para beneficiar os proprietários e clientes do aplicativo.

As operações de carga de trabalho podem se basear em sua linha de base de operações existente e em operações específicas da plataforma. Você também pode operar um cluster AKS com segurança usando operações de carga de trabalho completamente descentralizadas. Em ambos os casos, quando for necessário elevar as operações para se concentrar nos resultados específicos de uma carga de trabalho específica, você poderá usar a Estrutura Bem Projetada do Azure e a Revisão da Estrutura Bem Projetada do Microsoft Azure para obter as informações muito específicas sobre as ferramentas e os tipos de processos operacionais a serem utilizados para sua carga de trabalho.

Próxima etapa: sua próxima iteração de migração

Depois que a migração da plataforma moderna de aplicativos for concluída, a equipe de adoção da nuvem poderá começar sua próxima migração específica de cenário. Em vez disso, se houver plataformas de adição a serem migradas, esta série de artigos poderá ser usada novamente para orientar sua próxima migração ou implantação de plataforma de aplicativo moderna.