Table des matières

Linux - Infrastructure

Voici une liste de conseils que je donne en général à des personnes qui débutent en administration système (qui viennent souvent du monde du développement). Ce sont des conseils qui me sont très personnels.

Nommage

Général

Que ça soit pour des serveurs ou des noms de domaines je conseil toujours de nommer :

Nommage de serveurs

Il existe 2 grandes familles de nommage pour les serveurs : Pet et Cattle.

Pet consiste à donner des noms uniques mignons à ses serveurs, comme des animaux de compagnie (par exemple tardis, r2d2, bobby, etc).

Cattle consiste à donner des noms pratiques et numérotés, comme du betails (par exemple cache1, front24, database8, etc).

Nommage DNS

Cela vous permettra de ne pas avoir plusieurs fois les mêmes infos (adresses IP, etc) dans votre zone DNS et donc d'éviter les erreurs lors de changements, migrations, etc.

Sauvegardes

Faites-le maintenant !

Non, pas dans 6 mois, pas quand ça sera « la priorité », pas « quand tout sera bien en place », pas « après la release », pas « après tel truc important », … Maintenant !

Pensez aussi à backup ce que vous envoyez à des services tiers, par exemple votre zone DNS si vous ne l'hébergez pas vous-même (avoir un fichier de zone à plat dans un git que vous modifiez quand vous modifiez la zone chez votre fournisseur), ça vous sera utile en cas de panne ou de perte de données (oui même les professionnelles du secteur peuvent perdre des données).

À titre personnel sur mes infra j'ai tendance à utiliser Borg avec Borgmatic déployés avec un rôle Ansible.

Monitoring

Mettez en place de la surveillance et des alertes.

Mettez-la en place tôt (juste après les sauvegardes logiquement), pour surveiller tout ce qui est important.

Faites-le aussi au fur et à mesure. N'attendez pas la fin du projet, la release ou que sais-je. Ne vous attendez pas non plus à avoir un case Monitoring à cocher dans votre liste : le monitoring se met en place en continu au fur et à mesure que vous ajouter/modifier votre infra.

Ayez le réflexe à chaque fois que vous ajouter quelque chose dans votre infra de l'ajouter aussi à votre monitoring en même temps, pas après car sinon vous ne le ferait jamais. Chaque ajout de composant à votre infra doit comporter une case « Ajouter le monitoring ».

Pour une petite infra de quelques serveurs j'ai tendance à bien aimer Munin, déployé avec 3 rôles Ansible : un serveur, un nœud et un fastcgi.

Automatisation

Automatisez votre infra tant qu'il est encore temps !

Par la suite à chaque ajout d'un composant vous pourrez l'automatiser (d'ailleurs vous devriez déployer sur votre infra que via l'outil d'automatisation). Pensez à bien documenter votre automatisation et à vous y retrouver.

J'ai tendance à aimer Ansible mais il en existe d'autres.

Documentation

Documentez votre infra.

Que ça soit avec des fichiers textes, un wiki, sur git, etc. Documentez votre infra pour savoir où vous en êtes. Aussi pour aider d'éventuelles personnes qui pourraient vous rejoindre.

Vous pouvez avoir un index des serveurs avec leurs infos techniques, leur emplacement géographique, etc.

Vous pouvez aussi documenter la vie de votre infra :

Faites des schemas si besoin.