CérénIT

Le blog tech de Nicolas Steinmetz (Time Series, IoT, Web, Ops, Data)

Web, Ops, IoT et Time Series - Octobre 2024

nist password produit service client ux postgres ia data traefik best practice

Cette édition et les précédentes sont également disponibles sur substack Web, Ops, IoT & Time Series pour ceux qui préfèrent les emails ou la consommation via l’app Substack

Data

  • Field Notes, Early Fall 2024 Edition : billet résumant l’état de la data et de l’IA par Joe Reis autour de la hype IA Générative, le futur et les turpitudes d’OpenAI, la hype du moment et le décalage entre le marketing de la hype et la réalité de la pratique et des déploiements.

Database

  • PostgreSQL 17 : comme chaque année vers fin septembre, la sortie de la nouvelle version majeure de PostgreSQL. Pour être dans une version supportée, il vous faut donc utiliser une version 13+ de PostgreSQL. On notera des améliorations notamment sur la partie SQL/JSON, la réplication, les process de VACUUM.

Produit

  • Why You Need Product Engineers : Un “Product Engineer”, c’est un “Software Engineer” qui prend en compte l’UX client lorsqu’il code. Il ne se limite pas à l’implémentation technique.
  • La révolution industrielle du service client : leçons de la tech : Pour une entreprise industrielle, la vente s’arrête souvent à l’acte de vente du produit fabriqué alors que les sociétés tech (notamment avec le SaaS), ont compris que l’acte de vente n’était pas la fin mais le commencement de la relation et qu’il était important d’accompagner le client. Evolution nécessaire de faire émerger un département de l’expérience client (ou customer success management) qui couvre tout le cycle de la vente (avant-vente, vente, après-vente + marketing + communication) ; on pourrait même aller jusqu’à mettre le département qualité sous la houlette de cette nouvelle direction…

Ops

  • Traefik Proxy v3.2 - A Munster Release : Sortie de la version 3.2 du reverse proxy Traefik avec des améliorations coté gestion des certificats (Configuration Let’s Encrypt, CA personnalisés, etc), des améliorations de performance avec Fast Proxy pour les connections HTTP/1, le support de la Kubernetes Gateway API v1.2, le support IPv6 des midlewares, le support d’OpenTelemetry, etc.

Python

Sécurité

  • NIST proposes barring some of the most nonsensical password rules : les recommendations de mot de passe du NIST ont été mises à jour pour être plus modernes et pragmatiques avec un assouplissement sur les règles de complexité de mot de passe (et qui terminent sur un post-it sur l’écran quand on n’a pas de gestionnaire de mot de passe) et sur la fréquence de renouvellement des mots de passe (on peut ne pas renouveller sauf suspicion de compromission du mot de passe)

Web

Rendez-vous à la fin du mois prochain pour une nouvelle édition.

Web, Ops, IoT et Time Series - Septembre 2024

valkey redis elasticsearch s3 postgres duckdb ibis pandas kestra

Cette édition et les précédentes sont également disponibles sur substack Web, Ops, IoT & Time Series pour ceux qui préfèrent les emails ou la consommation via l’app Substack

Cloud

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

Python

Rendez-vous à la fin du mois prochain pour une nouvelle édition.

Web, Ops, IoT et Time Series - Juin 2024

caddy reverse-proxy api https fastapi parquet postgres htmx python ruff queue lakehouse repository pattern warp10

Cette édition et les précédentes sont également disponibles sur substack Web, Ops, IoT & Time Series pour ceux qui préfèrent les emails ou la consommation via l’app Substack

API

Data

IoT

Python

  • SqlAlchemy 1.4 async ORM with FastAPI : en 2022, nous avions utilisé cet article comme base pour les projets FastAPI. Il couvrait de bout en bout ce que l’on attendait : SQLAlechmy, Alembic (migrations), Async et Tests. Le petit plus est sur le pattern du Repository, fort utile pour avoir une abstraction au dessus de la base de données.
  • Fast API — Repository Pattern and Service Layer : une version plus récente, rajoutant le concept de Service en plus de celui du Repository.
  • FastCRUD : Un meta-package qui vous embarque tout pour générer dynamiquement vos endpoints d’API sur la base de vos modèles de données.
  • FastHX, fastapi-htmx & Using HTMX with FastAPI : pour ceux qui veulent faire du FastAPI et du HTMX
  • FastUI : un projet de l’équipe de Pydantic pour générer des interfaces web à partir de votre code Python.
  • Summary of Major Changes Between Python Versions : Liste des principales évolutions et principaux apports d’une version majeure de Pytohn à une autre.
  • Adopt-Ruff : un outil pour trouver les règles Ruff que votre projet ne respecte pas encore en vue de pouvoir les ajouer au fur et à mesure.
  • Introduction to Polars : tout est dans le titre, une introduction à Polars.

Ops

  • Caddy 2.8.x (dernière version: 2.8.4 : quelques fonctionnalités supplémentaires au niveau de HTTP/3 ou des certificats, mais surtout un gros travail de nettoyage et de rationnalisation de code (dépendances dépréciées / non maintenues, etc).
  • Le projet Caddy-Docker-Proxy passe en version version 2.9.x en intégrant Caddy 2.8.

Time Series

Web

Web, Ops, IoT et Time Series - Mars 2024

python postgres warp10 datacontract golang psycopg ingestr mistral htmx http architecture organisation hacking

Cette édition et les précédentes sont également disponibles sur substack Web, Ops, IoT & Time Series pour ceux qui préfèrent les emails ou la consommation via l’app Substack

Code

Database

IA

Metadata

  • DataContracts et DataContract CLI : si le sujet du DataContract m’a plutôt fait pensé à l’architecte d’entreprise qui urbanie son système d’information, en regardant de plus près, je me dis que dans le cadre d’un usage d’API, en complément du modèle fourni par OpenAPI/Swagger, cela pourrait donner une profondeur d’analyse aux API.

Organisation

Outillage

Time Series

  • Warp 10 3.2 : une version corrective et l’annonce de l’arrivée prochaine du Trace Plugin. Ce plugin doit aiser le debug de votre code WarpScript. Il sera soumis à licence et évaluable sur la Sandbox.

Web

  • HTTP > Headers > Connection : vous voulez que votre serveur de destination ferme à coup sur la connection après vous avoir répondu dans le cadre d’un appel HTTP/1.1 ? Alors l’entête Connection: close est fait pour vous. La connection HTTP/1.1 est par défaut en mode keep-alive. Si vous avez des reverse proxy au milieu, cela peut éviter qu’il cherche à maintenir des connections ouvertes alors que cela n’a plus lieu d’être.
  • HTMX via Django REST Framework and Vue versus Django and HTMX: Pour ceux qui veulent l’interactivité de Javascript, mais sans faire du Javascript

Web, Ops, IoT et Time Series - Février 2024

dns avif jpeg postgres git conventional commit architecture amnesie pwa ios refactor git-cliff changelog traefik

Code

  • The power of conventional commits : je suis assez fan de Gitmoji + Conventional Commits pour avoir des messages de comits visuels et pertinents. Si la mise en oeuvre est parfois pas très naturel, le plaisir d’avoir un changelog autogénéré et propre ou bien de pouvoir facilement retrouver un commit, son intention et le ticket gitlab associé, cela n’a pas de prix.
  • En liaison avec le billet précédent, le générateur de changelog Git-cliff est sorti en version 2.0 avec notamment une intégration plus poussée avec Github, des templates et plein d’autres choses. Git-cliff depuis la version 1.4 peut aussi générer votre prochain numéro de version sur la base de vos commits et la commande bump
  • Postgres à nouveau élu SGBD de l’année en 2023, mais je suis inquiet: le cloud et les ORM notamment ont permis de s’affranchir des DBA. Si dans un sens c’est tant mieux, à un certain stade, cela s’avère nécessaire de recourir à l’expertise d’un DBA (même si c’est parfois trop tard). Reste que le problème fondamental est plutôt que les développeurs n’ont plus les fondamentaux en SQL dans ce cas particulier et en architecure logicielle de manière plus globale et c’est peut être surtout ça le vrai problème.
  • The continuous amnesia issue : notre industrie est malade, on souffre d’une amnésie continue en ignorant les enseignements du passé. Le “jeunisme”, “la hype” et le fait qu’au delà de 30 ans, il faut être passé du coté du management font qu’on ne valorise/capitalise pas assez sur ce que nos ainés ont fait.
  • The High-Risk Refactoring : l’amémioration / la réécriture de code a son lot inhérent de risques techniques et métiers. L’article permet d’appréhener et de cadrer cette décision de façon assez pragmatique pour arriver au niveau de code juste nécessaire.

DNS

  • L’ICANN propose le domaine .internal pour votre réseau local : historiquement, il y avait le .local mais dont l’usage a été revu pour du zeroconf notamment. L’usage du .internal est en cours de discussion pour une décision en avril. On va pouvoir (enfin) sortir des domaines fictifs, des domaines publics utilisés en interne (adieu macompany.org) ou encore du “DNS menteur” (macompany.com résolu différemment suivant si on est en interne ou en externe). Néanmoins, une bonne question émerge : comment gérer et garantir les certificats en .internal que tout le monde peut revendiquer ? Aucune entité de certification publique ne pourra émettre de tels certificats… Cela repose alors la question de la PKI privée et de la diffusion des certificats de la CA pour valider les domaines sur votre parc informatique…

OPS

  • Traefik Proxy v2.11 is Now Available! Here are the Latest Updates. : Cette version apporte notamment les directives keepAliveMaxRequests et keepAliveMaxTime pour éviter que trop de connections ouvertes restent entre votre reverse proxy et votre applicatif.
  • Announcing Traefik Proxy v3.0 RC1: Au programme: Wasm, OpenTelemetry, HTTP/3, SPIFFE et des choses dans le monde Kubernetes. Alors que la migration V1/V2 avait été un peu pénible, l’équipe de Traefik promet une migration en douceur entre V2/V3.

Web

1 2 3 4 5