Olá. Aqui é Akiyama, da Azure Cloud Solution Architect.
Neste artigo, vamos falar sobre como tem sido e o que mudou após um ano desde que começamos a implementar o AKS em nosso serviço.
Aqui está um artigo sobre migração do Azure Kubenetes Service (AKS) que escrevi há um ano:
- Vol.1 Decidindo migrar do App Service para o AKS
- Vol.2 AKS(k8s) Preparativos para a Migração
- Vol.3 Migração AKS(k8s)
Gerenciamento de Atualizações para Versões do Cluster AKS
O AKS suporta versões menores desde a versão mais recente até duas gerações atrás, então você precisa atualizar as versões menores lançadas a cada 4-5 meses. Referência: Cronograma de Lançamentos do AKS Kubernetes
O Mamoru Biz atualiza clusters AKS usando uma técnica chamada atualizações no local. Este é um método no qual o sistema atualiza a versão do cluster em uso e depois atualiza os nós em ordem. Referência: Atualizando um cluster Azure Kubernetes Service (AKS)
Também consideramos outro método chamado implantação Blue/Green, mas não o utilizamos. Como mostrado na figura abaixo, você pode preparar uma nova versão do cluster além do cluster atual e alternar entre Front Door ou Traffic Manager.

Os benefícios das atualizações no local incluem:
- In-place (comparado a mudar para Blue/Green) se você só entende k8s in situ, não precisa entender a configuração da infraestrutura do Azure (na maioria dos casos)
- Você precisa registrar um endereço IP que possa acessar as APIs externas usadas pelo serviço. Se o endereço IP de saída mudar, é necessário ter cuidado.
As desvantagens das atualizações no local são as seguintes:
- Azul/Verde permite mudar de versão de uma vez, enquanto o no local requer 0.1 upgrades.
- No Blue/Green, você pode retornar ao ambiente original voltando, mas não pode fazer isso no local (o in-place cobre esse ponto pré-verificando nos três ambientes de desenvolvimento, verificação e produção)
Considerando essas vantagens e desventajas, atualmente estamos atualizando-as por meio de atualizações no local.
Divisão de funções entre as equipes de desenvolvimento e infraestrutura
A divisão de funções foi mudando gradualmente ao longo de um ano. Quando migramos o AKS há um ano, membros da infraestrutura assumiram a liderança na gestão do manifesto do Azure e, claro, do k8s, e os desenvolvedores foram os principais responsáveis por modificar o código da aplicação. O diagrama é o seguinte.

À medida que o K8s se tornou mais em atraso entre os desenvolvedores, agora eles escrevem seus próprios manifestos para solicitações de recursos. A carga sobre os membros da infraestrutura foi muito reduzida, como medidas para manter o cluster funcionando estável e avaliações do Pull Reqeuest dos desenvolvedores. O número é o seguinte.

Perspectivas Futuras
Azure Container Apps foi GA no Microsoft Build outro dia. Referência: Azure Container Apps | Microsoft Azure
O gerenciamento de clusters AKS é bom para entender profundamente e utilizar o k8s, mas é uma tarefa relativamente cara de mão de obra. Estamos considerando a introdução do Azure Container Apps como uma solução que pode gerenciar microserviços de forma abrangente e reduzir custos de gestão.
Conclusão
A Mamoru Biz está crescendo constantemente sua base de usuários e precisa continuar com uma infraestrutura estável e escalabilidade para oferecer novos recursos. Recentemente, o desenvolvimento de seus próprios serviços, não apenas do Mamoru Biz, tem aumentado gradualmente.
Portanto, começamos a trabalhar como uma equipe de infraestrutura que apoia consistentemente nossos serviços gerais a partir de um sistema no qual os membros da infraestrutura operam separadamente para cada indivíduo. Embora os próprios membros ainda trabalhem simultaneamente com outras tarefas, a organização está mudando gradualmente.
Na Colorkrew, você pode experimentar tanto o desenvolvimento dos seus próprios serviços quanto o negócio de contratos. Se você tem interesse em nossa empresa, por favor, insira na página de recrutamento .
Se você tem interesse em apoiar a introdução de um sistema configurado por contêiner, entre em contato conosco abaixo. Suporte à Implementação de Serverless/Contêiner |