La dérive de configuration est une préoccupation importante pour tous les développeurs IAAC. Cet article en apprendra davantage sur la gestion de la dérive de configuration, son importance, ses causes et ses solutions potentielles.
What is Configuration Drift?
Les propriétaires d'applications doivent modifier leurs applications et leur infrastructure sous-jacente au fil du temps pour améliorer en permanence expérience client. Ces clients peuvent être internes ou externes à l'entreprise.

La configuration des applications et de l'infrastructure change à la suite de ces mises à jour et modifications. Ces modifications pourraient être bénéfiques ou dégrader l'état durci des systèmes. La dérive de configuration est le terme utilisé pour cela.
How Configuration Drift Works
Le potentiel de dérive de configuration augmente avec la complexité de production de logiciels et les systèmes de livraison. Le code est généralement transféré du poste de travail d'un développeur vers un environnement de développement partagé, vers des environnements de test et d'assurance qualité, et éventuellement vers des environnements de simulation et de production.

L'impact potentiel augmente avec la distance le long du pipeline où la dérive se produit. Même des variations mineures entre une version de package installée sur l'ordinateur portable d'un développeur et la version installée sur un serveur de test peuvent retarder le problème débogage. En règle générale, seules la mise en scène et la production sont censées être des répliques l'une de l'autre. La pression est intense car de nombreuses entreprises déploient un nouveau code plusieurs fois par jour.
Common Causes of Configuration Drift

Manque de communication
Parfois, les équipes en amont ne parviennent pas à communiquer avec les partenaires en aval sur les modifications apportées par eux, ce qui, par conséquent, décompose l'ensemble du système en aval.
Correctifs
Les correctifs sont des modifications apportées au code pour résoudre un problème critique qui ne peut pas attendre la prochaine mise à jour planifiée de l'application. Parfois, les ingénieurs travaillant à la résolution du problème ne parviennent pas à apporter des modifications ou à documenter le même correctif dans d'autres environnements du pipeline, ce qui entraîne une dérive. Souvent, la réintroduction du problème initial résoudra cette dérive.

Mises à jour critiques des packages
Les mises à jour de packages critiques sont quelque peu similaires aux correctifs. Les deux sont exécutés à un rythme rapide. La principale différence est que les mises à jour critiques des packages sont appliquées dans l'espoir d'éviter de futurs incidents. Ainsi, ces mises à jour peuvent entraîner une dérive de la même manière que les correctifs.
Manque d'automatisation
L'automatisation n'éliminera pas complètement les risques de dérive de configuration. Cela ne fera que réduire ses chances.
Changements de commodité
Parfois, les modifications apportées par les développeurs sont temporaires. Par exemple, une dérive se produit si un développeur installe un nouveau package sur un serveur de test pour tester certaines fonctionnalités et oublie de le rétablir dans son état d'origine.
Why is Configuration Management Important?
L'une des raisons pour lesquelles la dérive de configuration peut être si dommageable est que si personne ne la recherche en permanence, la dérive peut passer inaperçue car elle sape progressivement la base de votre infrastructure, un peu comme une petite fuite dans une maison derrière un mur.
Lorsque la dérive de configuration est découverte, trouver la raison sous-jacente de la dérive de configuration qui a provoqué tout cela prend du temps, ce qui est une ressource précieuse en cas d'urgence.

Dans le développement de logiciels, la dérive est une cause importante de cycles de publication lents. Cela peut causer des travaux inutiles et entraver productivité des développeurs.
Coûts réduits
Vous pouvez réduire le montant global nécessaire en identifiant les doublons ou le surprovisionnement lorsque vous disposez d'une image détaillée de votre infrastructure informatique.
Une productivité plus élevée
Les clusters avec des configurations stables et bien connues permettent la gestion par lots et la construction d'infrastructures. De plus, la nécessité de gérer manuellement les paramètres individuels est réduite en limitant les serveurs uniques (ou en flocons de neige).
Débogage plus rapide
Des configurations cohérentes permettent aux équipes de débogage d'exclure les erreurs de configuration. Les équipes peuvent se concentrer sur d'autres causes potentielles, en résolvant les tickets plus rapidement car elles n'auront pas à rechercher les écarts de configuration entre les serveurs, les clusters de serveurs ou les environnements.
Issues Caused due to Configuration Drift

Les problèmes de sécurité
Les configurations non sécurisées sont l'une des causes les plus fréquentes de failles de sécurité. La dérive de configuration peut rendre d'autres attaques et violations de réseau plus probables, même si vous commencez avec une configuration protégée.
Temps d'arrêt
Un temps d'arrêt important peut résulter d'une erreur de configuration qui permet à un attaquant d'utiliser un DoS endommager ou compromettre un serveur crucial. Ce n'est pas tout, cependant. Supposons que vous modifiiez la configuration d'un périphérique réseau, affectant les performances. Vous pouvez toujours revenir à votre "configuration dorée", n'est-ce pas ? Il faudra beaucoup plus de temps pour restaurer le service si cette configuration est défectueuse.
Non-conformité
Des contrôles de sécurité stricts sont nécessaires pour se conformer aux réglementations telles que ISO 27001 , PCI-DSS et HIPAA. La dérive de la configuration peut vous amener à rompre la conformité si elle n'est pas arrêtée.
Performances dégradées
Une configuration est généralement dans son état le plus optimal lorsqu'il est dans son état prévu. Des modifications ad hoc peuvent entraver optimisation du réseau tentatives en provoquant des goulots d'étranglement et des conflits.
Temps perdu
Le dépannage d'un réseau que vous ne comprenez pas bien ou qui ne correspond pas à la documentation de votre réseau peut prendre beaucoup de temps. Cela signifie que la dérive de la configuration peut entraîner des problèmes de dépannage informatique qui n'auraient peut-être pas existé ou auraient été plus faciles à résoudre si le réseau avait été dans l'état prévu, en plus de générer des temps d'arrêt pour les utilisateurs.
Common Mistakes to watch out for When Monitoring Configuration Drift

Dans un monde parfait, tous les serveurs d'environnement pour les développeurs (Dev/QA/Staging/Prod) auraient les mêmes configurations. Malheureusement, ce n'est pas ainsi que les choses fonctionnent dans le monde "réel". Dans les environnements commerciaux, les propriétaires d'applications modifient fréquemment l'infrastructure lorsque de nouvelles fonctionnalités sont introduites dans le logiciel.
La surveillance de la dérive de configuration est cruciale pour s'assurer que les environnements logiciels sont aussi homogènes que possible. La configuration de la gestion réduit les dépenses, augmente la productivité et le temps de débogage, et améliore expérience utilisateur.
Pour réussir le mieux possible la surveillance, les organisations doivent éviter les erreurs même lorsqu'elles utilisent la gestion de la configuration et surveiller leur dérive de configuration.
Les erreurs courantes sont énumérées ci-dessous :

Ne pas maintenir une CMDB
Garder un base de données de gestion de la configuration(CMDB) à jour est un élément important de la gestion de la configuration. Les informations sur les installations matérielles et logicielles d'un réseau peuvent être examinées en un seul endroit, fournies par une base de données de gestion de configuration. Les données sont collectées pour chaque actif ou élément de configuration, offrant visibilité et transparence sur le lieu de travail.
Le fait de ne pas maintenir une CMDB expose les entreprises au danger de ne pas comprendre pleinement comment la configuration d'un élément affecte un autre élément. Les organisations risquent d'endommager leur infrastructure et leur sécurité sans en comprendre les conséquences.
Les CMDB peuvent être difficiles à administrer, en particulier lorsque le nombre d'actifs augmente, mais une organisation et une gestion efficaces de la base de données sont essentielles pour suivre avec succès la dérive de la configuration et comprendre l'infrastructure.
Ne pas avoir de plan sur la façon de surveiller la dérive de la configuration
Les organisations ont souvent des infrastructures massives et complexes qui doivent être surveillées. Il est crucial de déterminer quels composants doivent être surveillés le plus. Sinon, la gestion de la configuration peut rapidement devenir ingérable et chaotique.
Les organisations doivent spécifier quels actifs sont essentiels pour l'entreprise optimiser et des unités d'affaires spécifiques. Les systèmes les plus cruciaux seront surveillés, qui différeront d'une unité à l'autre et d'une industrie à l'autre.
Ne surveille pas automatiquement
Les organisations peuvent surveiller la dérive de configuration de plusieurs manières. Cependant, certaines approches sont plus raffinées et efficaces que d'autres.
La surveillance manuelle de la dérive de configuration est coûteuse et prend du temps. La surveillance manuelle expose également la possibilité d'une erreur humaine. Ce n'est pas la meilleure technique pour surveiller la dérive de la configuration, sauf si votre entreprise a une très petite empreinte d'infrastructure.
La surveillance automatique est le moyen le plus développé et le plus efficace pour maintenir les configurations dans l'état souhaité. Des systèmes de surveillance de configuration dédiés peuvent détecter la dérive instantanément et proposent fréquemment des solutions, y compris une correction rapide. Cela garantit que l'infrastructure de l'entreprise est remise dans l'état souhaité aussi rapidement que possible et avec un minimum d'effets.
How to Monitor Configuration Drift:

Il devient évident que la détection de la dérive de configuration devrait être une préoccupation majeure une fois que vous réalisez les dommages qu'elle peut causer. Savoir ce qu'il faut préserver et pourquoi cela a été présenté comme un changement qui a créé une dérive est la première étape de ce processus.
Tu sais ce que tu cherches
Vous pouvez trier votre organisation en identifiant les composants cruciaux pour l'organisation dans son ensemble et ceux cruciaux pour chaque unité commerciale.
Cela varie selon l'unité et peut être coûteux dans les secteurs hautement réglementés ou se concentrer uniquement sur des fichiers/applications critiques pour le système plus restreints. L'importance du système déterminera la fréquence et le sérieux des systèmes de surveillance.
Définir une ligne de base
Il y aura toujours des écarts entre un environnement de production et les étapes de test en raison des différents paramètres. La ligne de base pour vérifier la dérive est créée en définissant ce que devrait être chaque étape et les types d'écarts autorisés.
Les premières étapes de test pourraient être plus appropriées pour une tolérance de dérive plus élevée qu'une acceptation par l'utilisateur Essais réglage ou une étape de fabrication à dérive nulle.
Surveillez votre système
Le niveau de surveillance requis variera en fonction de la maturité de l'organisation, de ses systèmes actuels, de son outillage, du nombre total de configurations à vérifier et du niveau d'examen requis. Selon les exigences et la conformité, la surveillance peut différer pour chaque unité au sein d'une organisation.
How to Prevent Configuration Drift
La surveillance doit garantir que l'infrastructure est maintenue dans la configuration appropriée après la définition d'une base de configurations et d'écarts autorisés. Sans stratégie de surveillance, la construction de plans de configuration et de documentation fait perdre du temps.
Diverses approches peuvent être utilisées pour surveiller la dérive de configuration, et de nombreuses entreprises combineront des méthodologies et des outils en fonction de leur maturité et conformité exigences.
Surveillance manuelle constante
Les configurations de machines individuelles peuvent être examinées manuellement et comparées à un fichier de configuration connu. En raison de l'aspect humain, ce processus est toujours source d'erreurs et coûteux en termes d'heures de travail. Je ne devrais être utilisé qu'à petite échelle pour quelques clusters de serveurs particuliers ou une entreprise avec une empreinte d'infrastructure modeste.
Des vérifications

Une équipe examine manuellement les configurations de serveur dans le cadre d'audits de configuration, en les comparant à un modèle spécifié. Ces audits peuvent être coûteux car ils nécessitent des connaissances spécialisées pour déterminer comment un système doit être construit, puis une enquête approfondie sur toute chance non documentée de décider si oui ou non il doit être préservé.
L'équipe d'audit apporte également les ajustements nécessaires aux documents de configuration qui seront appliqués lors du prochain audit. Les audits sont généralement retenus pour les clusters de grande valeur ou à forte conformité et exécutés régulièrement, généralement plusieurs fois par an, en raison de considérations de temps et de coût.
L'audit garantit une configuration de serveur cohérente et reproductible selon un calendrier prédéterminé.
Cependant, jusqu'au prochain audit, les paramètres vont dériver et rester de plus en plus.
Surveillance automatisée en temps réel
La surveillance automatisée en temps réel est le moyen le plus sophistiqué de maintenir les configurations dans l'état souhaité. Pour ce faire, des serveurs ou des groupes de serveurs doivent être créés avec une description de la façon dont ils doivent être configurés en utilisant serveur dédié outils de configuration.
Ces programmes utiliseront un agent léger pour surveiller la configuration d'un serveur au sein de ce groupe et la comparer à sa définition.
Ce processus automatisé avertit instantanément de la dérive et propose généralement plusieurs choix pour corriger la dérive du serveur.
Mots finaux:
Les éléments de configuration (CI) incohérents entre les ordinateurs ou les appareils sont à l'origine de la dérive de la configuration. La dérive de configuration se produit naturellement dans les environnements de centre de données lorsque des modifications logicielles et matérielles sont effectuées à la volée sans être soigneusement documentées ou suivies.
Beaucoup de haute disponibilité et reprise après sinistre les défaillances du système sont attribuées à la dérive de configuration. Les administrateurs doivent conserver des enregistrements méticuleux sur les adresses réseau des périphériques matériels, ainsi que sur les versions logicielles installées sur ceux-ci et les mises à niveau qui ont été effectuées, afin de minimiser la dérive de configuration.