L'article décrit une mise à jour majeure de l'infrastructure d'un data center personnel, surnommée "la Brasserie". L'autrice raconte comment un incident pendant les vacances de Noël, où son routeur principal est tombé en panne, l'a conduit à une refonte complète de son infrastructure. Elle a remplacé le matériel défectueux par un nouveau routeur MikroTik CCR 2004 et a restructuré son réseau en utilisant plusieurs VLANs pour mieux organiser et sécuriser son environnement. L'article détaille les étapes de la migration, y compris la reconfiguration des hyperviseurs XCP-ng, la mise en place de nouveaux VLANs, et la réinstallation de Xen Orchestra pour la gestion des machines virtuelles. L'infrastructure comprend désormais trois serveurs Dell R630, un NAS Synology, et plusieurs outils open source pour le web, les mails, la comptabilité, et le monitoring. L'autrice envisage des améliorations futures, comme l'ajout d'un cluster Kubernetes et l'amélioration de sa stack de monitoring.
L'article explore les implications de l'utilisation des modèles de langage (LLMs) dans la rédaction de blogs techniques. L'auteur, qui a toujours privilégié l'écriture personnelle et authentique, a mené une expérience en utilisant un LLM pour rédiger un article technique sur son blog. Il a constaté que, bien que les LLMs puissent reproduire un style d'écriture personnel de manière convaincante, le contenu généré reste souvent générique et manque de profondeur contextuelle. L'auteur souligne que, malgré les avancées technologiques, les articles générés par IA nécessitent encore beaucoup de révisions et de guidage pour atteindre un niveau satisfaisant. Il conclut que les LLMs peuvent être utiles pour des sujets très spécifiques ou des retours d'expérience, mais qu'ils ne remplacent pas encore l'authenticité et la richesse d'un article rédigé par un humain.
L'article explique les concepts clés du Site Reliability Engineering (SRE) tels que les SLO (Service Level Objectives), SLI (Service Level Indicators), et Error Budget, introduits par Google. Il souligne l'importance de distinguer les SLA (Service Level Agreements), qui sont des contrats avec des pénalités financières, des SLO, qui sont des objectifs internes pour la fiabilité des services. L'article met l'accent sur l'identification des Critical User Journeys (CUJ), qui sont les parcours utilisateurs critiques pour le succès d'un service. Les SLI sont utilisés pour mesurer la performance de ces parcours, tandis que les SLO définissent des objectifs réalistes pour ces mesures. Enfin, l'Error Budget est présenté comme un outil pour gérer la fiabilité des services, permettant aux équipes de prendre des risques calculés tant que les objectifs de fiabilité sont respectés.
L'article propose une amélioration de l'API pour le ResizeObserver, un outil JavaScript utilisé pour observer les changements de taille des éléments DOM. L'auteur suggère d'encapsuler la logique du ResizeObserver dans une fonction plus simple et réutilisable, ce qui rend son utilisation plus intuitive et proche des modèles d'écouteurs d'événements familiers. En passant un élément et une fonction de rappel à cette fonction personnalisée, les développeurs peuvent facilement réagir aux changements de taille sans avoir à réécrire le code standard du ResizeObserver à chaque fois. De plus, l'article montre comment intégrer des options supplémentaires et gérer l'arrêt de l'observation, offrant ainsi une solution plus flexible et maintenable. Enfin, il mentionne une bibliothèque appelée Splendid Labz qui offre une version améliorée de cet observateur, capable de gérer plusieurs éléments simultanément.
L'article explore l'utilisation de SPIFFE (Secure Production Identity Framework for Everyone) et du mTLS (mutual Transport Layer Security) avec cert-manager dans un environnement Kubernetes. SPIFFE est un standard open-source qui utilise des certificats X.509 pour sécuriser les échanges entre les workloads dans des architectures microservices, contrairement à Kerberos qui est plus adapté aux architectures monolithiques. L'article détaille l'installation et la configuration de cert-manager, un contrôleur Kubernetes pour la gestion des certificats, en désactivant l'approbation automatique des certificats pour une gestion plus sécurisée. Il explique également l'utilisation de trust-manager pour propager les certificats de confiance et du CSI Driver SPIFFE pour monter automatiquement les certificats SPIFFE dans les pods Kubernetes. Enfin, l'article présente une application simple utilisant SPIFFE pour communiquer en mTLS, soulignant l'importance de recharger régulièrement les certificats pour éviter les problèmes d'expiration.
L'article compare 2 manières de sérialiser des données : JSON et Proto (Protocol Buffer). Il conclue en donnant une règle : si des humains vont devoir lire les données échangées, préférer le JSON. Si ce sont des machins, préférer Proto.
L'article critique deux pratiques courantes dans le domaine du monitoring : le sampling des données et l'utilisation de S3 comme solution de stockage principale. Le sampling, bien que présenté comme une solution économique, peut entraîner une perte de granularité cruciale, rendant invisibles des problèmes intermittents et compliquant le débogage. De plus, l'utilisation de S3, bien que durable et économique, introduit des latences importantes et des coûts cachés, rendant les opérations de monitoring inefficaces et coûteuses en situation de crise. L'auteur souligne que ces pratiques peuvent transformer le monitoring en un processus inefficace, avec des conséquences graves lors d'incidents majeurs. Il recommande d'investir dans des solutions de monitoring adaptées pour éviter ces pièges et garantir une visibilité opérationnelle complète.
Il s'agit d'une introduction à l'art génératif : ce que c'est, comment débuter et où "exposer"
L'article souligne qu'il est presque impossible pour les individus d'évaluer les avantages ou les inconvénients des chatbots et des agents par eux-mêmes en raison des biais cognitifs qu'ils déclenchent. Il critique également la mauvaise qualité des recherches dans les domaines de la technologie et de la productivité, souvent influencées par le marketing. L'auteur met en garde contre l'effet de la bulle de l'IA, qui biaise presque tout le monde, y compris les institutions et les autorités. Il conclut en affirmant que, face à ces enjeux, la décision rationnelle et responsable est d'éviter les modèles génératifs jusqu'à ce que la bulle éclate.
L'article met en garde contre les dangers de se fier à son propre jugement concernant l'intelligence artificielle. Il souligne que les mécanismes de notre pensée peuvent être facilement trompés, rendant même les personnes intelligentes vulnérables à la manipulation. L'auteur utilise des exemples tirés de livres sur la psychologie et des expériences personnelles pour illustrer comment les biais cognitifs peuvent fausser notre jugement. Il conclut en insistant sur l'importance de s'appuyer sur des recherches scientifiques impartiales plutôt que sur des expériences personnelles pour évaluer les technologies d'IA.
L'article présente une comparaison des bibliothèques de journalisation pour Node.js, mettant en avant leurs forces et leurs cas d'utilisation spécifiques. Par exemple, Winston est apprécié pour sa grande configurabilité, ce qui le rend idéal pour les applications complexes, tandis que Pino est privilégié pour ses performances élevées, adaptées aux systèmes à haut débit. L'article souligne également l'importance de choisir une bibliothèque de journalisation en fonction des besoins spécifiques du projet, tels que la structure des données, l'expérience de l'équipe et les exigences d'intégration. Il conclut sur une liste de bonnes pratiques et recommandations
L'article explique comment l'auteur a finalement compris Docker et Kubernetes en les abordant de manière pratique. Docker est présenté comme un outil permettant d'empaqueter une application et ses dépendances dans un conteneur portable, assurant ainsi qu'elle fonctionne de la même manière partout. Kubernetes, quant à lui, est décrit comme un système de gestion de ces conteneurs, permettant de coordonner plusieurs services, de les maintenir en fonctionnement et de les mettre à l'échelle selon les besoins. L'auteur souligne que comprendre ces technologies est devenu plus simple en les utilisant pour résoudre des problèmes concrets plutôt qu'en essayant de mémoriser du jargon technique.
L'option metrics-addr de Docker permet d'exposer les métriques de performance et d'utilisation des ressources via un endpoint HTTP sur le port 9323, offrant ainsi un accès à des informations détaillées sur l'environnement Docker. Ces métriques, formatées pour Prometheus, incluent des données sur l'utilisation du CPU, de la mémoire, du disque et du réseau par conteneur, ainsi que des informations sur l'état du démon Docker et les performances des opérations. Cette fonctionnalité est particulièrement utile pour la supervision d'infrastructure, l'alerting automatisé et l'analyse de tendance, bien qu'elle nécessite des outils complémentaires pour une visualisation et une gestion avancées des données.
La fonctionnalité live-restore de Docker permet aux conteneurs de continuer à fonctionner normalement pendant le redémarrage du démon Docker, évitant ainsi les interruptions de service. Cela est particulièrement utile pour les mises à jour de sécurité et la maintenance planifiée, car cela découple les conteneurs du cycle de vie du démon, les maintenant actifs sous la supervision du noyau Linux. Cependant, cette fonctionnalité ne protège pas contre les redémarrages du système d'exploitation ou les pannes matérielles, et certaines fonctionnalités Docker sont limitées pendant le redémarrage.
L'article explique comment Docker utilise par défaut le pilote json-file pour stocker les logs, ce qui peut entraîner des problèmes d'espace disque si non configuré correctement. Il propose des solutions pour configurer et limiter la taille des fichiers de logs via le fichier /etc/docker/daemon.json et présente divers pilotes de logs comme syslog, journald, et des solutions plus avancées comme Splunk ou AWS CloudWatch Logs pour des environnements critiques. Enfin, l'article souligne l'importance des bonnes pratiques telles que la rotation des logs, l'étiquetage, et la centralisation pour une gestion efficace des logs dans Docker.
L'article explique comment Docker utilise un système de stockage en couches, où chaque instruction dans un Dockerfile crée une nouvelle couche en lecture seule, avec une couche supérieure en lecture-écriture pour les conteneurs en fonctionnement. Il aborde les différents pilotes de stockage disponibles, comme overlay2, recommandé pour les distributions Linux modernes, et propose des conseils pour optimiser l'espace disque, comme l'utilisation d'images légères et la configuration de cron jobs pour le nettoyage périodique. Enfin, il souligne l'importance d'une bonne gestion des données persistantes dans un environnement de conteneurs éphémères.
L'article explique la configuration des réseaux par défaut dans Docker, qui crée automatiquement trois réseaux : bridge, host, et none. Il aborde la résolution des conflits d'adresses IP en modifiant le fichier /etc/docker/daemon.json et en redémarrant Docker. L'article détaille également les différents types de réseaux disponibles dans Docker, comme macvlan pour les réseaux physiques et overlay pour les clusters Swarm, tout en offrant des bonnes pratiques pour une gestion efficace des réseaux Docker.
L'article présente 5 scripts Bash dont on peut s'inspirer pour construire les nôtres.
- Création d'un backup
- Surveillance du CPU, de la mémoire et de l'espace disque disponible avec alerte en cas de besoin
- Audit de sécurité rapide
- Vérification rapide de la réponse des sites
- Partitionnement de disque dur
Symfony 7.3 introduit le composant Object Mapper qui simplifie la transformation d'entités en DTOs. L'auteur montre plusieurs cas d'utilisations, du mapping direct (propriété identique) au mapping avec transformation, en passant par les mapping de types complexes.
Il conclue en discutant des avantages de ce composant.
L'auteur constate que, dans son flux d'actualité, la qualité globale des articles diminue, en particulier pour le raisonnement. Par exemple, il suit des auteurs avec lesquels il n'est pas d'accord, mais dont les raisonnements lui paraissent corrects bien qu'incomplets. L'auteur a souffert du "brouillard COVID", une affection qui rendait la réflexion particulièrement compliquée. Il se demande si cette affection n'est pas beaucoup plus répandue qu'on ne le croit, car les articles qu'il lit lui semblent rédigées par des personnes infectées. Enfin, il soupçonne aussi que l'utilisation par nombre d'auteurs de l'intelligence artificielle pour reformuler leurs écrits induise une diminution de leur capacité d'écriture. Il est d'ores et déjà montré que l'utilisation de l'IA sans recul provoque une perte d'esprit critique.