2
votes

Existe-t-il un bon moyen de partager la configuration entre les applications dans Azure?

Nous avons un grand système intégré aux applications Azure. Il est composé d'un service d'application pour notre API et de plusieurs applications de fonctions pour le traitement backend.

Quelle est la meilleure façon d'autoriser ces applications à partager la configuration?

Nous utilisons actuellement des modèles ARM pour configurer les variables d'environnement pour chaque application, ce qui convient au moment du déploiement, mais rien ne permet de synchroniser la configuration entre les applications.

Un cas d'utilisation peut être un indicateur de fonctionnalité qui contrôle si un sous-système est opérationnel. Nous pourrions souhaiter que cet indicateur soit utilisé dans l'API et une application de fonctions. À l'heure actuelle, nous pouvons entrer manuellement et définir la variable dans chacune des applications, mais ce serait plus facile à gérer si nous n'avions à le faire qu'à un seul endroit.

Idéalement, toute mise à jour de la configuration serait détectée par Azure et déclencherait un redémarrage du service, comme cela se produit actuellement avec l'implémentation native.

Existe-t-il une bonne façon de procéder dans le commerce? Ou vais-je rouler le mien avec une table dans une base de données et une fonction légère?


4 commentaires

avez-vous envisagé le coffre-fort de clés azur?


@ImranArshad Ce n'est pas un mauvais plan. Nous l'utilisons déjà pour les secrets.


Il existe également le nouveau service de configuration d'application :) docs.microsoft. com / fr-fr / azure / azure-app-configuration / overv‌ iew


@juunas Si vous avez développé cela en une réponse, cela pourrait être un concurrent


3 Réponses :


2
votes

Il existe un modèle de conception / guide pour cela de Microsoft, il peut être trouvé à partir de ici .


0 commentaires

8
votes

Une solution serait d'utiliser le nouveau service de configuration d'application: https://docs.microsoft.com/en-us/azure/azure-app-configuration/overview .

Il est destiné au partage des paramètres de configuration entre les composants.

Notez qu'il n'est pas destiné aux secrets, c'est à cela que sert Key Vault.


0 commentaires

1
votes

Bonnes pratiques en architecture: vous pouvez utiliser le modèle de magasin de configuration externe et utiliser un cache Redis pour partager la configuration entre plusieurs applications comme décrit ici: https://docs.microsoft.com/en-us/azure/architecture/patterns/external-configuration-store

L'approche est que vous pouvez obtenir ces données à partir d'Appsettings pour chaque environnement (cela peut être automatisé dans le pipeline CI / CD). Lors de la première connexion, vous stockez les données dans RedisCache.

Pour les données sensibles: utilisez Keyvault pour stocker les secrets / clés / certificats.


0 commentaires