Administrar soluções de plataforma de aplicativos modernos

O Cloud Adoption Framework fornece uma metodologia para melhorar de forma sistemática e incremental a governança do seu portfólio de nuvem. Este artigo demonstra como você pode estender sua abordagem de governança para clusters do Kubernetes implantados no Azure ou em outras nuvens públicas ou privadas.

Base de governança inicial

A governança começa com uma base de governança inicial, geralmente chamada de MVP de governança. Essa base implanta os produtos básicos do Azure necessários para fornecer governança no seu ambiente de nuvem.

A base de governança inicial se concentra nos seguintes aspectos de governança:

  • Conectividade e rede híbrida básicas.
  • RBAC (controle de acesso baseado em função) do Azure para identidade e controle de acesso.
  • Padrões de nomenclatura e marcação para uma identificação de recursos consistente.
  • Organização de recursos usando grupos de recursos, assinaturas e grupos de gerenciamento.
  • Azure Policy e Azure Blueprints para impor as políticas de governança.

Esses recursos da base de governança inicial podem ser usados para controlar as instâncias de solução de plataforma de aplicativo moderno. Contudo, primeiro você precisará adicionar alguns componentes à base inicial para aplicar a Azure Policy aos seus contêineres. Uma vez configurado, você pode usar o Azure Policy e sua base de governança inicial para governar os seguintes tipos de contêineres:

Expandir em disciplinas de governança

A base de governança inicial pode ser usada para expandir várias disciplinas de governança a fim de garantir abordagens de implantação consistentes e estáveis em todas as suas instâncias do Kubernetes.

A governança de clusters do Kubernetes pode ser examinada com cinco perspectivas distintas.

Governança de recursos do Azure

A primeira é a perspectiva de recursos do Azure. Garantindo que todos os clusters atendam aos requisitos da sua organização. Isso inclui conceitos, como topologia de rede, cluster privado, funções RBAC do Azure para equipes SRE, configurações de diagnóstico, disponibilidade de região, considerações de pool de nós, governança de Registro de Contêiner do Azure, opções do Azure Load Balancer, complementos de AKS, configurações de diagnóstico e assim por diante. Essa governança garante a consistência na "aparência" e na "topologia" dos clusters de suas organizações. Isso também deve se estender à inicialização pós-implantação do cluster, como quais agentes de segurança devem ser instalados e como devem ser configurados.

Os clusters de Snowflake são difíceis de governar em qualquer capacidade central. Minimize as discrepâncias entre os clusters para que as políticas possam ser aplicadas uniformemente, e os clusters anômalos sejam desencorajados e detectáveis. Isso também pode incluir tecnologias usadas para implantar clusters, como ARM, Bicep ou Terraform.

O Azure Policy aplicado em nível de assinatura/grupo de gerenciamento pode ajudar a fornecer muitas dessas considerações, mas não todas.

Governança de carga de trabalho do Kubernetes

Como o Kubernetes é uma plataforma, a segunda é a governança do que acontece em um cluster. Isso incluiria coisas como diretrizes de namespace, políticas de rede, RBAC do Kubernetes, limites e cotas. Essa seria a governança aplicada às cargas de trabalho, menos ao cluster. Cada carga de trabalho será exclusiva, pois todas elas resolvem problemas de negócios diferentes e serão implementadas de várias formas com diversas tecnologias. Pode não haver muitas práticas de governança que sirvam para todas as situações, mas você deve considerar a governança sobre a criação/o consumo de artefatos de OCI, os requisitos de cadeia de suprimentos, o uso de registro de contêiner público, o processo de quarentena de imagem e a governança de pipeline de implantação.

Considere também a padronização em torno de ferramentas e padrões comuns, se possível. Faça recomendações sobre tecnologias como Helm, malha de serviço, controladores de entrada, operadores de GitOps, volumes persistentes e assim por diante. Também poderíamos incluir a governança sobre o uso de identidade gerenciada de pod e segredos de fornecimento do Key Vault.

Tenha altas expectativas em relação ao acesso à telemetria, para garantir que os proprietários da carga de trabalho tenham acesso apropriado às métricas e aos dados de que precisam para melhorar os produtos, garantindo também que os operadores de cluster tenham acesso à telemetria do sistema para melhorar a oferta de serviço. Normalmente os dados precisam ser correlacionados entre os dois. Confirme se as políticas de governança estão em vigor a fim de garantir o acesso adequado quando necessário.

O Azure Policy para AKS aplicado no nível do cluster pode ajudar a atender a alguns desses requisitos, mas não todos.

Funções de operador de Cluster (DevOps, SRE)

A terceira é a governança em relação às funções de operador de cluster. Como as equipes do SRE interagem com os clusters? Qual é a relação entre essa equipe e a equipe de carga de trabalho. Elas são a mesma coisa? Os operadores de cluster devem ter um guia estratégico claramente definido para atividades de triagem de cluster. Por exemplo, como eles acessam os clusters, de onde os acessam e quais permissões eles têm nos clusters, bem como quando essas permissões são atribuídas. Confirme se todas as devidas distinções são feitas na documentação de governança, na política e nos materiais de treinamento relacionados ao operador de carga de trabalho vs. operador do cluster neste contexto. Dependendo da organização, eles podem ser os mesmos.

Cluster por carga de trabalho ou muitas cargas de trabalho por cluster

A quarta é a governança em multilocação. Isso significa que os clusters contêm um "agrupamento semelhante" de aplicativos todos pertencentes, por definição, à mesma equipe de carga de trabalho e representam um único conjunto de componentes de carga de trabalho relacionados. Ou os clusters devem ser, por design, multilocatários por natureza com várias cargas de trabalho diferentes e proprietários de carga de trabalho; executados e governados como uma oferta de serviço gerenciado dentro da organização. A estratégia de governança é notavelmente diferente para cada e, como tal, você precisa determinar que a estratégia escolhida seja imposta. Se você precisar dar suporte a ambos os modelos, verifique se o plano de governança está claramente definido no tocante a quais políticas se aplicam a quais tipos de clusters.

Essa escolha precisa ser feita durante a fase de estratégia porque ela tem um impacto significativo na equipe, no orçamento e na inovação.

Esforços para se manter atualizado

A quinta é voltada para operações, como a atualização da imagem do nó (aplicação de patch) e o controle de versão do Kubernetes. Quem é responsável por atualizações de imagem de nó, controle de patches aplicados, acompanhamento e elaboração de planos de correção para exposições e vulnerabilidades comuns do Kubernetes e do AKS? As equipes de carga de trabalho precisam estar envolvidas na validação de suas soluções em atualizações de cluster e, se seus clusters não forem atuais, eles ficarão fora do Suporte do Azure. Ter uma forte governança no tocante aos esforços para “se manter atualizado” é essencial no AKS, mais do que para a maioria das outras plataformas no Azure. Isso exigirá uma relação de trabalho muito próxima com as equipes de aplicativos e o tempo dedicado por elas, pelo menos mensalmente, para a validação da carga de trabalho a fim de garantir que os clusters permaneçam atualizados. Garanta que todas as equipes que tenham dependência do Kubernetes entendam os requisitos e o custo desse esforço contínuo, que durará enquanto estiverem na plataforma.

Linha de base de segurança

As seguintes melhores práticas podem ser adicionadas à sua linha de base de segurança como medida de segurança de seus clusters do AKS:

Identidade

Há muitas melhores práticas que você pode aplicar à sua linha de base de identidade para garantir o gerenciamento de acesso e identidade consistente em seus clusters do Kubernetes:

Próxima etapa: gerenciar soluções de plataforma de aplicativo moderno

Os seguintes artigos fornecerão diretrizes sobre pontos específicos no percurso de adoção da nuvem para ajudar você a ter êxito nesse cenário.