Docker

17/12/2025

Web, Ops, IoT et Time Series - Décembre 2025

Conteneurs A Safer Container Ecosystem with Docker: Free Docker Hardened Images : Docker met à disposition gratuitement et sous licence Apache 2.0 les “Docker Hardened Images” qui étaient initialement une offre commerciale depuis le printemps. Dans un monde où les “supply chain attacks” se multiplient, c’est une décision à saluer. CI/CD Pricing changes for GitHub Actions : Cela ne change rien pour les dépots publics, ni les versions Entreprise. Par contre, cela impacte ceux qui utilisent des “large hosted runner” (quelque soit la nature du dépot) ou des runners hébergés ou auto-hébergés sur des dépots privés. Data IBM to Acquire Confluent to Create Smart Data Platform for Enterprise Generative AI : les étoiles de l’ère du Big Data comme Datastax ou Confluent finissent leur vie chez IBM. Un peu comme Evernote, WeTransfer, AOL ou encore Viméo chez Bending Spoons. IA The Bet On Juniors Just Got Better : et si finalement l’IA n’allait pas menacer les juniors mais plutôt accélérer / compacter leur temps de mise en route sur le marché du travail en les “tutorant / encadrant” ; encore faut-il leur donner leur chance ! Bernie Sanders sur les enjeux de l’IA : il pose beaucoup de bonnes questions et de réflexions - on aimerait bien que plus de politiciens aient le même questionnement. Linux Foundation Announces the Formation of the Agentic AI Foundation (AAIF), Anchored by New Project Contributions Including Model Context Protocol (MCP), goose and AGENTS.md : Une nouvelle sous fondation à la Linux Foundation dédié au sujet agentique. Cela concerne principalement des formats et des protocoles pour le moment mais on peut espérer que cela nous évite quelques dramas ou des changements de licences (comme la CNCF l’a fait dans le monde Kubernetes) Euria: the free, sovereign AI assistant to no longer depend on the American giants : Infomaniak lance son Assistant IA en mode souverain et écologique. Introducing Mistral 3 | Mistral AI & Introducing: Devstral 2 and Mistral Vibe CLI. | Mistral AI : Mistral lance sa nouvelle série de modèles Mistral 3, ainsi que Devstral 2 and un outil en CLI. A tester durant les fêtes ! Software Redis 8.4, the fastest, simplest, and most powerful Redis yet–now GA in Redis Open Source : Outre son lot d’améliorations internes (performances, mémoire, replication, streams, atomicité), cette version apporte la recherche hybride (recherche full text et recherche vectorielle) Minio entre en mode maintenance : nouvel épisode du drama Minio - il faut regarder du coté de Garage, RustFS ou encore SeaweedFS ou de Ceph Critical Security Vulnerability in React Server Components & Next.js Security Update: December 11, 2025: si vous êtes dans l’écosystème React ou NextJS et que vous utilisez les “react server components”, il faut mettre à jour vos projets. ty: An extremely fast Python type checker and LSP : ty, le type checker d’Astral passe en version beta. Il complète ainsi les outils du développeur python fournis par Astral : uv et ruff. Bonne lecture et bonnes fêtes de fin d’année à tous !

ia junior redis react confluent ibm minio infomaniak linux foundation mistral astral ty ruff uv github github actions docker
26/11/2025

Web, Ops, IoT et Time Series - Novembre 2025

Je remets en route la publication de billets de veille, après quelques mois de silence… Acquisition Marimo is joining CoreWeave ou encore Replicate is joining Cloudflare : ces acquisitions sont intéressantes dans la mesure où elles montrent les convergences entre logiciels et infrastructures à l’heure de l’IA. Backend Pocketbase : un backend en Go s’appuyant sur SQlite pour la persistence des données, fournit une API Rest ainsi qu’un dashboard et fournit la partie authentification. En prime, vous pouvez empaqueter votre webapp dans le binaire. Pratique pour des environnements légers et en alternative à localStorage dans le navigateur. Reste que c’est un projet annexe d’une seule personne et qui ne semble pas vouloir le monétiser plus que ça. Containers Docker Engine v29 : cette release est une restructuration interne de Docker et redéfinit les fondations de Docker Engine. Si les changements sont internes, les impacts externes existent aussi : cela a cassé ma génération d’images Docker via Docker-In-Docker dans Gitlab-CI ou encore les devcontainers dans VSCode. Mise à jour à faire avec prudence donc… Data & IA Why I’m Making the Switch to marimo Notebooks : dans mon cas, je passe plutôt de “rien” à marimo car j’ai jamais accroché avec Jupyter et j’en avais pas tant besoin que ça. Marimo vient de lancer d’ailleurs une extension VSCode/Cursor pour marimo. Juniors & seniors à l’heure de l’IA : une réflexion intéressante sur la façon dont les juniors peuvent devenir seniors et où finalement le modèle actuel de passage de junior vers senior doit être revisité. Dans l’IA, OVH se contente du minimum : Pas tendre avec OVH mais peut-être le plus juste et factuel (vs les fanboys CSP US ou les fanboys Souveraineté FR/EU 😅) IoT Qualcomm rachète Arduino, qui montre son Uno Q, une carte « double cerveau », Qualcomm est-il en train de pervertir l’esprit Arduino ?, Arduino : ce que changent les nouvelles Conditions d’utilisation (analyse complète) : Qualcomm a racheté Arduino début octobre et change les CGU de certains services cloud. La communauté se sent menacée et le prend mal. Le billet de Framboise314 est très complet et mesuré. Mobile Apple JUST quietly announced something that’s a lot BIGGER than it looks: “the Mini Apps Partner Program” : Apple annonce un programme de partenariat pour les mini-apps, des applications web qui peuvent être intégrées dans une “Super App”. Apple envisagerait donc un produit similaire à WeChat ou au projet de Musk de faire de Twitter une SuperApp. C’est un changement majeur dans la façon dont les applications pourraient être développées et utilisées. Ops Cloudflare outage on November 18, 2025 : si la raison de cet incident majeur peut sembler un peu saugrenue (un fichier de configuration qui double de volume), il faut se rappeler que gérer un système distribué à l’échelle de Cloudflare est un vrai défi au quotidien. La transparence de Cloudflare est à saluer et c’est toujours une source d’enseignements. Traefik Proxy 3.6 “Ramequin”: Where Every Layer Counts et The Feature You Didn’t Know You Needed: Multi-Layer Routing in Traefik : dans le cadre de sa version 3.6 et de son lot de nouveautés, une fonctionnalité semble particulièrement intéressante : le routage multi-couches. Ainsi, en fonction de la chaine de routage définie, Traefik peut appliquer des règles différentes en fonction des éléments apportés par chaque “layer” - on pensera notamment à la partie authentification ou à la partie abonnement où on pourrait alors rediriger un utilisateur vers la version premium ou la version gratuite en fonction des réponses apportées par les différents layers. Sécurité Live Updates: Sha1-Hulud, The Second Coming - Hundreds of NPM Packages Compromised : le malware Rha1-Hulud refait parler de lui. We should all be using dependency cooldowns : le “cooldown” permet de ne récupérer les mises à jour disponibles depuis au moins une certaine durée. Cela peut éviter de récupérer des mises à jour qui peuvent causer des problèmes de sécurité comme dans le cas cité ci-dessus. Ce n’est pas infaillible mais cela peut aider, surtout dans le cadre de mises à jour automatiques. Souveraineté Le Comptoir OCTO - Repenser la souveraineté numérique - OCTO Talks ! : c’est une théorie complémentaire à celle d’Ophélie Coelho dans “Géopolitique du numérique” et la gestion des dépendances technologiques : plutot qu’une approche assez binaire, une gestion des risques passe par l’identification des fournisseurs, par l’utilisation des standards et par le développement des compétences pour accroitre son autonomie. Bonne lecture !

coreweave replicate cloudflare docker souveraineté ia mobile apple superapp traefik npm sécurité cooldown marimo notebook ovh pocketbase IoT qualcomm arduino
31/01/2024

Web, Ops, IoT et Time Series - Janvier 2024

Après presque 2 ans de silence et le remplacement de Hugo et Bootstrap par Zola et Tailwind/daisyUI l’été dernier pour générer le site, je vous souhaite une bonne année à tous et la résolution de publier plus régulièrement mes trouvailles… Data Multi-Database Support in DuckDB : Cela multiplie les possibilités :sunglasses: TL;DR: DuckDB can attach MySQL, Postgres, and SQLite databases in addition to databases stored in its own format. This allows data to be read into DuckDB and moved between these systems in a convenient manner. IoT Devenez un expert LoRaWAN via LoRa et LoRaWAN pour l’Internet des Objets: si vous cherchez un cours théorique et pratique pour vous former aux protocoles LoRa et LoRaWan, je vous le recommande chaudement. Ops DKron via Dkron pilote vos crontab : un gestionnaire de cron distribué, avec une jolie interface et uen API - que demander de plus ? Sur un modèle agent/serveur, le serveur dRkon distribue les tâches aux agents dKron concernés. les agents dKron étant déployés sur les serveurs sur lesquels les jobs doivent s’exécuter. Reverse Proxy Caddy : si vous avez besoin d’un reverse-proxy avec gestion automatique des certificats et redirection HTTP > HTTPS et plein d’autres choses encore mais sans nécessité d’intégration avec Docker comme Traefik, alors jetez un coup d’oeil à Caddy. Il permet également d’avoir un certificat sur localhost. Comme Traefik, il est écrit en Go. J’avoue que la concision de Caddy vs Traefik et le provider file est bien appréciable:

reverse-proxy caddy traefik docker cron lora lorawan duckdb mysql postgres sqlite
30/03/2022

Web, Ops, IoT et Time Series - Mars 2022

Conteneur et Orchestration Docker Engine 20.10.13 : Docker compose v2 arrive dans docker : ce qui permet de faire docker compose (au lieu de l’original docker-compose coté en python) COPY --chmod reduced the size of my container image by 35% : pour réduire la taille de vos images, plutôt que de faire un ADD ... puis un RUN chmod ..., faites directement un ADD/COPY --chmod. Marche aussi avec --chown. Docker Compose > depends > condition: ready : depends_on a une syntaxe longue qui permet de définir une condition sur l’état du service dépendant : démarré (valeur par défaut de la version courte), “sain” (en fonction du résultat d’un healthcheck) ou “terminé avec succès” (si votre service dépend du résultat d’un job ou d’une tâche). Numérique LCC 273 - Interview sur le darwinisme numérique avec Didier Girard - partie 1, LCC 274 - Interview le darwinisme numérique avec Didier Girard - partie 2 et LCC 275 - Interview sur le darwinisme numérique avec Didier Girard - partie 3 : interview en 3 volets de Didier Girard sur la notion de darwinisme numérique au niveau d’une nation, d’une entreprise et de l’individu. Open Data adresse.data.gouv.fr : le site national des adresses dont l’objectif est de référencer l’intégralité des adresses du territoire et les rendre utilisables par tous. Outils GitUI : si vous trouvez tig pas très intuitif/pratique, GitUI pourrait vous plaire. Prévu pour le terminal, il permet de se ballader facilement dans votre historique git & co. L’ outil en codé en Rust. igrep : un grep interactif qui permet d’ouvrir le fichier dans un éditeur et d’aller directement à la ligne contenant le motif recherché. Basé sur l’excellent ripgrep. Python Awesome AGSI : liste de ressources compatibles ASGI (Asynchronous Server Gateway Interface) Demystifying Python’s Async and Await Keywords : une intro à async/await avec asyncio. Python’s zipfile: Manipulate Your ZIP Files Efficiently : le module zipfile inclus dans la librairie standard Python permet de manipuler aisément des archives Zip. La page illustre les différentes méthodes et capacités du module. How to Write User-friendly Command Line Interfaces in Python : si le module argparse est assez connu et peut être aussi Fire, c’est l’occasion de découvrir Click (par l’équipe derrière Flask & co et à ne pas confondre avec clikt en Kotlin), Typer (par le fondateur de FastAPI). Build a User-Friendly CLI from Pure Python Functions : suite de l’article précédent avec la mise en place de DynaCLI dont le but est de générer des CLI depuis des fonctions pythons “pures”. Pass-by-value, reference, and assignment | Pydon’t 🐍 : Python passe-t-il ses variables par valeur ? par référence ou par assignement ? (Dajngo) Classy Class-Based Views : une représentation détaillée des méthodes, attributs et propriétés des “Class based views” de Django Fugue and DuckDB: Fast SQL Code in Python : Fugue permet de combiner du SQL et du code Python et DuckDB permet de faire tourner une base OLAP. De quoi accélérer le traitement de vos données en python ? RGPD & Privacy Shield “Privacy Shield 2.0”? - First Reaction by Max Schrems : La Commission Européenne et les USA ont annoncé une nouvelle version du Privacy Shield. Max Schrems est sceptique pour le moment… Google Analytics 4 (GA4) vs Universal Analytics (UA) : Matomo se livre à un comparatif et une analyse (forcément un peu biaisés) de Google Analytics 4 vs Universal Analytics. Dans tous les cas, la conclusion est de prendre une solution qui répond à vos critères et respectent les règles du jeu (GDPR, etc).

python asgi git grep docker zip cli django numérique rgpd privacy shield docker compose dockerfile google analytics matomo fugue duckdb pandas sql
29/09/2021

Web, Ops, Data et Time Series - Septembre 2021

Cloud LCC 262 - Interview Cloud de Confiance avec Quentin Adam : Interview posée, pédagogue et claire sur les enjeux du cloud de confiance / cloud souverain mais pas que. A écouter absolument. Announcing Cloudflare R2 Storage: Rapid and Reliable Object Storage, minus the egress fees : après son billet vindicatif vis à vis des couts de transferts AWS, Cloudflaire sort son système de fichiers distribué qui se veut une alternative à S3 et avec un cout de migration depuis AWS marginal/progressif puisque apparemment seuls les fichiers appelés seront sortis de leur bucket d’origine pour aller sur R2 et être servi depuis R2 ensuite The Compelling Economics of Cloudflare R2 : quelques exemples des économies réalisées entre R2 et S3 ou R2 en mode proxy devant S3. Container et Orchestration Docker is Updating and Extending Our Product Subscriptions : TL;DR: Docker Desktop requiert un abonnement Pro/Team/Business si vous êtes une organisation de plus de 250 employés et 10 Millions de Chiffre d’affaires. L’abonnement commence à 5$/mois/utilisateur. Ce changement démarre au 31/08/2021 avec une période de grâce jusqu’au 31/01/2022. Si certains crient au scandale, il faut bien voir tout ce que Docker Desktop fourni et le travail d’intégration que cela représente. Il faut bien que la société Docker vive pour maintenir ses produits. Tout cela se retrouve dans The Magic Behind the Scenes of Docker Desktop. Podman Release v3.3.0 : cette version apporte “podman machine” qui devrait notamment permettre un meilleur support de podman sous OSX avec une couche de virtualisation intermédiaire dans la même veine que Docker Desktop dans le but de proposer une intégration native. Cela ne semble pas fonctionner sur un Apple M1 à cause de l’incompatibilité actuelle de Virtual Box avec ces puces. Si Podman peut certes être une alternative à Docker (Desktop), cela montre aussi le travail d’intégration réalisé par Docker Inc notamment pour le support des Apple M1. Podman on Macs Update : statut sur le support de Podman dans un context MacOS/Intel, Windows/Intel et le reste à faire pour MacOS/M1. En attendant, podman machine est supporté nativement sur Linux et MacOS/Intel et en remote client sur Windows/Intel. How Docker broke in half : restrospective sur Docker de ses origines à aujourd’hui et quelques pistes pour le futur… Docker Compose V2.0.0 : L’outil a été réécrit en go plutôt qu’en python et se veut accessible via la docker cli en tant que sous système (ie docker compose xxx). Pour Windows & OSX, il est fourni avec Docker Desktop. Accelerating New Features in Docker Desktop où l’on parle de l’arrivée prochaine d’un Docker Desktop For Linux !! No, we don’t use Kubernetes : un billet rafraichissant qui rappelle que Kubernetes n’est pas l’alpha et l’omega de l’infrasatructure. IoT CircuitPython 7.0.0 Released! : version majeure de CircuitPython qui apporte son lot d’améliorations matérielles et logicielles depuis la version 6.3 tinygo 0.20 : principalement l’ajout du support de Go 1.17 et de nouveaux controlleurs. JVM Good-bye AdoptOpenJDK. Hello Adoptium! : le projet AdoptOpenJDK est repris sous le projet Eclipse Adoptium, qui vient de signer sa première release. Il faudra prévoir une migration vers leurs binaires et leurs dépots ultérieurement (date non définie à ce jour). Recherche Nrtsearch: Yelp’s Fast, Scalable and Cost Effective Search Engine : nouvel entrant dans le monde de la recherche distribuée et opensource basée sur Lucene. Après ElasticSearch et OpenSearch, c’est au tour de Nrtsearch édité par Yelp qui a cherché à résoudre les problèmes qu’ils rencontraient avec ElasticSearch. Sécurité GitHub security update: Vulnerabilities in tar and @npmcli/arborist : si vous utilisez le package tar de NodeJS directement (ou indirectement), il est judicieux de mettre à jour votre version de npm et node et de vérifier vos dépendances. Demon’s Cries vulnerability (some NETGEAR smart switches) : si vous avez des “smart switchs” de la marque Netgear, il est temps de patcher le firmware de votre équipement. Let’s Encrypt’s Root Certificate is expiring! : si vous avez de vieux équipements dans la nature et qu’ils utilisent ce certificat de Lets Encrypt, il y a des chances qie cela se passe mal à compter de demain… Time Series Industrie du futur : les données sur le chemin critique, Industrie du futur : les données sur le chemin critique – Partie 2 et Industrie du futur : les données sur le chemin critique – Partie 3 : Suite d’un premier article “Les séries temporelle : le futur de la donnée qui continue à poser les enjeux de l’industrie du futur et les évolutions que cela va apporter pour permettre une maintenance analytique (version optimisée de la maintenance préventive et réactive/conditionelle), la data pour la création de nouveaux services et générateurs de revenus (directs ou indirects), les jumeaux numériques et sur un fond de synergies entre l’informatique technique et celle de gestion pour une optimisation des process. Server monitoring with Warp 10 and Telegraf : Premiers pas pour la mise en place d’une stack de monitoring avec Telegraf / Warp 10 et Discovery ; manque plus que la suite à Alerts are real time series pour avoir la partie alerting (et notifications ?). Discovery : la documentation de la solution de Dashboard as Code pour Warp 10 est (enfin) arrivée ! winedarksea/AutoTS : tout est dans la description : “AutoML for forecasting with open-source time series implementations.” ; c’est en Python et cela embarque beaucoup de classes / modèles / transformations / … Anomaly Detection Toolkit (ADTK) : un framework de détéction d’anomalies en python. QuestDB 6.0.5 & QuestDB 6.0.5 September release, geospatial support : la géotimeseries devient tendance : après InfluxDB qui l’a introduit il y a un an environ, et bien longtemps après Warp 10, c’est au tour de QuestDB d’introduire le support des données géospatiales. La version apporte aussi des améliorations sur first() et last() ainsi que les nouvelles fonctions timestamp_floor() et timestamp_ceil() pour gérer les arrondis inférieurs/supérieurs. Enfin, l’API HTTP accepte des paramètres liés au “Out Of Order”. QuestDB 6.0.6 : version de maintenance QuestDB 6.0.7 : la version 6.0.6 introduit un bug dans le cadre de la migration depuis une version antérieure. La version 6.0.7 apporte un correctif sur le sujet. Si vous êtes en en 6.0.6, mettre à jour * [en 6.0.7 - si vous êtes dans une version inférieure à 6.0.6, passez à la version 6.0.7 sans passer par la case 6.0.6 QuestDB 6.0.7.1 : en espérant que cette version soit enfin la bonne pour les migrations. TimescaleDB 2.4.2 : version de maintenance InfluxDB’s Checks and Notifications System : un billet très détaillé sur le fonctionnement des checks et des notifications sous InfluxDB v2 pour mettre en place vos alertes. New in Grafana 8.1: Gradient mode for Time series visualizations and dynamic panel configuration : un mode gradient pour les time series qui permet d’appliquer des couleurs sur ses graphs en fonction de seuils.

automl telegraf anomalie python podman npm nodejs jvm adoptopenjdk questdb cloudflare aws s3 docker warp10 discovery tinygo circuitpython nrtsearch elasticsearch influxdb
25/08/2021

Web, Ops, Data et Time Series - Aout 2021

Conteneurs et orchestration Engineering Update: BuildKit 0.9 and Docker Buildx 0.6 Releases : diverses améliorations au niveau du format Dockerfile, de buildtkit et de docker-buildx. Le changement le plus visible et apprécié sera surement le support de la syntaxe “Here-Documents” Rook v1.7 Storage Enhancements : Possibilité d’installer un cluster Ceph via un chart Helm (plutôt que via les manifests), des options d’amélioration de la résilience d’un cluster (file mirroring, resource protection from delettion, “stretch cluster” passe en stable) et d’autres améliorations diverses (mise à jour des CRD, etc). A noter que le driver flex va disparaitre en 1.8 au profit du driver CSI. Announcing Traefik Proxy 2.5 : Support de Kubernetes 1.22 (et mise à jour des CRD associées, ainsi que des API dépréciées), support de Consul Connect (le service mesh fourni par consul), gestion des plugins locaux et possibilité de créer ses propres providers (dans la même veine que Docker, Kubernetes, etc), support expérimental d’HTTP/3 et enfin ajout des middleware au niveau TCP (et pas uniquement HTTP) Integrating Consul Connect Service Mesh with Traefik 2.5 : ex d’intégration Traefik 2.5 avec Consul Connect. Beta Support for CRDs in the Terraform Provider for Kubernetes : la resource kubernetes_manifest permet de définir ses propres manifests et donc permet d’utiliser des CRD non disponibles dans le provider officiel. Plus pratique que de générer les manifests via des templates et de faire du kubectl apply par dessus. Go Learning Go by examples : Les parties 4 à 7 sont arrivées avec du CLI, du Bot, du jeu, des app Desktop/GUI, etc. Monitoring & Observabilité Grafana Labs Raises $220 Million Round at $3 Billion Valuation : Grafana Labs continue sur sa lancée avec une 3ème levée de fonds de 220 M$ quasiment un an jour pour jour après leur série B. Soit un total de 295 M$ et une valorisation de 3 Mds $. Ils avaient annoncé il y a quelques années vouloir batir une solution à 360° de l’observabilité, c’est en train de se réaliser. Avec l’intelligence de pouvoir utiliser tout ou partie de leurs produits en fonction de nos besoins. Vector v0.16.0 release notes : Ajout d’une source nats, support des proxys HTTP, amélioration du rate limiting des sinks faisant des appels HTTP, chart helm en beta et d’autres améliorations. Time Series Release Announcement: InfluxDB OSS & Enterprise 1.8.9 : version de maintenance de la branche 1.8 OSS & Entreprise - les versions les plus récentes en 0SS étant 2.0.8 et en Entreprise 1.9.3 Release Announcement: InfluxDB OSS 2.0.8 : passage à Go 1.16, mise à jour de Flux, d’Influx-UI et de flux-lsb-browser. Il est également possible de ne plus lancer l’UI Web. Cette version est la dernière qui aura le client influx fourni avec le binaire du serveur. A compter la version 2.1.0, il faudra télécharger le client indépendamment. Il faudra le récupérer depuis le projet github influx-cli ou la page de téléchargement InfluxData Move fast, but don’t break things: Introducing the experimental schema (with new experimental features) in TimescaleDB 2.4, TimescaleDB 2.4.0 et TimescaleDB 2.4.1 : Comme annoncé précédemment, Postgresql 11 n’est plus supporté pour pouvoir apporter certaines nouvelles fonctionnalités. Cette version apporte le “schéma experimental” qui permet de tester des fonctionnalités en avance de phase, sans impacter ceux qui n’en ont pas besoin. Cela apporte aussi des fonctions comme time_bucket_ng qui permet de faire de nouvelles aggrégations et d’avoir prochainement un support des timezones. La seconde fonctionnalité expérimentale porte sur la capacité à bouger de la donnée entre plusieurs nodes en mode cluster.

docker influxdb grafana timescaledb terraform kubernetes rook traefik consul consul-connect service-mesh hashicorp golang vector
28/04/2021

Web, Ops, Data et Time Series - Avril 2021

Code Docteur, j’ai commité 8 Go dans mon Git. C’est grave ? : un petit exemple de l’utilisation de git-filter-repo pour nettoyer son historique git de fichiers inutiles. Les pipelines parent-enfant de gitlab-ci : article sur la modularisation de gitlab-ci avec les pipelines parent/enfant au sein d’un même dépôt de code ou entre plusieurs dépot avec passage de variables entre eux. Minio Changes License to AGPL : Minio passe (aussi) son code en AGPL, l’annonce officielle n’est pas encore arrivée. Conteneur et orchestration Electro Monkeys - Docker Compose avec Nicolas de Loof : Retour sur la Developper Experience autour de Docker, l’historique et le futur de docker-compose, la création de la spécification Compose, les intégrations AWS/ECS et Azure/ACI, l’intégration Kubernetes, etc. nerdctl: Docker-compatible CLI for contaiNERD : une CLI qui imite la CLI Docker mais en interagissant directement avec containerd. Elle permet aussi de bénéficier de certaines fonctionnalités de containerd qui ne sont pas prévues pour tout de suite dans Docker apparemment. Blog: Kubernetes 1.21: Power to the Community : au programme de cette nouvelle version : Cronjobs GA, Immutable Secrets and ConfigMaps GA, IPv4/IPv6 dual-stack support, Graceful Node Shutdown, PersistentVolume Health Monitor mais aussi PodSecurityPolicy Deprecation et TopologyKeys Deprecation PodSecurityPolicy Deprecation: Past, Present, and Future: article plus détaillé sur la dépréciation des PSP. Podman v3.1.0 Released : ajout de la gestion des secrets, améliorations des commandes kube avec notamment la génération des PersistentVolumeClaim ou encore la gestion des propriétaires des volumes. Velero 1.6.0 : améliorations diverses comme le support des identifiants par buckets (et non globaux uniquement), mise à jour de restic vers 0.12.0, etc. Compose CLI Tech Preview : compose devrait devenir une sous-commande officiel de la CLI Docker ; on pourra alors faire docker compose up -d Docker 20.10.6 : version de maintenance avec le support des puces Apple Silicon M1. Kubernetes : vers 3 releases par an au lieu de 4 : de quoi courrir un peu moins derrière les versions et à relier avec le support de chaque version étendue à 1 an depuis la 1.19. Data sq: swiss-army knife for data : le jq pour les données relationelles. Du SQL ou des fichiers Excel/CSV/JOSN/XML en entrée et les mêmes formats en sortie (et un peu plus). SQLite is not a toy database : On a souvent une fausse image de sqlite - l’article permet de se mettre à jour… IaC Conditional nested blocks in Terraform : si les dynamic blocks avec terraform sont utiles pour peupler dynamiquement des structures à partir de tableaux/listes/objets, il peut aussi être utiliser pour gérer la présence conditionnelle de blocs. Announcing HashiCorp Terraform 0.15 General Availability : la plus grosse annonce étant que la 0.15 initie les travaux en vue de la release 1.0 ; pour ceux qui sont à jour, la mise à jour ne devait pas poser de problèmes (cf guide). Pour plus d’informations, cf CHANGELOG. HashiCorp is the latest victim of Codecov supply-chain attack : victime de la supply chain attach de codecov, Hashicorp vient de publier les versions patchées de Terraform des versions 0.11 à 0.15. Faites la mise à jour rapidement même si la clé volée n’a a priori pas été utilisée frauduleusement. IoT Pico 2 Pi Adapter Board : un petit adapteur sympathique pour Raspeberry Pi Pico et vous permettre de brancher facilement vos composants sans soudure et mener ainsi vos expériences. Piper Make : Pour programmer facilement votre Raspberry Pi Pico en MicroPython mais avec une logique de blocs à la Scratch. Utilisation des BME680 et RV3028 avec Raspberry Pi Pico : le composant BME680 permet d’évaluer la qualité de l’air - le projet permet donc de capturer et d’afficher cette information avec un Raspberry Pi. Son successeur, le BME688 dispose d’une pincée d’IA. Projet CO2 et Makers CO2 : pour mieux comprendre les enjeux autour de l’aération des pièces et comment faire vos capteurs. Observabilité & Monitoring Coder ses dashboards Grafana avec Grafonnet : Grafonnet est une extension de jsonnet ; il permet de déclarer ses dashboards Grafana via un lanage formalisé plutôt que de copier/coller des dashboards en JSON. Cela permet ainsi d’avoir une approche un peu plus “Dashboard as code”. Grafana 7.5 released: Loki alerting and label browser for logs, next-generation pie chart, and more! : un nouveau panel pour les “camembers” (“pie charts”), des améliorations pour les autres produits grafana (loki, tempo), ainsi qu’Elasticsearch, Postgresql et Cloudwatch et sur la version Entreprise. Vector v0.12.0 Release Notes, 0.12.1, 0.12.2 : Comme indiqué en février, la release de Vector apportant leur nouveau langage de traitement “Vector Remap Language est disponible, ainsi que des améliorations sur vector top, la source internal_logs et l’API GraphQL. Un guide de mise à jour vers la nouvelle syntaxe est disponible. Release Announcement: Telegraf 1.18.1 : version de maintenance Grafana, Loki, and Tempo will be relicensed to AGPLv3 & Q&A with Grafana Labs CEO Raj Dutt about our licensing changes : les produits phares de Grafana Labs passent d’une licence Apache 2 à AGPLv3. Les autres produits pourront rester sous licence ASL 2.0. L’AGPL étant contaminante, cela pourrait interdire l’usage de ces produits dans certains contextes, y compris à la CNCF. Vu l’implication de Grafana Labs dans le monde Prometheus, il va falloir suivre comment cela va se passer. Réseau The Mystery of AS8003 : Une entité inconnue jusque là mais liée à l’administration américaine a annoncé la gestion d’une très grande plage réseau. Les implications et les motivations sont encore à éclaircir. Le billet émet différents hypothèses. Le thread twitter associé est intéressant aussi. Sécurité Electro Monkeys - La sécurité dans tous ses états – détection de comportements indésirables grâce à Falco avec Thomas Labarussias : Présentation des projets falco et sysdig qui permettent d’analyser les comportements de vos applications (conteneurisées ou pas) en se basant sur les syscalls. Announcing HashiCorp Vault 1.7 : version mineure avec des améliorations internes au produit, sur la version entreprise et un peu au niveau UI. Time Series InfluxDays EMEA 2021 Virtual Experience : InfluxData organise la session européenne de sa conférence avec le point sur les différents produits et les développements à venir. Des nouvelles de l’écosystème (Grafana, etc) sont attendues aussi, ainsi que des retours clients. Des formations Flux et Telegraf sont aussi prévues respectivement les 10/11 mai et le 17 Mai. InfluxData releases InfluxDB Notebooks to enhance collaboration for teams working with time series data & Build notebooks in InfluxDB Cloud | InfluxDB Cloud Documentation : InfluxData lance son offre de notebook intégré à sa plareforme InfluxDB (version cloud uniquement pour le moment) Build a Complete Application with Warp 10, from TCP Stream to Dashboard : exemple complet de l’utilisation de la plateforme Warp 10 depuis l’ingestion des messages AIS des bateaux via un client TCP jusqu’à la visualisation des données après un passage par les étapes de stockage et nettoyage des données. Très intéressant même si je vais devoir relire tranquillement le billet pour bien comprendre certaines astuces et certains “raccourcis” au niveau du code. Working with GEOSHAPEs & Working with GEOSHAPEs: code contest! : un billet (et un concours) pour exploiter la dimension géospatiale de Warp 10. TimescaleDB 2.2.0 : diverses améliorations mais surtout une annonce sur la fin de support de Postgresql 11 à compter de mi-juin et de la prochaine version de TimescaleDB. C’est justifié par l’absence d’une fonctionnalité dans Postgresql 11.x et requise pour la prochaine version de TimescaleDB.

falco sysdig sécurité dashboard raspberrypi pico hashicorp vault vector containerd git git-filter-repo psp gitlab-ci podman warp10 sqlite terraform timescale velero docker docker compose grafana loki tempo kubernetes minio influxdata notebook geospatial agpl bme680 co2
24/02/2021

Web, Ops & Data - Février 2021

Container et orchrestration Running Nomad for home server : pour avoir mené une expérience très similaire sur le mois de janvier, je me retrouve complètement dans ce retour d’expérience sur nomad (vs kubernetes dans une certaine mesure). Le trio nomad/consul/vault permet de faire des choses assez proches de ce que l’on peut faire avec kubernetes et parfois même de façon plus simple. Et ce, avec moins de couches intermédiaires (CSI, CNI, etc) mais aussi quelques fonctionnalités en moins. Un compromis assez réussi je trouve entre un docker nu et/ou avec docker-compose et un kubernetes. Podman 3.0 has been released! : support de docker-compose, support des noms courts d’image, amélioration sur le réseau, apport de la dernière version de buildah, correction d’une CVE, etc. Donating Docker Distribution to the CNCF : Docker Inc donne sa registry à la fondation CNCF pour fédérer les initiatives autour d’un même standard et élargir le champ des contributeurs/mainteneurs. Panorama des outils de sécurité autour des conteneurs : comparaison des outils de bonnes pratiques et d’analyses de vulnérabilités des containers docker pour améliorer la sécurité de vos conteneurs. Code Gopls on by default in the VS Code Go extension - The Go Blog : amélioration du support de Go dans VSCode. Awesome Linters : si vous cherchez un linter, vous devriez le trouver dans ce dépot Into the Sunset on May 1st: Bintray, JCenter, GoCenter, and ChartCenter : JFrog va arrêter les services Bintray, JCenter, GoCenter et ChartCenter le 1er mai. La proposition est de migrer sur l’offre JFrog Cloud ou de trouver une alternative. Monitoring & observabilité Datadog Acquires Timber Technologies | Datadog : Datadog achète la société Timber Technologies qui édite le project vector. Pourvu que cela ne nuise pas au projet. Datadog Signs Definitive Agreement to Acquire Sqreen | Datadog : Datadog achète aussi Sqreen qui était dans le domaine de la sécurité. Vector Remap Language : la version 0.12 de vector va apporter un nouveau langage plus fonctionnel pour définir le traitement sur ses logs. A tester ! Building a Telegraf Assistant – UC Berkeley Codebase : des étudiants de l’universite de Berkeley ont travaillé sur la capacité de pousser une configuration à distance à telegraf. A voir si le code arrive jusque dans le produit telegraf, ce serait sympathique en tous cas ! Time Series Time-Series Analytics for PostgreSQL: Introducing the Timescale Analytics Project : Timescale va publier des fonctions orientées time series sous la forme d’extensions postgres. A priori réutilisable sans utiliser le reste de la base Timescale (à confirmer). De quoi simplifier certaines manipulations ?! TimescaleDB 2.0 is now Generally Available : annonce officielle de la sortie de TimescaleDB 2.0 même si la 2.0.0 est sortie à Noel et la 2.0.1 fin janvier. Grafana 7.4 released: Next-generation graph panel with 30 fps live streaming, Prometheus exemplar support, trace to logs, and more : amélioration des panels, mode livrestream pour un panel, support des variables dans les notifications d’alertes et plein d’autres choses. Kapacitor 1.5.8 — Rollback Announcement | InfluxData : Rollback de la version 1.5.8 de Kapacitor (la couche de processing en mode batch/streaming dans un contexte InfluxDB 1.x) pour cause d’opération pouvant conduire à de la perte de données. Un correctif est attendu sous peu. TL;DR InfluxDB Tech Tips – How to Monitor States with InfluxDB : ce billet est intéressant pour compléter le billet sur le calcul de la durée d’un état avec des timeseries. Notamment, l’apport de la fonction monitor.stateChanges() et monitor.stateChangesOnly(). Warp 10 2.7.3 : version de maintenance. A review of smoothing transforms in WarpLib : revue des possibilités de “lissage” de vos séries avec différents algorithmes inclus dans Warp 10 de la moyenne glissante simple à des algorithmes capables d’excluer les anomalies et pics ponctuels. Si vous êtes en manque de news, vous pouvez aller consulter (et vous abonner) aux brèves du BigData Hebdo

java repository artefact timescale postgres kapacitor grafana nomad hashicorp podman docker compose registry docker golang vscode warp10 dataviz transformation vector linter
16/12/2020

Web, Ops & Data - Décembre 2020

Containers et orchestration Electro Monkeys #37 – Podman, l’alternative de Redhat à Docker avec Benjamin Vouillaume : je me demandais si podman permettait un management de containers à distance et l’étendue de son écosystème. Le podcast permet de compléter le tour du propriétaire et de se faire une bonne idée de son positionnement. How to deploy on remote Docker hosts with docker-compose : dans la même quête, je me demandais s’il était possible de piloter un noeud docker à distance quand je me suis rappelé qu’il était possible de le faire au travers d’une connexion ssh. En creusant un peu plus, j’ai découvert la notion de contexte qui permet ainsi de cibler un noeud docker, docker swarm ou kubernetes. Don’t Panic: Kubernetes and Docker et Dockershim Deprecation FAQ : A partir de kubernetes 1.20 (fin 2020) et définitivement à partir de la version 1.23 (fin 2021), le retrait du binaire docker comme CRI de Kubernetes est annoncé. Cela ne devrait pas changer grand chose et c’est essentiellement de la plomberie interne. Plutôt que de passer par Dockershim qui implémentait l’interface CRI et qui discutait ensuite avec Docker pour lancer les conteneurs via containerd, l’appel sera directement fait à containerd. Il n’y a que ceux qui montent la socket docker dans les pods qui vont avoir un souci. Si c’est pour builder des images, il y a des alternatives comme img, kaniko, etc. Pour les autres cas, il faudra peut être passer par l’API kubernetes ou trouver les alternatives qui vont bien. What developers need to know about Docker, Docker Engine, and Kubernetes v1.20 et Mirantis to take over support of Kubernetes dockershim : Mirantis et Docker Inc vont assurer le support de cette interface dockershim pour permettre à ceux qui ont en besoin de pouvoir continuer à l’utliiser. La limite étant que si vous êtes sur du service managé et que votre provider ne le fournit pas, vous ne pourrez pas l’utiliser… Kubernetes 1.20: The Raddest Release : voilà, la version 1.20 est sortie et apporte son lot de nouveautés et de stabilisation. Announcing General Availability of HashiCorp Nomad 1.0 : Nomad 1.0 est également disponible. Introducing Docker Engine 20.10 - Docker Blog : Docker 20.10 arrive avec des profondes nouveautés comme le support des cgroupsv2 et un mode rootless, docker logs fonctionne avec tous les drivers de log et non unqiement json & journald et plein d’autres améliorations/harmonisations au niveau de la CLI. Pour ceux sous Fedora qui avaient bidouillé avec firewalld précédemment pour faire fonctionner docker et qui ont un problème lié à l’interface docker0 au démarrage du service docker, allez voir par ici. Docker Engine Release Notes - Version 20.10 : En plus des points précédents, il y a l’arrivée des jobs dans swarm - depuis le temps que je l’attendais 🤩 (même si on peut se toujours se poser la question de la pérénnité de swarm depuis qu’il a été racheté par Mirantis) New features in Docker 20.10 (Yes, it’s alive) : un billet décrivant plus en détail certaines feautres de docker 20.10 comme support Fedora/CentOS, le rootless mode, l’option -mount, les jpbs swarm et une synthèse de l’actualité de l’écosystème docker. Podman Release 2.2.0 : ajout des commandes network (dis)connect, support des alias avec des noms courts, amélioration des commandes play|generate kube et capacité de monter une image OCI dans un container. Observabilité Vector - Collect, transform, & route all observability data with one simple tool. (via) : vector est un outil en rust qui permet de collecter et manipuler des métriques/logs/événements et de les envoyer vers différentes destinations. De quoi remplacer filebeat/journalbeat voire même telegraf ? ;-) Our new partnership with AWS gives Grafana users more options : AWS vient d’annoncer un service managé pour Prometheus basé sur Cortex et pour Grafana (version Entrepsise). Grafana et Cortex étant des projets édités par Grafana Labs sous licence OSS (et des déclinaisons Cloud et Entreprise). AWS changerait-il sa façon de travailler avec les projets OSS lorsqu’il souhaite en faire des services managés et prendre ainsi une attitude plus positive vis à vis de la communauté OSS ? OSS Death of an Open Source Business Model : Analyse du passage de Mapbox GL JS v2 sous licence propriétaire, le modèle de l’open core et les menaces des top cloud providers sur le reste de l’économie du logiciel. On peut étendre cela aussi “VC funded OSS company”. Système CentOS Project shifts focus to CentOS Stream, CentOS Stream: Building an innovative future for enterprise Linux et la FAQ associée : Historiquement CentOS Linux était batie sur les sources de Red Hat Entreprise Linux un fois celle-ci disponible. CentOS Stream renverse un peu la tendance avec un cycle d’intégration plutôt Fedora -> CentOS Stream -> RHEL. L’initiative CentOS Stream avait été annoncée en septembre 2019 et ce changement permet donc aux équipes CentOS de se focoaliser sur une seule version (CentOS Stream) et non plus deux versions (CentOS Stream et CentOS Linux). CentOS Linux 7 sera maintenue jusqu’à la fin du support de RHEL 7 et et CentOS 8 jusqu’à fin 2021 (et non pas 2029 comme prévu). Il n’y aura pas de version 9 de CentOS Linux. A tester pour voir si CentOS Stream est plus stable que Fedora mais moins conservateur que RHEL et pourrait alors s’avérer être un bon compromis. Before You Get Mad About The CentOS Stream Change, Think About… : un billet assez long d’un employé de Red Hat qui exprime son opinion et cherche à remettre les choses en perspective en dépassionnant le débat. Time Series PTSM Edition #8 - Amazon TimeStream 101 : Edition du Paris time Series Meetup sur AWS Timestream TimescaleDB vs. Amazon Timestream: 6000x higher inserts, 5-175x faster queries, 150x-220x cheaper : avec toutes les réserves habitudelles sur les benchmarks, Timescale a comparé son produit avec AWS Timestream et la conclusion semble clairement en faveur de Timescaledb. A noter que l’update des données est arrivé dans AWS Timestream entre temps. Truly Dynamic Dashboards as Code : les équipes de SenX ont implémenté leur vision du “Dashboards as Code” sous le nom Discovery. Discovery veut aller plus loin que la simple description d’un dashboard comme on peut le voir dans Grafana ou InfluxDB 2.0 en apportant une touche de dynamisme et de génération dynamique des dashboards en fonction des élements obtenus (ex si valeur X > Y alors afficher la procédure AAA de résolution d’incident). J’ai commencé à jouer avec, un billet de blog sur ce sujet devrait bientôt arriver. NeuralProphet : un modèle neuronal orienté série temporelles, inspiré de Facebook Prophet et développé avce PyTorch. Release Notes InfluxDB 2.0.3 et Release Announcement: InfluxDB OSS 2.0.3 : build arm64 en preview, un petit conflit de packaging entre influxdb et influxdb2 à passer pour ceux qui étaient déjà en 2.0 et ceci afin d’éviter que des gens en 1.x passent involontairement en 2.x, le “delete with predicate” a été réactivé, améliorations sur le process d’upgrade, des commandes autour des actions en mode V1, mise à jour de flux, et plein d’autres corrections/améliorations. Web Web Almanac 2020 - Rapport annuel de HTTP Archive sur l’état du Web : une synthèse de l’état du web d’après HTTP Archive sur une base de 7.5 millions de sites testés, soit 31.3 To de données traitées. De quoi relativisez un peu les biais de notre bulle technologique : non tout le monde ne fait pas du React/Angular/Vue.js par ex mais plutôt du JQuery ! Suivant vos usages, plein d’enseignements et de choses intéressantes à tirer de cette synthèse. Il ne me reste plus qu’à vous souhaiter de bonnes fêtes de fin d’année et on se retrouve l’année prochaine !

docker runc rootless swarm cgroups kubernetes cri dockershim vector aws timestream warp10 dashboard ptsm timescale centos rhel podman influxdb timeseries
08/12/2020

Docker et déploiement distant : tout est histoire de contexte

Kubernetes, c’est bien mais parfois on veut faire des choses plus simples et on n’a pas forcément besoin d’avoir un système distribué ou d’une forte disponibilité. Pour autant, il est agréable avec kubernetes de pouvoir interagit à distance avec l’API au travers de kubectl. Je me suis donc mis en quête d’une alternative. Partir sur k3s avec un déploiement mono-node ? Partir sur docker/docker-compose/docker-swarm ? Je me souvenais que l’on pouvait exposer la socket docker sur le réseau en TCP et authentification par certificat mais cela ne me plaisait pas beaucoup. Je me suis alors rappelé que l’on pouvait interagir avec un hote docker via une connection ssh. En continuant à creuser, je suis tomber sur les contextes dans Docker et ce billet How to deploy on remote Docker hosts with docker-compose. Et là : 🤩

docker context ssh gitlab gitlab-ci

Besoin d'un C(P)TO / Architecte « hands-on » ?

On orchestre, on conçoit — et on code aussi. Parlons de votre plateforme, vos données ou votre projet IoT.

Contactez-nous