Le blog

Web, Ops, IoT & Time Series

Notre veille technique mensuelle : IA, données, time-series, craft et tout ce qui bouge dans nos métiers.

30/10/2019

Web, Ops & Data - Octobre 2019

Rendez-vous le 5 Novembre prochain à la seconde édition du Paris Time Series Meetup consacré à QuasarDB pour des cas d’usages autour de la finance et des transports.

Cloud

  • The $10m engineering problem : retour d’expérience intéressant sur l’optimisation de sa facture cloud et donc l’accroissement de sa marge opérationnelle.

Container et Orchestration

  • What’s Going on with GKE and Anthos? : Si on rapproche ça avec le fait que Google ait gardé le lead sur knative plutôt que de le confier à une fondation, on peut avoir quelques sueurs froides sur le potentiel lock-in ou alors d’une offre k8s à 2 vitesses (GKE tel qu’on le connait actuellement et Anthos GKE avec des fonctionnalités & souscriptions additionnelles…). La seule limite que je vois à ça pour le moment est le fait que Google a vendu k8s comme runtime universel de workload et qu’ils ont besoin de garder cela pour piquer des parts de marché à AWS & Azure…
  • Traefik 2.0 with Kubernetes et Advanced Traefik 2.0 with Kubernetes : pas encore implémenté mais a priori tout ce qu’il faut savoir pour passer de Traefik 1.x vers Traefik 2.x sous Kubernetes
  • Helm 2.15.0 Released : dernière version stable à apporter des nouveautés a priori avant migration vers la version 3.0. La version 2.x va passer en maintenance (correctifs de bugs & sécurité) et s’éteindra progressivement (6 mois après la release de Helm 3, elle ne prendra que des correctifs de sécurité et fin du support au bout d’un an). En attendant, cette version apporte notamment le paramètre --output <table|json|yaml> à certaines commandes. Pratique quand on manipule les sorties de Helm dans des scripts…
  • Comparing Ingress controllers for Kubernetes : une comparaison de 11 Ingress Controller (Nginx, Traefik, Kong, HAProxy, etc) sur une douzaine de fonctionnalités.

(Big) data

  • Why I Recommend My Clients NOT Use KSQL and Kafka Streams : la gestion des états et la capacité à pouvoir savoir à quel offset d’un topic kafka reprendre sa consommation peut être un sujet surtout dans le cadre d’une grosse volumétrie qui peut empêcher que le cas de reprendre la consommation du topic depuis son origine. Si Kafka Streams était doté de ce fameux “checkpoint” cela pourrait simplifier la chose. L’autre cas étant sur l’absence de “shuffle sort” utilisé dans des contexte analytiques. Du coup Kafka streams crée des topics supplémentaires pour le besoin et cela peut nuire au bon fonctionnement de votre cluster.
  • Change data capture in production with Apache Flink - David Morin & Yann Pauly : un retour d’expérience très riche et très complet sur l’utilisation de Flink chez OVH, les problématiques qu’ils ont rencontré et comment ils ont itéré sur leur pipeline d’ingestion de données. La version française donnée à DataOps.rocks devrait être disponible sous peu.
kafka traefik kubernetes ksql kafka-streams gke anthos helm
22/10/2019

Paris Time Series Meetup - Edition 2

Le mardi 5 novembre, j’ai le plaisir d’organiser la seconde édition du Paris Time Series Meetup - il reste quelques places, vous pouvez encore vous inscrire et nous rejoindre !

Pour cette séance, nous faisons un focus sur la plateforme de séries temporelles QuasarDB dans des cas d’usages autour de la finance et du transport.

  • Talk 1 : “Time Series sans limites avec QuasarDB” : la technologie en mode cloud ou embarquée permet de gérer des cas d’usages « extrêmes » dans des secteurs aussi variés que la Finance de Marché, le Transport ou l’Industrie. Un aperçu des principes de base de la technologie ainsi que de quelques cas d’usage par Jean-Claude TAGGER , COO et co-fondateur et Vianney PLOTTON, ingénieur R&D chez QuasarDB
  • Talk 2 : “Véhicules Connectés et Time-Series / Cas d’usage chez un Equipementier Automobile” par Mickaël Gervais (Agaetis)

Cette édition du meetup se déroulera chez Novencia GROUP, en plein centre de Paris.

timeseries quasardb meetup ptsm
26/09/2019

Web, Ops & Data - Septembre 2019

Container et Orchestration

  • Traefik 2.0 : la version tant attendue du reverse proxy “cloud native” Traefik sort en version 2.0 avec une réécriture complète et plein de nouvelles fonctionnalités : support du reverse proxy pour tcp et plus uniquement http, introduction des “middleware” pour de la configuration plus flexible, une CRD Traefik pour Kubernetes, un nouveau dashboard, le support du déploiement en mode canary, “mirroring” de traffic, etc. Il y a un guide de migration pour passer de la V1 à la v2.
  • Announcing Maesh, a Lightweight and Simpler Service Mesh Made by the Traefik Team : l’équipe Containous, qui est derrière Traefik, sort sa solution de Service Mesh : Maesh. Elle respecte la spécification Service Mesh Interface (SMI) et a pour principal intérêt pour moi de ne pas modifier les objets kubernetes pour se déployer en mode sidecar (contrairement à Istio pour ne pas le nommer).
  • Qu’est-ce qu’un Service Mesh ? : article d’information/rappel sur ce qu’est un Service Mesh et son intérêt dans une architecture micro-services.
  • Rook v1.1: Accelerating Storage Providers & Rook v1.1: Ceph CSI, Bucket Provisioning, External Clusters, and much more!: rajout du support de Yugabyte, passage du support de EdgeFS d’alpha à beta, pleins d’améliorations pour Ceph, dont la gestion des clusters Ceph externes au cluster Kubernetes.
  • Kubernetes 1.16: Custom Resources, Overhauled Metrics, and Volume Extensions & Release Notes : Passage en GA des CRD, des admissions webhooks, Refonte des métriques, le redimensionnement des volumes passe de alpha > beta, Support ipv4/ipv6 au niveau pods & services, dépreciation des api extensions/v1beta1, apps/v1beta1 et apps/v1beta2, plein de fonctionnalités pour les conteneurs Windows, etc.
  • Deprecated APIs Removed In 1.16: Here’s What You Need To Know : ce qu’il faut savoir sur la dépréciation des API listées ci-dessus
  • [ANNOUNCE] Security release of kubectl versions v1.16.0 / 1.15.4 / 1.14.7 and 1.13.11 - CVE-2019-11251 : une nouvelle faille sur kubectl cp et cette commande semble supprimée dans la version 1.16.

Data

  • Say Hello World to event streaming : Confluent publie des tutoriels sur Kafka, Kafka Streams et KSQL pour illustrer différents cas d’usages avec le code associé. Ils ont l’air assez bien fait.

Time Series

  • Release Announcement: Telegraf 1.12.0 : Telegraf, le collecteur de métriques/logs passent en version 1.12 avec 13 nouveaux plugins dont un pour l’ingestion des logs docker et plein d’autres améliorations. L’autre grande nouveauté est l’arrivée des plugins - il est possible d’ajouter des plugins à Telegrad de façon dynamique ; il n’est plus nécessaire de recompiler telegrad avec ces plugins en son sein.
kafka traefik service-mesh maesh rook ceph kubernetes kubectl ksql kafka-streams telegraf docker log
22/09/2019

Paris Time Series Meetup - Edition 1

Ce mercredi, j’ai le plaisir d’organiser la première édition du Paris Time Series Meetup - il reste des places, vous pouvez encore vous inscrire et nous rejoindre !

Ce meetup est organisé conjointement avec InfluxData suite à ma nomination en tant qu’InfluxAce lors d’InfluxDays London 2019. J’ai alors cherché à organiser le meetup en mettant en avant la communauté et les acteurs français autour de la série temporelle, de ne pas me limiter à des présentations produits mais de les enrichir avec des retours clients et aussi à proposer des usages plus avancés que de stocker ses données et de faire deux à trois graphiques avec ces métriques. Je pense que cette première édition respecte ces critères.

timeseries warp10 ovh prescience machine learning monitoring datacenter ptsm
31/08/2019

Web, Ops & Data - Aout 2019

Surveillez le Time Series Paris Meetup, car la première édition du Meetup sera annoncée mardi avec une présentation des usages avancées des séries temporelles avec Warp10 (comprendre au-delà du monitoring classique) et une présentation par les équipes OVH sur du monitoring de datacenter aidé par du machine learning et leur offre Préscience.

CI/CD

  • How to trigger multiple pipelines using GitLab CI/CD : depuis une pipeline d’un dépôt gitlab, il va être possible d’appeler les pipelines des autres projets gitlab. Une fonctionnalité intéressante et qui pourrait lever la dépendance à Jenkins lorsque l’on a des pipelines un peu complexes et inter-projets.
  • New up and coming GitLab CI/CD Features : bilan et perspectives par le responsable produit de gitlab sur les fonctionnalités CI/CD qui ont été rajoutées cette année et celles à venir.

Code

  • Highlights from Git 2.23 : Tentative de remplacement de git checkout par git switchet git restore pour mieux encadrer les usages
  • Create Git diffs with proper function context : améliorer vos diff git avec une meilleure prise en compte du langage avec lequel vous travaillez.

Conteneurs & orchestration

  • Releasing HypriotOS 1.11.0: Docker 19.03.0 CE from Raspberry Pi Zero to 4 B : la distribution HypriotOS, pour raspberry pi, sort une nouvelle version avec les dernières versions de docker, docker-compose, etc.
  • OVH 1.15 Certified : Le service managé kubernetes d’OVH passe en version 1.15
  • Traefik Release: v2.0.0-beta1 & Traefik Release: v2.0.0-rc1 : Traefik 2.0 commence à pointer le bout de son nez et les connecteurs docker / kubernetes notamment sont prêts, ainsi que plein d’autres choses.
  • Helm 3.0.0-beta.1 : Helm 3.0 émerge doucement et on commence à se rendre compte des petits changements qui vont arriver…

SQL

  • Percona Distribution for PostgreSQL 11 (Beta) Is Now Available : Percona est connu pour son expertise autour de MySQL, de leur serveur et des outils qu’ils ont créés autour. Ils semblent vouloir faire la même chose avec Postgres. Cela semble prometteur !
  • Announcing PartiQL: One query language for all your data : AWS lance un langage visant à être un requêteur universel de données structurées et non structurées en SQL. C’est en open source et pour le moment cela traite surtout les données des services AWS, ainsi que Couchbase.

time series

  • RedisTimeSeries GA – Making the 4th dimension truly immersive : RedisLabs met à disposition un module permettant d’améliorer l’expérience utilisateur des développeurs manipulant des séries temporelles dans Redis. Ce module n’a a priori pas pour vocation à ce stade d’intégrer le coeur du produit.
  • How Hulu Uses InfluxDB and Kafka to Scale to Over 1 Million Metrics a Second : retour d’expérience sur l’utilisation d’influxdb et kafka chez Hulu pour ingérer et apporter de la résilience à leurs données temporelles.
  • How to use Prometheus for anomaly detection in GitLab : retour d’expérience de gitlab sur l’utilisation de Prometheus dans un contexte de détection d’anomalies.
gitlab ci cd continous integration continous deployment git diff docker rpi traefik kubernetes ovh helm postgres percona aws partiql redis timeseries influxdb kafka prometheus
17/07/2019

Web, Ops & Data - Juillet 2019

Souveraineté numérique

  • Big Data Hebdo - Episode 78 : Les jeunes prennent les commandes : Jérome et moi revenons largement sur ce sujet dans le cadre de cet épisode de Big Data Hebdo entre autres choses.
  • Rapport Gauvain : le rapport stipule clairement que le Cloud Act obligera tout fournisseur de cloud américain de fournir les données de ses clients quelque soit la localisation de ses données sur simple présentation d’une requête judiciaire. Quand on voit que les américains utilisent le droit comme arme de guerre économique, on peut se poser la question de la migration de certaines entreprises sur les plateformes de cloud américain.
  • Audition de Michel Paulain (PDG d’OVH) par la commission d’enquête Souveraineté numérique : la commission d’enquête sur la souveraineté numérique auditionne différentes personnes quant à la souveraineté numérique. Il est intéressant de voir la maitrise (ou pas) du sujet par les membres de cette commission et leur questionnement.
  • Le numérique à l’Assemblée nationale : où en est-on ? : pour compléter la vision sur nos parlementaires et le numérique, cette étude montre qu’il y a 5% de l’Assemblée Nationale (soit 30 personnes) qui est experte du numérique. Ce taux est en progression. On monte jusqu’à 28% en prenant les niveaux amateurs à experts (163 personnes). La route est encore longue…
  • Private Cloud en cours de qualification SecNumCloud : jusqu’à présent, seuls Outscale et Oodrive (pour leur offre collaborative) étaient certifiés SecNumCloud par l’ANSSI, c’est au tour d’OVH de rentrer dans cette démarche de qualification pour son offre Private Cloud dans un premier temps.

SQL

  • Fastest Way to Load Data Into PostgreSQL Using Python : le billet revoit différentes façons de faire ingérer des données dans Postgres via du code python. Cela va de 2 minutes à une demi seconde. De quoi piocher des idées pour la mise en place de votre prochaine ingestion de données.
  • Quel avenir pour Postgresql? : Le mérite de l’article n’est pas tant de savoir si Postgres est une alternative crédible (spoiler: oui) mais de remettre en perspective l’histoire de Postgres jusqu’à nos jours.
  • Retour d’utilisation de Mongodb et pourquoi nous migrons vers Postgresql : Retour d’expérience de l’équipe de développement de Malt.io sur leur utilisation de MongoDB, les limites et leur récente migration à Postgres pour un certain nombre de cas d’usages. Pour autant, ils n’abandonnent pas MongoDB.

Time Series

  • Warp 10™ version 2.1 : Sortie de la version 2.1 de Warp10 avec son lot de nouveautés.
  • Warp 10™ Raspberry Pi 4 bench for industrial IoT : Warp10 2.1 parvient à ingérer jusqu’à 300.000 points par secondes sur un Raspberry Pi 4 (contre une valeur recommandée il y a 2 ans d’une à quelques dizaines de milliers de points par secondes). Preuve s’il en est de l’amélioration tant du Raspberry Pi que de la performance de Warp10.
warp10 timeseries souveraineté numérique python postgres mongodb
26/06/2019

Web, Ops & Data - Juin 2019

Cloud

  • AWS costs every programmer should know : l’article donne le coût moyen d’un vCPU, de la RAM et du stockage chez AWS pour permettre de définir rapidement une estimation de votre infrastructure.

(Big|Open) Data

  • Lancement de schema.data.gouv.fr : Etalab lance schema.data.gouv.fr - une démarche de référencement et de validation des schémas des données pour améliorer la qualité des données mises à disposition

Containers et orchestration

  • Kubernetes multi-nodes cluster with k3s and multipass : solution qui peut être intéressante pour monter un lab k8s sur MacOS avec multipass et k3s.
  • polaris : Polaris est un outil qui valide que vos déploiements sur k8s respectent bien les bonnes pratiques.
  • Kubernetes 1.15: Extensibility and Continuous Improvement : La version 1.15 semble surtout axé sur de la stabilisation et l’extensibilité des CRD avec l’apparition d’une gestion de schema plus évoluée, le support de la haute disponibilité et une meilleure gestion des certificats dans kubeadm et la poursuite de la sortie des plugins de stockage de la base de code vers les plugins CSI. Au passage, les plugins CSI gagnent une fonctionnalités : le clonage de volume (alpha).

Infrastructure

  • LCC 211 - Interview sur la virtualisation avec Quentin Adam : Quentin Adam part du CPU et remonte les couches pour expliquer la (para) virtualisation et les conteneurs. Un nouveau monde s’est découvert devant mes yeux, je ne regarde plus mon CPU de la même façon.
  • HAProxy 2.0 and Beyond et [ANNOUNCE] haproxy-2.0.0 : la version 2.0 du célèbre reverse proxy est sortie avec un nombre impressionnant de nouveautés/améliorations. On apprend aussi qu’une nouvelle version de l’ingress controller kubernetes devrait sortir sous peu.

Langages

  • Pythonic Ways to Use Dictionaries : C’est tout de suite plus joli avec get() ou setdefault().

Sécurité

  • RAMBleed, Reading Bits in Memory Without Accessing Them : les failles dans le CPU, c’est “so 2018”, en 2019, on innove et on découvre des failles dans la RAM. Pas de mitigation sans racheter des barrettes DDR4 et en activant la fonctionnalité TRR (Targeted Row Refresh).
  • Security Advisory 2019-06-13 – Reduced initial randomness on FIPS keys : la déclinaison FIPS des clés Yubikey a une alerte de sécurité sur le niveau d’aléatoire fourni par lé clé pour certaines versions du firmware. Les propriétaires des clés éligibles peuvent les échanger auprès de Yubico en suivant une procédure.

SRE

  • Friday Deploy Freezes Are Exactly Like Murdering Puppies : réflexion intéressante sur le “On ne déploie pas en production le vendredi” ; on peut ne pas le faire mais pour les bonnes raisons. Si vous n’avez que les mauvaises raisons, alors il faut travailler votre outillage et vos habitudes. Cela rend ce site obsolète.
  • Reliability That Works : Le TL;DR est trop limitatif à mon sens : “TL:DR; Prefer investing in recovery instead of prevention” : si faire trop de prévention est illusoire et trop cher pour être acceptable, surtout quand elles sont hors de notre contrôle. Il convient plutôt de s’assurer que les erreurs ont un impact le plus petit possible quand elles surviennent et de pouvoir revenir à un état normal le plus rapidement/facilement possible. Il faut bien entrendre recovery comme retour à la normale et pas comme restauration/retour en arrière pour bien apprécier l’article.
opendata aws python data.gouv.fr schema virtualisation déploiement vendredi sre reliability résilience rambleed ram yubikey haproxy
17/06/2019

InfluxDays London 2019

La cinquième édition des InfluxDays (et la seconde édition en Europe) s’est tenue à Londres les 13 et 14 juin 2019. Les InfluxDays sont organisés par la société InfluxData, éditrice des produits Telegraf, InfluxDB, Chronograf et Kapacitor, connu aussi sous le nom de la stack TICK. Il s’agit d’une plateforme de gestion des données temporelles, depuis leur ingestion jusqu’à leur visualisation et leur traitement en passant par leur stockage. Durant ces deux jours, des présentations portent sur les produits, leurs évolutions, des retours d’expériences clients et plus généralement sur l’écosystème.

Sur InfluxData, quelques chiffres :

  • 230.000 installations d’InfluxDB dans le monde
  • 200+ plugins telegraf (agent de collecte)
  • 600+ clients InfluxData
  • 140+ employés

Avant de rentrer dans la synthèse, il faut que vous sachiez que j’ai été nominé “InfluxAce” pour la France. Ce titre permet à InfluxData de reconnaitre et promouvoir les experts de la stack TICK et de les remercier pour leur contribution à la communauté et à l’évangélisation de leurs produits. Deux autres personnes en Belgique et au Luxembourg ont été nominées également.

influxdays influxdb influxcloud timeseries tick influxdata influxace
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
26/05/2019

KubeCon + CloudNativeCon Europe 2019

Je me suis rendu à KubeCon + CloudNativeCon Europe 2019 qui s’est tenu à Barcelone du 20 au 23 Mai. C’était la première fois que j’assistais à cette conférence.

Le veille de la conférence officielle, j’ai assisté à la première édition du Continus Delivery Summit organisé par la Continous Delivery Foundation. Différents événements en marge de la conférence officielle sont organisés par la communauté.

Plutôt que de faire un résumé par journée, je vais plutôt faire un résumé global sur ce que je retiens de la conférence.

Tout d’abord un écosystème toujours en ébullition et en pleine évolution :

  • Le village des sponsors était juste gigantesque avec environ 150 sponsors présents.
  • Les plus gros stands étaients ceux des acteurs du cloud et des gros éditeurs (Oracle, Red Hat, Google, Digital Ocean, VMWare, AWS, Azure, Cisco, IBM, etc)
  • Les habitués du secteur : Datadog et d’autres pour le monitoring, Aqua / Neu Vector / Sysdig pour la sécurité, Gitlab / JFrog / CloudBees pour la partie usine logicielle, etc.
  • Une multitude de startups présentant leur produit
  • Des entreprises utilisatrices des technologies CNCF étaient présentes comme Adidas, CookPad ou (la sulfureuse) Palantir - ce ne sont pas ces entreprises que l’on s’attend à voir dans une telle conférence
  • Un stand qui m’a étonné, c’est la petitesse du stand de Docker - s’il est pourtant un sponsor Gold de l’événement, le stand était aussi grand que celui de n’importe quelle startup. On sent vraiment que la mode est passé et que ce n’est plus Docker qui dirige l’écosystème alors que sa technologie, pourtant centrale, est devenue une commodité.

Sur les produits qui ont retenu mon attention :

kubernetes kubecon cncf cloud native

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