Elasticsearch

25/03/2026

Web, Ops, IoT et Time Series - Mars 2026

Code How to Use Overloaded Signatures in Python? : j’ai découvert @overload lors de ma PR sur Streaq pour régler le cas où une fonction avait des arguments et des retours différents en fonction des arguments passés. @overload permet alors de décrire les différentes signatures de fonction. Evolving the Node.js Release Schedule : Pour ceux qui sont sur les LTS, pas de changements, hormis que les nombres impairs seront aussi des LTS 😉 Astral to join OpenAI - Thoughts on OpenAI acquiring Astral and uv/ruff/ty - Astral rejoint OpenAI et je suis assez mitigé sur cette annonce et Simon Willison en fait une très bonne analyse. Les deux communiqués ne sont pas complètement alignés sur la pérénité des projets OSS, je suis aussi sceptique sur la capacité d’OpenAI à gérer des projets OSS. Cela donne plus l’impression qu’OpenAI a voulu mettre la main sur les personnes de chez Astral plutôt que sur les produits (Codex est a priori en rust). C’est assez différent de l’acquisition de Bun par Anthropic ou l’investissement d’Anthropic pour la sécurité de Python dans le but de soutenir un écosystème dont ils dépendent. A suivre et à voir comment les choses vont évoluer. Au moins la licence permissive des projets ruff/uv/ty pourra permettre l’émergence d’un fork le cas échéant. Le seul point positif, c’est que finalement les VC peuvent se lancer dans des startups de tooling, il y a des sorties possibles 😉 Database I Replaced Redis with PostgreSQL (And It’s Faster) : alors ce n’est pas toujours plus rapide, mais ça peut vous permettre une certaine simplification de votre stack technique. Just Use Postgres for Everything - It’s 2026, Just Use Postgres | Tiger Data : dans la veine de l’article précédent, une généralisation de l’utilisation de Postgres pour remplacer Redis, Elasticsearch, MongoDB, Pinecone, InfluxDB, etc. Géopolitique La guerre avec l’Iran aura-t-elle un impact sur les investissements dans la tech ? - AMI Labs, l’Europe est-elle enfin dans la course mondiale ? : au-delà des impacts du pétrole (qui vont être nombreux et aller bien au delà du simple prix du baril), en bombardant des datacenters Amazon au Moyen Orient, l’Iran aurait-elle sérieusement impacté les projets des CSP américains au Moyen Orient ? On pourrait penser que ces zones sont marginales mais le Moyen Orient serait une zone de choix pour déployer des datacenters, mais avec 3 démolitions, cela ne serait plus possible d’en construire de nouveaux (primes d’assurances, etc). De même, les financements en provenance du Moyen Orient ne vont-ils pas se tarir du fait de la nécessité des répérations ou de devoir financer d’autres choses ? IA La volte-face de Nvidia sur l’inférence : c’était assez logique avec la “collaboration” avec Groq, Nvidia se diversifie et lance une première puce dédiée à l’inférence. A 20 ou 60 ans, ce que l’IA change dans la création d’entreprise. : Retour d’expérience de Pierre Gaubil, serial entrepreneur, sur les apports de l’IA pour développer une startup. Je ne peux que recommander aussi la lecture de son livre startup unlocked data.gouv.fr MCP Server : Data.gouv.fr lance l’expérimentation de son MCP et vous permet ainsi de requêter l’ensemble des données publiées en Open Data. llmfit : si vous vous demandez quels LLM peuvent tourner en local en fonction de vos contraintes matérielles, llmfit peut vous y aider. Claude Code Guide : guide thématique sur Claude Code, mis à jour au fur et à mesure des nouveautés de Claude Code. Why Garry Tan’s Claude Code setup has gotten so much love, and hate : Garry Tan (YC, etc) est prolifique sur son framework IA appelé gtsack et de part son statut cristalise beaucoup d’attention et toutes les critiques de ses fans ou de ses détracteurs. Un bonne photo de l’ambiance du moment sur l’adoption de l’IA. Garry Tan / Echelle d’adoption de l’IA : IDE Era > Agent first > Orchestration - L5 validé et en train de regarder pour L6. Et vous ? Tooling Dotenv Mask Editor - Fini les clés API à l’air libre : envie de cacher vos variables d’environnement sous VSCode ? dotenv-mask-editor est fait pour vous. Rolling back a brew formula : si vous avez besoin d’installer une vieille version d’une formule brew, la procédure fonctionne. Web µJS : µJS est une bibliothèque JavaScript open source (licence MIT) qui permet de rendre un site web dynamique sans recourir à un framework frontend lourd. Elle s’inspire de pjax, Turbo et HTMX, avec pour objectif d’être plus simple et plus légère. µCSS : Par le même auteur, le framework CSS minimaliste également.

python nodejs astral ruff ty uv nvidia groq postgres redis elasticsearch influxdb llmfit claude startup mcp data.gouv.fr vscode homebrew
25/09/2024

Web, Ops, IoT et Time Series - Septembre 2024

Cloud Amazon S3 now supports conditional writes : Amazon S3 supporte les écritures conditionnelles (avec des conditions comme “si le fichier existe”, etc), ce qui peut supprimer une partie de votre code. Un exemple d’usage de ces écritures conditionnelles avec le billet Leader Election With S3 Conditional Writes qui montre comment gérer basiquement l’élection d’un leader dans un système distribué en se basant sur cette fonctionnalité. How to delete a versioned bucket in AWS S3 using the CLI? : Parce que pour supprimer un bucket avec versionning, il faut supprimer les fichiers, les versions du fichiers et les fichiers marqués comme effacés… Database Elasticsearch is Open Source, Again : Elasticsearch et Kibana se voient ajouter une licence AGPL en plus des licences (restrictives) existantes pour revenir dans le monde de l’OSS. La vision positive est de dire que c’est le témoin de la fin d’une époque et que les relations entre les communautés OSS et les CSP américains se sont civilisées. Une vision plus critique consiste à dire qu’il y a toujours les anciennes licences et que le retour à l’OSS est peut être plus symbolique d’autre chose du fait de l’empilement de licences. A voir comment cela évolue mais l’épisode Redis du printemps nuance le sujet… Valkey 8.0: Delivering Enhanced Performance and Reliability - Generally Available: Valkey 8.0.0 Valkey, le fork de Redis 7.2 sous l’égide de la Linux Foundation, a sorti sa version 8.0RC1 en aout et la version finale en septembre - Un point important est la sortie du “single thread model” qui pouvait devenir bloquant pour la scalabilité à force. Pas mal d’autres travaux sur les parties performance / réplication / résilience / observabilité. A ne pas confondre avec Redis 8 DuckDB, in-memory, mais pas totalement ! : En fonction de la taille de votre dataset, DuckDB peut être amené à créer (beaucoup) de fichiers temporaires. Utiliser le format interne de DuckDB semble être une bonne option pour éviter de créer ces fichiers temporaires et ne générer que les fichiers parquets ou autre qu’à la fin du process. Announcing DuckDB 1.1.0 : Version 1.1 de DuckDB Search on PostgreSQL, Building Extensions, and pg_analytics with Philippe Noël : Interview du fondateur de ParadeDB qui fait pg_lakehouse, pg_analytics et pg_search avec un retour sur les extensions Postgres. Middleware Kestra Secures $8 Million to Simplify and Unify Orchestration for All Engineers - How Kestra Raised $8M: Our Seed Deck, Now Public - Lessons Learned from Turning an Open-Source Project into a Viable Business: Kestra fait une seconde levée de fonds de 8M$ pour pousser plus loin son orchestrateur. Si vous avez des besoins d’orchestration, la solution est vraiment agréable à utiliser et l’équipe est top. Ils profitent de l’occasion pour partager différentes ressources et considération sur le projet et leur levée de fonds. Episode 205 : Kestra avec Ludovic Dehon : ma piste audio est partie dans les limbes mais il n’en reste pas moins que cette épisode vous permet d’avoir une présentation de Kestra, sa génèse, leurs choix et le futur. Python Farewell pandas, and thanks for all the fish. : DuckDB devient le backend par défaut du projet Ibis en lieu et place de Pandas. Le billet explique les raisons (NaN vs NULL, performances, etc) Rendez-vous à la fin du mois prochain pour une nouvelle édition.

valkey redis elasticsearch s3 postgres duckdb ibis pandas kestra
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
29/05/2019

Web, Ops & Data - Mai 2019

Cloud Announcement: Amazon S3 will no longer support path-style API requests starting September 30th, 2020 : Pour le stockage S3, AWS ne supportera plus le mode //s3.amazonaws.com/<bucketname>/key mais seulement le mode //<bucketname>.s3.amazonaws.com/key Container et Orchestration Rook v1.0 — A Major Milestone : Rook atteint le stade de la version 1.0 avec une amélioration de l’opérateur Ceph (simplification de la configuration, gestion des mises à jour, prise en charge des dernières versions de Ceph, etc), le driver Ceph CSI passe en bêta, le support d’EdgeFS passe en bêta également, l’opérateur NFS supporte l’approvisionnement dynamique et l’opérateur Minio a reçu également des améliorations. KubeDB 0.12 : cette version apporte principalement le support du sharding MongoDB et du Clustering MySQL et divers correctifs pour les autres “backends”. Announcing NGINX Ingress Controller for Kubernetes Release 1.5.0 : nouvelle version de l’ingress nginx avec une nouvelle configuration, des métriques (via prometheus), simplification de la gestion des certificats, etc. Grafana v6.2 Stable Release! : améliorations de sécurité sur le chiffrement des données des datasources, une nouvelle gauge et pleins d’autres améliorations. OpenEBS Project Update and whats coming in v1.0 : la solution de stockage sous kubernetes vient de sortir en version 0.9 et de rejoindre la CNCF. C’est l’occasion de faire un point sur le projet et la route vers la version 1.0 (Big) Data Kafka : Migrer un consommateur vers Streams et Connect : retour d’expérience intéressant sur la migration d’une intégration Kafka basée sur les producteurs/consommateurs vers une approche basée sur Kafka Connect et Kafka Streams. Security for Elasticsearch is now free : ces fonctionnalités, prélablement disponibles uniquement dans la version commerciale, font partie de la version gratuite : chiffrement des flux via TLS, authentification et gestion des rôles. IAC Ansible 2.8 : de nombreuses améliorations au rendez-vous, la liste est très longue. Pour ma part, je note l’arrivée du support de “docker stack” pour gérer des déploiements sur un cluster docker swarm. IDE Remote Python Development in Visual Studio Code & VS Code Remote Development : Lors de PyCon 2019, Microsoft a annoncé la sortie de plusieurs extensions qui permettent d’améliorer l’expérience utilisateur du développeur python via des “remote containers”, du “remote ssh” ou du “remote WSL”. Sécurité The inception bar: a new phishing method : sur mobile, dès lors que l’utilisateur fait défiler sa page, la barre de navigation va disparaitre et du coup il est possible d’injecter une fausse barre de navigation et faire croire à l’utilisateur qu’il est sur un autre site. Time series Zabbix, Time Series Data and TimescaleDB : le billet explique en quoi Zabbix doit faire face à l’enjeu des séries temporelles dans le cadre d’une solution de monitoring. Comme ils veulent avoir une technologie leur permettant d’utiliser SQL, ils ont fait le choix de TimescaleDB. Le point intéressant est en fin d’article lorsque les performances de Postgres 10 et TimescaleDB sont comparées.

kafka sécurité s3 aws vscode openebs rook kubedb nginx ingress grafana elasticsearch ansible timeseries timescaledb
27/03/2019

Web, Ops & Data - Mars 2019

CI/CD Introducing the Continuous Delivery Foundation, the new home for Tekton, Jenkins, Jenkins X and Spinnaker : Google, Gitlab, CloudBees et bien d’autres acteurs du monde de la CI/CD lancent la fondation “Countinuous Delivery”. Au delà des projets qui y seront hébergés (en commençant par Jenkins, Jenkins X, Tekton et Spinnaker), la fondation a pour but de prendre en charge l’ensemble du cycle de développement/déploiement d’une application et surtout de favoriser les bonnes pratiques associées. La fondation fera son premier “CDF Summit” la veille de KubeCon Barcelone (où j’aurais le plaisir de me rendre). Cloud / Scaleway Nouvelles instances General Purpose avec des processeurs haut de gamme : Scaleway renouvelle son offre de machines dédiées avec des machines allant jusqu’à 48 coeurs et 256Go de RAM. Introducing GPU Instances: Using Deep Learning to Obtain Frontal Rendering of Facial Images : Scaleway étoffe son offre cloud avec des instances GPU - le billet présente comment faire de la reconnaissance d’images. Object Storage in General Availability : Scaleway a annoncé également plus tôt dans le mois la disponibilité de son service de stockage object compatible avec l’API d’AWS S3. Cloud vs OSS Nous en avons beaucoup parlé dans l’épisode 69 de BigData Hebdo - je mets juste les liens et vous renvoie à notre discussion sur le sujet.

continous-delivery continous integration cloud opensource* scaleway gpu aws redis elasticsearch grafana kubernetes traefik k3s k3d k9s
27/06/2018

Web, Ops & Data - Juin 2018

Big Data, Machine Learning & co Level Up Your KSQL : Confluent met à disposition une série de vidéos pour la prise en main de KSQL. Rounding Up Kafka Summit London 2018 : Confluent a égalemient mis à disposition les vidéos du dernier Kafka Summit à Londres. Introducing Confluent Hub : Confluent lance une plateforme communautaire autour de Kafka Connect. Cloud Amazon EKS – Now Generally Available : l’offre managée Kubernetes d’AWS sort en version stable. Azure Kubernetes Service (AKS) GA – New regions, more features, increased productivity : Pas de jaloux - Azure est aussi prêt pour son offre managée kubernetes. Announcing Terraform Support for Kubernetes Service on AWS : Hashicorp profite de l’annonce d’AWS pour annoncer également que Terraform permet de provisionner un cluster EKS. GKE vs AKS vs EKS – Hasura : comparatif synthétique des solutions managées kubernetes de Google, Azure et AWS. Container & Orchestration Making Compose Easier to Use with Application Packages : Docker Inc. sort un nouveau produit appelé “docker-app”. Il se veut comme une surcouche à docker-compose en permettant d’injecter des variables dans vos fichiers docker-compose.yml. Ainsi, vous n’auriez plus qu’un seul fichier docker-compose avec ses variables et les valeurs de ses variables dans des fichiers additionnels. Lors de l’exécution du container, docker-app réconcilie les deux et lance le conteneur avec les bonnes valeurs. Docker Swarm et Kubernetes seraient supportés si l’on en croit les exemples. Rigolo, sur le principe, c’est exactement ce que je fais pour une mission actuellement… Découverte de Buildkit : dans le cadre du découpage de Docker en programme modulaire indépendant, Moby avait lancé Buildkit. Il s’agit du builder d’images. L’article présente son fonctionnement et son architecture. HashiCorp Consul 1.2: Service Mesh : Hashicorp sort en beta son offre de service mesh basé sur Consul. Après le “Service Discovery” et le “Service Configuration”, voilà le Service Mesh. A voir dans la vraie vie mais on retrouve apparemment pas mal de fonctionnalités disponibles dans Istio. (No)SQL Vitess : J’en avais entendu parler, j’ai profité d’un épisode de Software Engineering Daily pour en savoir un petit peu plus : Je ne suis pas encore au bout du podcast mais cela semble être une couche entre l’application et la DB - elle analyse la requête et la distribue ensuite au sein du cluster. Vitess permettrait notamment que le développeur n’ait pas à connaitre la logique de clustering/sharding des données. L’overhead n’a pas encore été mentionné. Redis 5.0 RC1 : la version 5.0 de Redis pointe le bout de son nez avec notamment le type de donnée Stream - cf Introduction to redis streams Streaming Data out of the Monolith: Building a Highly Reliable CDC Stack : un CDC, Change Data Capture, est un système qui capture les changements de données (INSERT, UPDATE, DELETE) d’une source de données. BlaBlaCar explique ici comment ils ont mis en place leur CDC sur la base de Debezium et Kafka. Un des défis à relever étant la gestion de la déduplication des données. Elasticsearch 6.3.0 Released : plein de nouveautés mais la plus symoblique étant un début de support d’un requêtage SQL dans Elasticsearch. Sécurité Attacking Private Networks from the Internet with DNS Rebinding : TL;DR Following the wrong link could allow remote attackers to control your WiFi router, Google Home, Roku, Sonos speakers, home thermostats and more. il est donc possible d’abuser un navigateur via un DNS malicieux et donc être en mesure de scanner le réseau local de la personne abusée. Il faut donc considérer le réseau local comme une zone hostile et y appliquer les bonnes pratiques habituelles (authentification, urls en https, etc) Timeseries Les capacités d’alerting de Kapacitor : un billet sur l’utilisation de kapacitor pour générer des alertes. J’aurais bien aimé pouvoir l’avoir écrit… “Metrics First” Approach to Log Analysis : avec la version 1.7 de Telegraf (l’agent de collecte), un nouveau plugin syslog permet d’exposer les logs sous la forme d’événements. Et avec Chonograf 1.5, il est possible de voir ses données sous un format tabulaire. Pour autant, TICK n’a pas vocation à devenir une centrale de logs (à la ELK & co). Astuce(s) du mois Faîtes-vous plaisir et écouter le podcast Artisan Développeur - dans des formats de 10mn environ, un sujet autour de l’agilité, des tests, du TDD, de la responsabilité des développeurs, de SaFE, et de tout ce qui fait partie de notre quotidien de développeurs sont abordés. Depuis quelques épisodes, cela se fait en duo avec d’autres personnes (comme JP Lambert) ce qui rend les échanges encore plus intéressants. Vous retrouvez le podcast sur Soundcloud, Pocketcasts, etc.

mysql redis kubernetes aws terraform cdc debezium kafka azure elasticsearch ksql kapacitor docker docker compose docker-app buildkit hashicorp consul service-mesh istio
20/12/2017

Web, Ops & Data - Décembre 2017

Accessibilité L’accessibilité n’est pas un luxe : un bon billet de rappel sur la nécessité et la relative facilité d’appliquer les bonnes pratiques d’accessibilité, y compris en utilisant les derniers frameworks à la mode. Automatisation Ansible - Defining Variables As Dictionaries : la documentation d’Ansible donne plusieurs moyens d’utiliser des boucles (loops) au travers de listes, tableaux mais pas de dictionnaires. C’est chose fait et la solution est assez séduisante. SPINNAKER: Cloud Native Continuous Delivery Pipeline : présentation de l’outil Spinnaker, initié par Netflix et développé en partenariat avec AWS/Azure/GCP. Spinnaker se concentre sur le déploiement d’applications et supporte le multi-cloud. AWS:ReInvent 2017 Introducing AWS Fargate – Run Containers without Managing Infrastructure : On en a tous rêvé, pouvoir déployer des conteneurs sans avoir à s’occuper de l’infrastructure sous-jacente. Intéressant ! Amazon Elastic Container Service for Kubernetes : L’offre managée de cluster Kubernetes arrive enfin! In The Works – Amazon Aurora Serverless : dans la logique de séparer les capacités de stockage et de processing (un peu comme bigquery l’a fait), Amazon commence à introduire cela au niveau des bases de données avec Aurora. On aurait d’un coté le stockage et de l’autre le processing via du serverless. L’existence réelle du service est prévue pour début 2018. A suivre ! S3 Select and Glacier Select – Retrieving Subsets of Objects : En gros, une interface SQL au dessus de S3 qui permet de récupérer plus facilement les fichiers dont on a besoin. Amazon MQ – Managed Message Broker Service for ActiveMQ : tout est dans le titre, https://www.cerenit.fr/admin/pages/blog/web-ops-and-data-decembre-2017#une version d’ActiveMQ managée Introducing AWS AppSync – Build data-driven apps with real-time and off-line capabilities : AWS entre dans le monde de GraphQL en proposant sa version managée. L’équipe GraphQL en parle ici. AWS RE:invent 2017 : les annonces de la première Keynote ! : Une vue plus complète des annonces de la 1ère Keynote. AWS RE:invent 2017 : les annonces de la deuxième Keynote ! : Une vue plus complète des annonces de la 2nde Keynote. L’AWS RE:invent 2017 en 20 annonces ! ; s’il ne fallait retenir que 20 (!!) annonces de cette édition 2017 de RE:Invent. Cloud EC2Instances.info Easy Amazon EC2 Instance Comparison (code source : un site permettant de comparer (plus) facilement les types d’instances EC2 chez AWS. AWS GDPR Center : AWS met à disposition des ressources pour voir comment ils répondent aux objectifs de la GDPR qui s’applique à compter de Mai prochain et en quoi les plateformes cloud contribuent ou pas à ces efforts. Google Cloud a aussi son centre, tout comme Azure. Servers.LOL : devriez-vous instancier une vm EC2 ou bien utiliser AWS Lambda ? Ce petit configurateur vous aide à prendre la “bonne” décision. Elasticsearch Elastic Stack 6.0 Upgrade Guide : un petit assistant mis à disposition par Elastic pour vous accompagner dans la migration vers Elastic 6.0 pour l’ensemble des composants. Docker Performance Monitoring with Metricbeat and ELK Stack : Tutoriel indiquant comment remonter des métriques Docker (container, réseau, healthcheck, etc) via Metricbeat et leur ingestion dans Elasticsearch puis visualisation dans Kibana. Elastic Stack 6.1.0 Released : le module d’APM a sa propre UI, Beats apprend à faire de l’autodiscovery sur docker en plus de voir la liste de modules s’enrichir, Kibana améliore toujours sa visualisation, etc. Kafka Introducing Confluent Platform 4.0 : nouvelle version majeure de cette plateforme autour de Kafka 1.0 et la consolidation des autres outils autour (Control Center, Kafka Streams, Connecteurs Kafka, etc) Enabling Exactly-Once in Kafka Streams : le billet présente comment se gère le “exactly once message” dans un contexte Kafka Streams. Kafkapocalypse: Monitoring Kafka Without Losing Your Mind : l’équipe de New Relic a transcrit un talk réalisé lors d’une conférence sur un incident majeur qu’ils ont eu avec Kafka et les points de vigilance qu’ils ont développé pour monitorer au mieux leur infrastructure kafka. Ils surveillent les notions de rétention (temps ET espace), la réplication et le retard des consommateurs (“consumer lag”). Si Kafka est une solution très intéressante, son monitoring reste une bête noire pour moi. La nécessité de passer par Confluent Platform et son Control Center semble être une nécessité pour le faire dans de bonnes conditions (ou de devoir monter ses propres dashboards). (No)SQL PostgreSQL et le partitionnement : Point sur le fonctionnement du partitionnement d’une table Postgres et des avancées dans la version 10. Serverless Serverless frameworks and containers : Je connaissais OpenFaas et OpenWhisk de nom mais pas Fn. Il y a aussi Iron en open source. TICK Release Announcement: Telegraf 1.5.0 : 15 nouveaux plugins font leur apparition dans cette nouvelle version de Telegraf. Il ne me reste plus qu’à vous souhaiter de bonnes fêtes de fin d’année et à vous retrouver l’année prochaine pour de nouvelles aventures.

accessibilité ansible spinnaker aws reinvent lambda serverless kubernetes s3 glacier sql ec2 gdpr kafka elasticsearch confluent postgres telegraf
29/11/2017

Web, Ops & Data - Novembre 2017

Big Data Compte rendu du Spark Summit 2017 (Dublin) : La conférence européenne annulle de l’éditeur de Spark, Databricks, a cherché à montrer que le Streaming et le Deep Learning sont/seront bientôt plus accessibles via Spark et également la plateforme cloud DataBricks. Dataviz Grafana 4.6 Released : Nouvelle version de l’outil de visualisation des bases de données time series mais pas uniquement avec l’ajout de la source Postgres, du support de l’alerting pour Amazon Cloudwatch, des annotations simplifiées sur les graphs et autres améliorations sur la base prometheus. Wizzy : il s’agit d’un ensemble de script pour versionner et se simplifier la gestion de ses dashboards réalisés sous Grafana. Pas encore testé, sous peu ! Cloud Bootstrapping a Cloud with Cloud-Init and HypriotOS : j’avais croisé Cloud-Init dans Rancher OS mais n’avais pas eu le temps d’investiguer le sujet. Récemment, un podcast avec son créateur m’a permis d’en savoir plus sur le projet, à savoir que c’est un ensemble de script python qui permettent de configurer une machine lors de son initialisation (boot). Cet article permet du coup d’en avoir un exemple pratique par la configuration d’une image pour un Raspberry Pi 3 installant automatiquement le logiciel NextCloud sous la forme d’un container Docker. Elasticsearch An Ansible role to Manage your Elasticsearch Clusters : Synthesio publie son playbook ansible pour gérer des clusters Elasticsearch ; vu les clusters gérés, il y a surement de bonnes choses à récupérer - la limite étant peut être que pour un cluster de débutant, cela pourrait être trop complexe au regard du besoin. A évaluer suivant votre contexte. Operating Large Elasticsearch Clusters : un retour d’expérience de l’équipe Synthesio sur la bonne gestion de leurs clusters ElasticSearch lors des Sysadmindays il y a peu. La Stack ELK passe en 6.0 : Elasticsearch 6.0.0 GA released : mise à jour sans downtime, index filtré, meilleures performances, meilleure résilience et meilleure sécurité (mot de passe, usage de TLS). Logstash 6.0.0 GA released : il est désormais possible d’avoir des pipelines dont l’exécution se fait en parallèle et via X-Pack, il y a maintenant une UI pour piloter vos pipelines. Kibana 6.0.0 GA released : Plein d’améliorations au programme : Export CSV, Amélioration de l’UI, Mode lecture seule pour pouvoir partager des dashboards et d’autres nouveautés spécifiques à X-Pack. Beats 6.0.0 GA released : capture des données Docker/Kubernetes, auditbeat pour captuer les données d’auditd, une meilleure gestion des modules et de leur configuration, amélioration de performance et du stockage des données. Devez-vous migrer vers Elasticsearch 6 : l’équipe Jolicode passe en revue les avancées de la version 6 et globalement conseille de passer vers cette version 6. GraphQL Modernisez vos API, passez à GraphQL ! (slides et vidéo) : Une introduction à GraphQL présentée à Codeurs en Seine 2017. Je reste toujours sceptique sur GraphQL, si coté client cela semble magique, personne ne montre la partie backend pour que la “magie” opère. The GraphQL stack: How everything fits together : état des lieux suite à GraphQL Summit 2017 sur les parties cache, tracing (suivi d’une requête de bout en bout du système) et composabilité d’API (une requête GraphQL qui intérogge plusieurs API au lieu d’une). Kafka Apache Kafka Goes 1.0 : cette version 1.0 représente plutôt la complétude à l’égard d’une vision de ce que devait être Kafka que de sa stabilité ou de sa capacité à être utilisé en production. Le billet énoncce les derniers apports mais reviens surtout sur tout cette génése et la vision associée au produit. (No)SQL Memento PostgreSQL 10 : un petit memento pour Postgres 10 - toujours utile à avoir sous la main ! Time Series InfluxDB 1.4 Now Available: InfluxQL Enhancements, Prometheus Read/Write, Better Compaction and a lot more! : au programme de cette version des améliorations sur InfluxQL avec des commandes permettant de mieux connaitre les performances des requêtes (EXPLAIN & SHOW CARDINALITY), le support des endpoints prometheus en lecture/ecriture, des améliorations sur la compaction ainsi que le serveur http et le client (gestion des connexions). D’autres fonctionnalités plus expérimentales sont aussi disponibles. Announcing IFQL – A New Query Language and Engine for InfluxDB : parmi les nouvelles fonctionnalités expérimentales de InfluxDB 1.4, il y a IFQL, le nouveau langage de requêtage d’InfluxDB. La syntaxe s’apparente à celle de Javascript avec l’usage de fonctions et la possiblité d’enchainer des fonctions. select(db:"foo") .where(exp:{"_measurement"=="cpu" AND "_field"=="usage_system" AND "service"=="app-server"}) .range(start:-12h) .window(every:10m) .max() Announcing Prometheus 2.0 : Nouvelle version de la base de données orientées time series hébergée par la CNCF et qui a le vent en poupe. Cette version apporte notamment des améliorations en termes de performances (usage CPU, stockage, usage IO) TICK-Tac - Il est l’heure de collecter et exploiter vos données temporelles : les slides de mon talk à la conférence Codeurs en Seine 2017 sur les bases de données temporelles sur la base de la plateforme TICK (Telegraf, InfluxDB, Chrongraf, Kapacitor) et Grafana. En prime, la vidéo

spark grafana tick cloud-init elasticsearch elk graphql kafka postgres influxdb prometheus codeurs en seine
25/10/2017

Web, Ops & Data - Octobre 2017

Agile Isolation Continue : choisir librement l’ordre des mises en production : récit de la migration du modèle Gitflow vers un modèle où chaque fonctionnalité est isolée dans une branche dédiée et peut être réintégrée dans la branche de production aisément et rapidement. A contrario de Gitflow où la livraison contient un ensemble de fonctionnalités, là il est possible de moduler les fonctionnalités à déployer en fonction de son avancement et des besoins de déploiement. Cela n’empêche pas de tester ses branches et de déceler les bugs, voir même leur découverte a été accélérée. Big Data Genesis of M6’s Datalake : un retour d’expérience de l’équipe de M6 depuis leur usage d’une Data Management Platform d’un éditeur vers leur propre solution Hadoop avec le choix des composants et de l’infrastructure. Container et Orchestration DockerCon Europe 2017 Highlights : Docker Entreprise va bientôt supporter nativement Kubernetes (en plus de Swarm), Docker for Mac et Windows vont également inclure Kubernetes (via le projet minikube). Compte-rendu DockerCon EU 2017 : un compte-rendu plus détaillé de la DockerCon par les gens de WeScale. Traefik 1.4 — Roquefort Is Here, And It’s Huge! : Custom & Security Headers, multi-architecture (arm, etc), amélioration de l’authentification, support du proxy protocol et gestion des pages d’erreurs sont notamment au programme. Il est bon de voir ce produit s’améliorer de version en version, en attendant de voir ce que donnera Sozu. Elasticsearch 5 Filebeat Pitfalls To Be Aware Of : la sensibilité de yaml, le registre, le renommage/la suppressio n de fichiers de log, le multi-pipelines et l’usage CPU dans certains cas. Au passage, des recommandations d’options sur ces différents points. Elastic APM enters alpha : Annoncé précédemment, Elastic commence à montrer son programme d’APM (Application Performance Management) avec une version alpha. Il ne permet de monitorer que des projets python ou node.js pour le moment. Il est fourni avec une première intégration dans Kibana. Ce produit est intégré dans la version 6.0.0 rc1 Licences & Open Source Facebook grants full patent rights to all GraphQL users : après le débat le mois dernier sur la/les licences de ReactJS & co, Facebook a mis la spécification de GraphQL sous une licence libre (Open Web Foundation Agreement) et les implémentations Graphql.js et Relay sous licence MIT. Cela pourrait accéler le développement de l’écosystème GraphQL maintenant que les restrictions/doutes sont levés. Mobile React Native et CodePush : déployer sans compter : présentation de l’outil CodePush qui permet de mettre à jour son application mobile (basée sur React Native ou Cordova) sans repasser par les store pour un certain nombre de cas. Voir les limitations en fin d’article. (No)SQL Scaling the GitLab database : retour d’expérience de l’équipe de gitlab pour faire scaler la base de données du service gitlab.com. A la fin, pgpool et le hot standby ont été écartés, tout comme le sharding au profit de pgbouncer. Comme ils s’imposent d’intégrer les solutions qu’ils utilisent dans le produit (principe du eat your own food), cette solution permet d’avoir la haute disponibilité dans Gitlab Entreprise.

docker elasticsearch traefik mobile postgres scale big data agile licence apm
27/09/2017

Web, Ops & Data - Septembre 2017

Architecture Découplage, découplage, découplage ! : revue de 3 méthodes de découplage (format, localisation, temporalité) pour vos programmes avec forces et faiblesses de chacun. CLI Use .bashrc.d directory instead of bloated .bashrc : Une bonne astuce pour gérer tout ce que l’on veut mettre dans .bashrc sans que cela devienne une pagaille monstre : mettre tout dans un dossier et “sourcer” l’ensemble des fichiers s’y trouvant. Du coup, ça peut se versionner plus facilement/atomiquement ;-) Cloud AWS – Séparer la production du développement : article sur le séparation et la gestion des accès à une équipe de développement au sein d’AWS. AWS – Pourquoi devez-vous créer un VPC ? : retour sur ce qu’est un réseau privé virtuel chez AWS et comment il fonctionne / ce qu’il contient. Je ne connaissais pas l’option HA, intéressante, même si potentiellement chère. Saga de l’été : E01 Construction d’une infrastructure multi-cloud, Saga de l’été : E02 Découverte de service et répartition de charge multi-cloud et Saga de l’été : E03 Mon orchestrateur de conteneurs multi-cloud : un retour complet et intéressant sur l’implémentation d’une infrastructure multi-cloud (AWS, GCP) au travers des outils hashicorp avec Terraform, Nomad et Consul. Les architectures Serverless : une présentation assez complète des architectures serverless (FaaS, BaaS), leurs avantages/inconvénients, leurs objectifs/intérêts, etc et en quoi ces architectures diffèrent du IaaS, PaaS, SaaS, Container, etc. Dashboard Graphana 4.5 Released : des améliorations concernant surtout Elasticseach, Prometheus, MySQL, la capacité de rendre des valeurs cliquables pour investiguer une donnée, ainsi qu’un inspecteur de requêtes. Docker Preview: Linux Containers on Windows : annoncés à la DockerCon en Mai/Juin dernier, cela va arriver avec la version 17.09 de Docker : le support des conteneurs Linux depuis un hôte Windows. Jusqu’à présent, un hôte Windows ne pouvait faire tourner que des conteneurs Windows. A priori, on peut maintenant faire les 2 simultanément. Docker Official Images are now Multi-platform : enfin ! Plus besoin de construire des images spécifiques pour ARM vs 64 bits, les images officielles de Docker savent le gérer nativement et de façon transparente. Avoir le même Dockerfile que l’on soit sur un serveur 64 bits ou un raspberry, cela va faciliter les chaines de développement et déploiement. DockerHub Official Images Go Multi-platform! : un retour plus complet sur la gestion du passage au multi-platform des images Docker. Documentation Hi, my name is README! - WriteTheDocs 2017 : bonnes (et mauvaises) pratiques sur la rédaction du fichier README qui est le point d’entrée sur votre projet. Elastiscearch A Full Stack in One Command : Elastic, pour appréhender les capacités de la stack Elastic, propose de mettre à dispositon des examples permettant de tester cette stack en 1 seule commande (et via l’utilisation de Docker Compose). Un premier cas est décrit, d’autres devraient suivre… Elastic Stack 5.6.0 Released : Cette version de la stack Elastic prépare la migration vers Elasticsearch 6.0 et apporte quelques nouveautés, dont notamment un client REST Java de haut niveau pour Elasticsearch. Kafka Kafka 0.11.0 == ♥ : petit tour des améliorations de la version 0.11 de Kafka apportant les headers dans les messages, le support du “exactly once” via des notions d’idempotence et de transactions. Exactly-once Support in Apache Kafka : le co-fondateur de Confluent revient sur la signification de “Exactly-once support” dans Kafka et sur son implémentation. Exactly-once Semantics are Possible: Here’s How Kafka Does it : la même expliquée par la CTO de Confluent. Introducing KSQL: Open Source Streaming SQL for Apache Kafka : Kafka se dote d’une interface SQL permettant de faire des requêtes de façon continue (continuous queries) et de requêter des topics kafka sous forme de stream et/ou de table et de mener quelques opérations dessus. Cela est basé sur l’API de Kafka Streams, il y aura un KSQL Server qui exécutera les requêtes KSQL à l’encontre d’un cluster Kafka. C’est encore en developer preview mais cela peut être intéressant à terme. Mais c’est quoi Kafka : une présentation synthétique de Kafka et son écosystème pour bien appréhender cette plateforme. BigData Hebdo - Ep 47 : Kafka, SQL, Beam & co : un excellent épisode du podcast BigData Hebdo faisant un point très clair sur les annonces Kafka (mais aussi sur Beam) It’s Okay To Store Data In Apache Kafka : la question abordée dans l’épisode de BigData Hebdo trouve du coup un peu sa réponse dans ce billet où le co-fondateur de Kafka indique qu’il est possible de stocker ses données dans Kafka. Après, faut-il le faire, c’est un autre débat :-) Kafka Wakes Up And Is Metamorphosed Into A Database : opinion sur la “métamorphone” de Kafka en base de données avec une opinion rigolote : “It would have been far funnier, of course, if Kafka woke up one morning and had been turned into CockroachDB”. Crossing the Streams – Joins in Apache Kafka : le billet explique les capacités de jointure qu’il est possible de réaliser dans un contexte Kafka Streams. En fonction de si vous manipulez des KStreams ou des KTables, vous pourrez faire différents types de jointure (inner join, left join ou outer join). Licences et Open Source On React and Wordpress : Suite aux histoires de licence autour de celle de ReactJS et de la fondation Apache interdisant aux projets qu’elle héberge d’utliser React, c’est au tour de Wordpress d’abandonner React. De l’importance de bien évaluer la licence dans le cadre de l’évaluation des produits que nous retenons pour des projets. 3 Points to Consider before Migrating Away from React Because of Facebook’s ‘BSD+ Patent’ License : l’article nuance les propos tenus ici ou là et sont rédigés par un juriste spécialisé dans les brevets. Par défaut, Facebook n’a pas prévu d’utiliser ses brevets à l’encontre des autres. Ensuite, le brevet porte sur un concept et non sur le code en lui-même donc toute autre librairie/framework implémentant le même concept peut tout autant être poursuivi par Facebook s’ils se retrouvaient dans une condition pour le faire. Il resqte quelques cas de si je traduis en justice Facebook et inversement mais je vous les laisse les consulter pour ne pas faire d’erreur d’interprétation. Relicensing React, Jest, Flow, and Immutable.js : Facebook au final va mettre sous licence MIT les nouvelles/prochaines versions de ces logiciels et se pose la question pour les autres (notamment GraphQL). A voir si cela résoud vraiment le problème ou pas ou si cela ne serait pas pire. Microservices Monolith First : Martin Fowler constate que les migrations réussies vers des micro-services se sont faites à partir de monolithes. A contrario, démarrer un projet en micro-services se solde souvent par des échecs. Il “recommande” donc de démarrer par un monolithe et de le modulariser puis de l’éclater en micro-services. NoSQL Redis 4.0.0 released : la version 4.x de la base Redis est sortie cet été et apporte son lot de nouvelles fonctionalités (réplication améliorée, appararition des modules, amélioration du cache, amélioration du monitoring, etc). BigData Hebdo - Ep 46: Elassandra : Vous vouliez le meilleur des mondes entre Cassandra et Elasticsearch - c’est désormais possible avec Elassandra. Durant cet épisode, le créateur d’Elassandra explique comment il s’y est pris pour créer ce projet et atteindre cette promesse de combiner le meilleur des deux mondes via une intégration la plus légère possible et sans réduire les fonctionnalités de chaque outil. SQL Geofile: Getting Started with pgRouting et Geofile: Getting Started with pgRouting using Esri Shapefiles: pgRouting est une extension Postgres s’appuyant sur l’extension géospatiale PostGIS permettant d’avoir une fonctionnalité de routage (plus court chemin entre 2 points, logique du voyageur, etc). L’article explique comment utiliser cette extension sur la base d’un tour des chateaux anglais. The MySQL High Availability Landscape in 2017 : the elders, the adults and the babies : panorama des solutions de haute disponibilités avec MySQLdepuis les solutions historiques jusqu’au plus récentes. Streaming The canonical new book about stream processing : une nouvelle ressource sur le streaming via les équipes de Google Cloud Platform. Pas encore lu mais semble intéressant. Vie du développeur Le demi-cercle (épisode 1), Le demi-cercle (épisode 2 : voir et avancer), Le demi-cercle (épisode 3 — Communication Breakdown) , Le demi-cercle (épisode 4 — Driver / Navigators) , Brown Bag Lunch, Conseils à emporter, Crise / Opportunité, Le 5ème étage, Que faire ?, Soit… soit…, Boites et flèches, Le prochain copil, la faille, Poussière, L’hypothèse et la règle Déplacements, Jouer et Ranger, Arrangements : moment de vie d’un développeur sur une application ayant vécu et qui corrige un nième bug ; et si c’était l’occasion de prendre une pause et de repenser la chose ? Je vous laisse lire… The Art of Pull Requests : des bonnes pratiques pour mener des pull requests de façon bienveillante. Web The State of the Web avec son transcript : Etat des lieux et bonnes pratiques sur les différentes sujets liés au plateformes web (webperf, optimisation, outils, etc). Chrome to force .dev domains to HTTPS via preloaded HSTS : pour ceux qui utilisent des urls en .dev pour accéder à leurs environnements locaux de développement, Chrome va bientôt forcer le passage en https pour cette extension. HTTP Immutable Responses : nouvel argument immutable pour l’entête Cache-Control de sorte que le navigateur ne vérifie plus si la ressource a été modifiée ou pas (fini les 304) durant la période de cache qui a été définie pour cette ressource. Fiabiliser les connexions sécurisées avec HSTS (HTTP Strict Transport Security) : petit topo sur HSTS, mécanisme qui permet d’indiquer que votre site ne doit être servi que via son url sécurisée et gérer la transition http > https.

docker elasticsearch bash kafka stream grafana postgres mysql architecture cli aws vpc multi-cloud serverless documentation ksql licence microservice redis cassandra elassandra hsts immutable

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