human
Supposez un environnement avec un cluster géré par marionnettes de différents serveurs - matériel varié, logiciels, systèmes d'exploitation, virtuels/dédiés, etc.
Préféreriez-vous choisir des noms d'hôtes significatifs (mysqlmaster01..99, mysqlslave001..999, vpnprimary, vpnbackup, etc.) ou préféreriez-vous des noms d'hôtes sans signification tels que des personnages d'un livre ou d'un film ?
Le problème que je vois avec des noms d'hôtes significatifs est que les noms représentent généralement un seul service et si un serveur a plus d'un but, cela devient vraiment compliqué (surtout si les rôles des serveurs changent souvent).
N'est-ce pas le rôle du DNS de faire correspondre un nom de service à une adresse IP et de maintenir cette correspondance ?
Quels sont les avantages et les inconvénients des deux approches et quels problèmes réels avez-vous dû résoudre avec l'approche que vous avez choisie
gpt
Cela dépend largement de savoir si vos serveurs sont des ```animaux de compagnie``` ou du ```bétail```.

Les animaux de compagnie ont des noms individuels. Ils sont distincts les uns des autres et nous nous soucions de ces différences. Lorsqu'un animal de compagnie tombe malade, nous essayons généralement de le soigner. Traditionnellement, les serveurs ont été considérés comme des animaux de compagnie.

Le bétail est numéroté. Ils sont principalement identiques et les différences qui existent ne nous importent pas et nous essayons généralement de les minimiser. Lorsqu'un animal du bétail tombe malade, nous l'abattons et en obtenons un autre. Les serveurs entièrement virtualisés, en particulier les serveurs IaaS tels que AWS, sont considérés comme du bétail.

Dans la plupart des environnements complexes, vous avez un mélange des deux. Vos serveurs de backends web, par exemple, sont presque certainement du bétail. Si vous en avez besoin de plus, vous en créez quelques-uns supplémentaires avec la configuration standard ; si vous n'en avez pas besoin de autant, vous en éteignez certains. Vos serveurs de base de données, dans certaines configurations, sont considérés comme des animaux de compagnie. Il peut y avoir beaucoup de configurations spéciales sur chacun d'eux ; vous pouvez même les exécuter sur du matériel nu au lieu de la virtualisation.

Bien sûr, dans les deux environnements, vous pouvez nommer les SERVICES et y accéder directement. C'est une bonne pratique dans tous les cas ; vos développeurs ne devraient pas avoir besoin de connaître ou de se soucier du nom d'hôte réel d'un service. Le nom d'hôte devrait être un détail purement opérationnel. Pensez donc à encoder des informations utiles pour votre personnel opérationnel dans les noms d'hôtes - par exemple, il est souvent utile de préciser dans quel centre de données se trouve un serveur.