Pablo Monteiro

Pablo Monteiro

clouddotnet

Recentemente precisei avaliar se faria sentido implementar o App Configuration do Azure, e com isso levantei alguns pontos interessantes sobre a ferramenta.

O primeiro passo foi entender como essa ferramenta se encaixa em uma empresa com em torno de 15~20 microserviços com uma previsão de chegar em uma média de 5-10 no próximo ano.

Integrando o serviço(API) ao App Configuration:

Nesse cenário é possível usar uma biblioteca da microsoft que se encarrega por buscar as configurações no App Configuration, existem bibliotecas para várias linguagens, é possível consultar aqui.

Usando essa biblioteca é possível configurar um cache para as consultas, o que torna a alteração das configurações quase que em tempo real(pode ser em tempo real, porém significa mais consultas).

Os principais pontos considerados até que foram as alterações de código que seriam necessárias junto a uma quantidade significativa de requests ao AppConfiguration(impacto no custo).

Configuration Kubernetes Provider:

Se vocês estiver usando kubernetes, a microsoft disponibiliza o Configuration Kubernetes Provider(helm), que busca as informações no App Configuration e cria um configmap ou secret dentro do k8s, assim não precisando de alterações no código e reduzindo as consultas ao App Configuration, existem algumas maneiras onde as alterações de configuração criam um evento e o provider escuta esse evento para buscar novas configurações e reiniciar o pod.

Após entender os 2 modelos, é importante se atentar ao preço da ferramenta, atualmente temos 2 tipos:

  • Free
  • Standard

No modelo free, temos 1.000/requests/dia e não contamos com private link, já no modelo Standard temos 30.000/requests/hora, onde as primeiras 200.000 já estão inclusas no preço e as demais são cobrados R$0,29 por 10.000 requests.

O próximo passo foi entender se precisamos de 1 App Configuration por ambiente, ou 1 por App, onde o maior problema identificado foi em relação a segurança, não é possível criar uma credencial que tenha acesso apenas as chaves cliente/xxxx, as chaves dariam acesso a todas as configurações.

Conclusão:

Em um cenário com equipes bem enxutas e aplicações rodando dentro do k8s, é uma ferramenta que agregaria muito valor, principalmente pela integração com o Azure Key Vault, que seria capaz de isolar de uma maneira muito segura as secrets, removendo credenciais da pipeline e com o private link garantindo que só o cluster teria acesso as credenciais.

Para cenários de implementação do External Configuration Store Pattern a ferramenta economiza muito trabalho e acelera a implementação.

Para equipes maiores com times de infra, devops e cloud existem algumas alternativas de baixo custo que seriam capazes de obter o mesmo resultado, porém necessitam de manutenção e sustentação.

Ex: Criar rotinas no rundeck.

LEAVE A RESPONSE

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

Related Posts