Mon écosystème numérique – 1 : règles et principes

Reading Time: 5 minutes

Bonjour à tous,

Cela fait un peu plus d’un an que je n’ai pas posté d’article sur ce blog. La raison est simple, je n’en voyais plus trop l’utilité et je préfèrais consacrer mon temps à autre chose. Cependant, je me rends compte que c’est aussi une façon d’alimenter ma motivation pour travailler dans l’informatique tout en utilisant les moments de moins fortes motivations pour rester concentrer sur ce sujet. C’est pourquoi je vais reprendre lentement mais surement l’écriture. C’est également un bon moyen de partager des façons de voir et de travailler.

Cet article est le premier d’une série de deux articles. Le premier sera focalisée sur une présentation détaillée des règles et principes que j’applique dans mon usage du numérique. Le second, quant à lui, se focalisera sur la présentation de mon écosystème numérique en terme de services et d’infrastructure.

Les règles d’or

A la base, tout part d’une chose simple, enfin pas vraiment, que sont mes besoins. Afin de répondre à ceci, j’ai défini 4 règles d’or que doit obligatoirement respecter mon infrastructure et les services que j’héberge. Ces 4 règles d’or sont classés par ordre d’importance et sont les suivantes :

  1. La résilience et la disponibilité en cas de panne partielle, majeure de n’importe quel composant de l’infrastructure
  2. L’indépendance et la souveraineté numérique, je déteste être l’otage de services dans lesquels je ne fais pas confiance et/ou qui ne se soucient pas de mes données personnelles. De plus, utiliser des services tiers nous place en position de dépendance, état que je n’apprécie absolument pas. Bien entendu, avoir ses propres services signifient parfois être à la marge mais j’accepte le revers de la médaille
  3. L’efficacité des services déployés : ils doivent répondre à mes besoins de la façon la plus juste, sans fioriture
  4. Peu énergivore mentalement et chronophage

Les principes

Contrairement à un certain nombre d’informaticien, je place les technologies et les services comme la dernière roue du carosse. A mes yeux, ils ne sont qu’un moyen de répondre à mes besoins et non une fin en eux-même. J’ai la même vision pour l’informatique, c’est une façon pour moi de faire certaines choses mais je ne fais pas d’informatique pour faire de l’informatique. Une fois les 4 règles d’or définit, il vient ensuite s’ajouter des principes.

Ces principes sont l’équivalent des décrets d’applications en droit. C’est-à-dire qu’ils viennent proposer des actions concrètes et des critères objectifs afin de choisir au mieux les services à installer ou non et les actions à opérer ou non.

La sécurité avant tout : cloisonnement réseau obligatoire de tous mes services via pare-feu, c’est quelque chose d’assez simple à mettre en place et cela réduit de façon phénoménal les risques de sécurités. Pour les applications visibles sur internet, je réduis au minimum leur nombre ainsi que leur dépendance et je les isole.

Sauvegarde obligatoire : c’est la partie sur laquelle j’ai passé le plus de temps, je pense. Il m’est inconcevable de me dire que je vais perdre plusieurs journées de travail, car je n’ai pas de sauvegarde. Pour ça j’ai mis en place un classique 3-2-1 qui tourne tous les jours avec Borg.

La simplicité : c’est un des critères les plus importants dans le choix des applications que j’utilise et des technologies que je déploie. Je prends vraiment le temps de réfléchir avant d’installer une application désormais. Par exemple, j’étais mécontent du système de monitoring que j’avais en place. Prometheus et Grafana sont cools, mais sont trop complexes et surdimensionnés pour mon usage, je devais en utiliser 10%. Je n’ai pas besoin de connaitre dans le détail l’historique de consommation CPU de ma machine, de la Ram et de la bande passante consommée. De plus, mon hébergeur propose un système de monitoring minimal qui le fait. Quant aux alertes que j’avais configurées sur Prometheus, Uptimerobot fait la même chose en plus simple et étant sur une infrastructure différente. Cela permet d’éviter en cas de naufrage du serveur ou d’incendie que le monitoring coule en même temps que le bateau ^^ De plus, Uptimerobot permet de me remonter les informations via téléphone de façon simple, et ça c’est top ! J’avais hésité à installé Kama le coût est trop important pour moi au vu du gain et en comparaison d’Uptimerobot.

L’efficacité : on héberge uniquement le minimum vital. Et quand je parle de minimum vital, j’entends minimum vital. C’est-à-dire que chaque service installé doit être celui qui répond le mieux à mon besoin. De plus, je fais aussi un travail sur mes besoins afin de les réduire au maximum, ce qui facilite les choses. En effet, qui dit un besoin simple, dit probablement un service simple pour y répondre. En appliquant cette philosophie, j’ai supprimé beaucoup de services qui étaient intéressants, mais surdimensionnés ou qui n’apportaient pas grand-chose au final à part se dire, je sais ce qui se passe.

Choisir, c’est renoncer : quand on installe ou déploie quelque chose, cela signifie obligatoirement du temps de cerveau disponible pour l’installer et la maintenir. Plus que jamais, je me rends compte que mon temps de cerveau disponible est limité, et que ma capacité de concentration et mon efficacité décroissent avec l’âge. C’est pour cela que je suis extrêmement soucieux de l’utiliser à bon escient. De plus, le fait d’avoir moins de choses à maintenir créé de l’espace mémoire que je peux utiliser pour d’autres projets et activités. C’est également une des raisons pour lesquelles je n’écris plus trop ici, le jeu n’en vaut plus la chandelle selon moi.

J’automatise et documente au maximum : j’ai automatisé le redémarrage des services avec des délais plus ou moins entre chaque redémarrage. De plus, toute mon infrastructure est documentée et standardisée. Toutes les applications sont déployées de la même façon, dans les mêmes répertoires avec un build reproductible. Cela signifie que je peux rapidement faire une sauvegarde, mettre à jour et revenir en arrière rapidement si besoin, et cela, même 6 mois plus tard. Cela facilite également le déploiement de l’application sur un autre OS.

Les mises à jour :  c’est un vaste sujet qui fait encore aujourd’hui couler beaucoup d’encres. Pour mon infrastructure personnelle, j’installe les mises à jour automatiques des distributions et je privilégie les solutions packagées pour cette raison. Pour les applications qui demandent de faire une maj manuellement, car un peu sensible par sa réalisation, par exemple Redmine, je parcours rapidement les notes de version afin de voir si cela vaut vraiment le coût que je la déploie. Si oui, je la place dans la liste des applications à mettre à jour, sinon, je reporte à plus tard. Par contre, lorsqu’il s’agit d’application visible sur internet, je m’assure toujours qu’il n’y a pas de risque de sécurité, et, si oui, je mets à jour rapidement ou coupe le service le temps de la mise à jour si risque trop important.

Savoir payer : certains services valent le coût d’être payé au vu des gains de temps énormes qu’ils vous donnent. Par exemple, avoir plusieurs IP sur votre VPS permet de beaucoup simplifier l’architecture réseau et le cloisonnement réseau et l’hébergement de mail est tellement chronophage aujourd’hui que je préfère payer plusieurs dizaines d’euros pour des noms de domaine avec des boites email associés que d’avoir à le gérer moi-même pour le temps imparti.

Prévoir des créneaux de maintenance : je dédie environ deux heures par semaine à mon infrastructure personnelle pour la maintenance de routine et je prévois des plages de 4 heures pour les activités plus longues.

Faire les choses une seule fois et correctement : cela signifie que je vais réfléchir à ce que je fais et noter ce que je vais faire afin d’être certain de correctement réaliser l’opération et de pouvoir la reproduire si besoin. Cela me permet de comprendre plus rapidement ce que je fais et de mieux l’intégrer dans mon infrastructure.

Possibilité d’évolution et d’adaptation : avec le temps, les technologies changent, certaines deviennent obsolètes, d’autres émergent et répondent mieux à mes besoins ou à de nouveaux besoins qui sont apparus avec le temps. C’est pourquoi il est nécessaire que l’infrastructure soit capable d’évoluer tout en gardant sa robustesse, sa cohérence et sa clarté.

Conclusion

J’espère que cet article vous aura plu. Je n’en fais pas souvent (c’est un euphémisme, nous sommes d’accord), mais je me suis dit qu’il pourrait être intéressant de vous partager mon écosystème numérique. N’hésitez pas à partager vos réactions et vos conseils si vous en avez.

A venir : l’application de tous ces principes à travers la présentation complète de tout mon écosystème numérique.

1 thought on “Mon écosystème numérique – 1 : règles et principes”

  1. Article intéressant et qui me touche car j’ai la même problématique et j’essaye aussi de simplifier mon écosystème numérique. Hâte de lire la suite 🙂

    Reply

Leave a Comment