Le DNS est essentiel au fonctionnement de tous les aspects de l'Internet et des entreprises numériques modernes. Ce service, hautement disponible, hautement redondant et hautement fiable, est absolument essentiel aux applications et aux opérations métiers de l’entreprise. Une défaillance du DNS peut entraîner l'arrêt de ses activités et mettre en péril son avenir. Le problème, c’est qu'une erreur minime dans un fichier de configuration peut avoir un effet d'entraînement sur l'ensemble du DNS et un impact sur tous les aspects opérationnels de l’entreprise. Une défaillance du DNS empêchera les clients à utiliser ses produits et privera l’entreprise de ses revenus. Sans une bonne gestion de la configuration DNS, toute entreprise devient vulnérable, et de simples erreurs peuvent coûter cher.

Les changements de DNS sont tellement simples et courants, qu’on les considère rarement comme risqués. Dans les petites entreprises, la gestion des serveurs DNS est souvent dévolue à l'équipe de développement, même si elle peut disposer parfois d'un autre moyen pour appliquer des modifications de DNS à la volée. Par ailleurs, à mesure que les entreprises se développent en taille et se complexifient, le nombre de serveurs DNS et de personnes susceptibles d’y apporter des modifications augmente aussi. Or, cette multiplication des intervenants potentiels est forcément une source d’erreurs. Et il ne faut pas s’en étonner. En fait, l’inverse serait plus surprenant. L’origine des pannes de DNS est diverse, depuis l'erreur humaine, les problèmes logiciels jusqu’aux défaillances matérielles. Mais le plus souvent, ces pannes se produisent après le déploiement de fichiers de configuration incorrects sur les serveurs DNS.

Alors, quelles mesures peut donc prendre une petite entreprise sans bonne pratique DNS pour mettre en place un processus de gestion de DNS de qualité ? Les huit mesures suivantes peuvent permettre à toute entreprise d’améliorer la qualité globale de leur DNS et de maintenir leurs applications opérationnelles et en bonne santé.

Étape 1. Gérer la configuration DNS à l'aide du contrôle de révision

C’est la mesure la plus simple et la plus fondamentale à prendre pour améliorer la qualité de son infrastructure DNS. À la base, les configurations DNS ne sont rien d’autres que des fichiers texte plats. La plupart des fournisseurs de DNS offrent un panneau de contrôle en front-end pour ces fichiers de configuration afin de faciliter l’applications de modifications à l’entreprise. Sauf que ces panneaux de contrôle masquent aussi l'impact des changements appliqués. Le premier conseil est donc de ne pas utiliser ces panneaux de contrôle ! Il est préférable de gérer les fichiers de configuration en utilisant le format standard de fichier texte plat.

Une fois adopté le format de fichier plat, l’entreprise peut facilement gérer ces fichiers de configuration à l'aide du même programme de contrôle de révision qu’elle utilise pour gérer le code source de son application. La plupart des entreprises utilisent pour cela une variante de Git. Et toutes, ou presque, ont mis en place des processus de gestion de code source. Elles peuvent donc utiliser le même processus ou un processus similaire pour gérer leurs fichiers de configuration DNS. Ce simple changement induira naturellement beaucoup d’autres améliorations de processus, comme les examens de configuration, les flux de travail d'approbation et le suivi de l’impact provoqué par certains changements spécifiques sur leur application. C’est une base essentielle pour maintenir un service DNS opérationnel et sans erreurs.

Étape 2. Passer en revue la totalité des changements DNS nécessaires

Une fois que l’entreprise gère ses modifications à l'aide d'un programme de contrôle des révisions, elle doit s’assurer que toutes les modifications apportées sont examinées et approuvées. Cette vérification est comparable à la vérification du code source de son application, à l'aide de branches, de demandes d'extraction et de fusions. Elle doit établir un processus d'approbation de toutes les modifications, et s’assurer qu'au moins une ou plusieurs personnes examinent toutes les modifications avant qu'elles ne soient intégrées à sa configuration de production. Ce processus de révision doit inclure la vérification des erreurs de syntaxe, des paramètres DNS incorrects et d'autres problèmes potentiels. Les problèmes de configurations DNS sont subtils, c'est pourquoi un examinateur compétent est indispensable pour effectuer une révision approfondie et méthodique.

Étape 3. Documenter l'intention de toutes les modifications

Chaque modification apportée doit être documentée. Si l’entreprise suit les étapes ci-dessus, elle peut le faire en utilisant le processus de vérification des commentaires et des demandes d’extraction de code. Documenter les changements DNS lui servira plus tard en cas de problème ou si un changement incompatible est proposé. Comprendre pourquoi une modification antérieure a été effectuée l’aidera à réparer les problèmes futurs et à savoir si une modification spécifique est ou non appropriée. 

Étape 4. Automatiser le processus de déploiement de la configuration

Une fois qu’elle aura mis en place le processus de gestion des fichiers de configuration, l’entreprise doit établir un processus pour automatiser le déploiement des mises à jour des fichiers de configuration vers son DNS de production. En automatisant ce processus, elle évitera le déploiement d’un changement incorrect en production, ou l’échec de son DNS à cause d'une simple erreur humaine ou la production de mauvais résultats. Le copier/coller des changements d'un fichier de configuration à un autre pendant un processus de déploiement présente beaucoup plus de risques d’erreur, ou un risque d’introduire un bogue dans le DNS. 

Le déploiement automatique des changements garantit que les changements sont appliqués de manière cohérente et fiable. Le système de déploiement automatisé devrait inclure un mécanisme de retour en arrière automatique. Il peut s'agir soit d'une extension naturelle du processus de contrôle des révisions, soit d'un processus de retour en arrière distinct pour le déploiement. Mais la possibilité d'annuler rapidement et efficacement un changement inapproprié peut faire la différence entre un léger désagrément et une panne massive.

Étape 5. Développer un système de gestion des changements plus sophistiqué

Au fur et à mesure que son DNS gagne en complexité, l’entreprise peut envisager de mettre en place un système complet de gestion des modifications, en plus du système de contrôle de version simple qu’elle a déjà mis en place. Une gestion complète des changements impliquerait l'utilisation de formulaires de demande de changement, de demandes d'autorisation, de signatures par plusieurs équipes et d'autres procédures de ce type. Ces changements peuvent sembler onéreux, mais la configuration DNS doit répondre à des processus rigoureux. Un simple changement de DNS peut avoir un impact sur de nombreuses équipes au sein de l’entreprise. Solliciter l'avis de ces équipes avant de procéder au changement - ou même avant que la proposition de changement ne soit acceptée - peut éviter bien des maux de tête par la suite. La taille et la complexité du système de gestion des changements dépendront naturellement de la taille et de la complexité de l’entreprise et des autres processus de gestion des logiciels. 

Étape 6. Faire appel à un fournisseur de DNS indépendant

Un DNS de haute qualité nécessite davantage qu'une simple gestion de la configuration. Il exige également un environnement opérationnel de haute qualité. Bon nombre de fournisseurs de services existants peuvent fournir des services DNS facilement exploitables par l’entreprise. En particulier, les principaux fournisseurs de cloud offrent des services DNS de haute qualité. Cependant, il est préférable d’utiliser un service DNS proposé par le prestataire qui fournit d'autres services, y compris d'autres services cloud. Pendant une interruption de service, l'outil le plus critique qui a besoin de fonctionner normalement, c’est bien le DNS. L’entreprise a impérativement besoin de ce DNS pour diagnostiquer et réparer la plupart des autres pannes. Un DNS hors service prolongera considérablement la durée de la panne. L'inverse est également vrai : si une entreprise est confrontée à un problème de DNS, elle doit éviter la panne d’un autre service de son écosystème applicatif. Pour cela, elle a intérêt à faire appel à un fournisseur de DNS de haute qualité qui ne lui fournit que des services DNS, et rien d'autre. Elle peut ainsi isoler son DNS (et tout problème de DNS) de tout autre service dans son application, et réduire la probabilité d'une panne prolongée liée au DNS.

Autre point important : l’entreprise doit s’assurer que le fournisseur de DNS choisi ne dépend pas de fournisseurs de services, de fournisseurs de cloud notamment, sur lesquels elle compte déjà ! En cas de panne d'AWS, il est préférable que son fournisseur de DNS indépendant reste opérationnel. Ce n'est pas le cas si le fournisseur de DNS dépend également d'AWS. Certaines entreprises gèrent leur propre DNS. Si une entreprise décide de gérer son propre DNS, elle doit s’assurer de l'exploiter en utilisant des ressources indépendantes du reste de son application. Autrement dit, elle doit exploiter le DNS dans des datacenters, des zones de disponibilité et même des régions cloud différentes du reste de son application. 

Étape 7. Séparer les DNS internes et externes

Poussons ce dernier point un peu plus loin. Prenons le cas d’une entreprise qui doit répondre à des besoins DNS internes et de DNS externes dont dépendent ses clients. Le DNS interne permet d'accéder à la documentation interne, aux systèmes internes, y compris le courrier électronique et les outils de communication, et à d'autres processus et systèmes internes. Le DNS externe fournit l'accès aux applications, produits et services de l’entreprise à ses clients. Il est important de confier ces deux besoins de DNS à des fournisseurs différents. Si le DNS externe tombe en panne, il sera beaucoup plus difficile de résoudre le problème si le DNS interne est également en panne. C'est l'une des raisons pour lesquelles Meta a mis si longtemps à réparer son application quand Facebook est tombé en panne en octobre 2021. Et inversement, si le DNS interne tombe en panne, mieux vaut éviter que le problème se répercute sur les clients externes. L'utilisation de différents fournisseurs, de différentes configurations DNS et de différents processus de configuration est essentielle pour éviter ce genre de déconvenues. 

Étape 8. Dupliquer le DNS chez un autre fournisseur

Pour aller plus loin, l’entreprise peut configurer son DNS de production en utilisant deux fournisseurs différents. L’un sera fournisseur principal et l’autre fournisseur de secours. De cette manière, si le fournisseur de DNS principal tombe en panne, elle pourra basculer rapidement son DNS de production vers le fournisseur de secours. Le fournisseur de secours devra disposer d'une copie complète, opérationnelle et entièrement testée de sa configuration DNS, afin de pouvoir la mettre en œuvre immédiatement, si nécessaire. Ce processus sera plus facile si l’entreprise a mis en œuvre le processus de déploiement automatisé recommandé ci-dessus. Ce processus automatisé peut contribuer à garantir la synchronisation des modifications entre le fournisseur principal et le fournisseur de secours. 

Parce que c’est un système critique, le DNS doit être conçu dès le départ pour la haute disponibilité et une grande fiabilité. Il est également important de penser à la sécurité dès la conception de son infrastructure DNS. Notamment, la mise en place de systèmes redondants est fortement conseillée et d’un contrôle étroit de l'accès à son DNS. Enfin, la surveillance du DNS est essentielle pour garantir le bon fonctionnement de son système. Des outils capables d’envoyer des alertes en cas de problème sont nécessaires, afin que l’entreprise puisse prendre des mesures pour en atténuer l'impact le plus rapidement possible. Les pannes de DNS sont fréquentes, mais pour autant, elles ne doivent pas paralyser l'ensemble de l’entreprise. En utilisant les processus et les outils appropriés, il est possible de minimiser l'impact des pannes et d’assurer le bon fonctionnement de l’entreprise.