Postgres

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
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
24/04/2019

Web, Ops & Data - Avril 2019

Deux petites annonces pour démarrer cette édition : Je serai à KubeCon EU du 20 au 23 Mai à Barcelone. Si vous y allez aussi, dites le moi, ce sera une occasion de se rencontrer. Le BigData Hebdo a ouvert son slack - Vous pouvez nous rejoindre par vous même via ce lien APM Glowroot : Pour ceux qui s’intéressent au sujet de l’APM et qui ne veulent pas aller chez AppDynamics, Dynatrace ou Elastic, j’ai assisté à une démo intéressante sur Glowroot - il est forcément moins riche que ces concurrents mais il a l’air de faire l’essentiel de ce que l’on peut attendre d’un APM. Il ne marche qu’avec la JVM. Cloud Big Data Hebdo - Episode 71 : Google Cloud Next 19 : Vincent et Jérome passent en revue les annonces de Google Cloud Next 2019, en plus de nous faire un analyse fine de MS Excel vs Google Sheets ;-) - Personnellement, je retiens surtout Anthos (le kubernetes distribué multi-cloud et on-premise), Cloud Run (la capacité à exécuter des conteneurs dans une logique serverless et basé sur knative - il me fait penser à OpenFaaS) et Cloud Code (extension pour l’IDE VSCode et prochainement IntelliJ pour gérer plus facilement des déploiements Kubernetes). Vous retrouvrez les 122 annonces sur le blog de Google Cloud et les vidéos sont sur la chaine Youtube associée Container et Orchestration Kubernetes 1.14: Production-level support for Windows Nodes, Kubectl Updates, Persistent Local Volumes GA : les noeuds Windows et les conteneurs Windows sont supportés officiellement, kubectl se voit améliorer et bénéficie d’un nouveau site de documentation et se dote d’une intégration de kustomize. Les volumes locaux persistant passent en bêta et plein d’autres choses encore. Kubernetes 1.14: Local Persistent Volumes GA : les volumes locaux persistants sont intéressants car ils vont permettre de déployer un conteneur sur un même noeud de façon assurée dès lors que ce volume est défini. Cela n’est certes pas très résilient, mais cela peut réponre à un certain nombre de besoins. Les cas d’usages sont très bien décrits dans ce billet et peuvent donner des idées. Announcing General Availability of Traefik Enterprise Edition : la version Entreprise de Traefik est disponible officiellement. Elle adresse principalement le cas d’un déploiement haute disponibilité de Traefik avec la mise en place d’un data plane et d’un controle plane pour gérer tout ça. CNCF to Host CRI-O : le runtime de conteneurs développé par Red Hat et Google rejoint la fondation CNCF au stade de l’incubation. Introducing Kraken, an Open Source Peer-to-Peer Docker Registry : Uber vient de mettre à disposition Kraken, une “registry docker” pair à pair. Le nombre d’acteurs intéressés par ce genre de projet doit être assez faible mais sait-on jamais… DevOps JSON as configuration files: please don’t : Si certains pensaient utiliser JSON pour décrire des fichiers de configurations, l’article rappelle que JSON n’est qu’un format d’échange de données et surtout pas de fichiers de configuration. On peut comprendre la tentation mais on a déjà bien assez à faire avec YAML, INI voire XML. Aucun n’est parfait certes mais pas la peine d’en rajouter. In Defense of YAML : L’auteur critique l’abus autour de YAML pour l’utiliser pour tout et n’importe quoi. Comme format de données, il est utilisable mais nous voyons des détournements où du yaml devient du pseudo code. L’auteur cite la CI Gitlab ou encore Tekton. On ne peut que lui donner raison. Il serait plus simpe d’avoir un vrai langage de programmation plutôt que de tout “YAMLiser”. Licences Deprecation Notice: MIT and BSD (via Les Cast Codeurs) : Intéressant, les licences BSD/MIT serait à considérer comme dépréciée. L’auteur travaille pour le Blue Oak Council qui publie la licence du même nom. On peut éventuellement lui reprocher un certain biais mais il indique quand même que des licences modernes (comme ASL 2.0) seraient plus judicieuses que de rester sur du MIT/BSD. Sécurité Les serveurs de Matrix.org ont été compromis - l’équipe a joué la transaprence et donne les informations laissées par l’attaquant sur les failles existantes et les bonnes pratiques qu’il faut en déduire. C’est l’occasion de revoir notamment les options de ssh-agent pour éviter de telles mésaventures. SQL La recherche plein texte avec Postgresql : Présentation des tsvector et tsquery, deux fonctions postgres pour faire de la recherche plein texte. Timeseries Introducing Outflux: a smart way out of InfluxDB : l’équipe de TimescaleDB, l’extension Postgres qui permet de manipuler des données temporelles, sort son outil de migration des données d’InfluxDB vers TimescaleDB. Astuce du mois : gestion de la rotation des logs d’un container docker Dans les bonnes pratiques Docker, il est dit d’utliser stdout/stderr pour avoir les logs de votre conteneur via docker logs. Toutefois, cette pratique va alimenter un fichier de log /var/lib/docker/containers/<container id>/<conteiner id>-json.log. Ce fichier peut donc saturer votre disque et aller jusqu’à corrompre vos conteneurs. L’autre bonne pratique étant que tout fichier de log doit avoir une politique de rotation du fichier associée pour éviter toute saturation de disque ou d’avoir des trop gros fichiers de logs.

influxdb timescaledb traefik kubernetes ssh-agent postgres recherche docker log google cloud next serverless apm glowroot docker registry
27/02/2019

Web, Ops & Data - Février 2019

Container et orchestration The Journey to Traefik Enterprise Edition: Product Evaluation Docker Security Update: CVE-2019-5736 and Container Security Best Practices : Vous avez sans doute tous entendus parlé de la faille de runc, sous le doux nom de CVE-2019-5736. Le billet indique qu’il faut utiliser une version 18.06.2+ pour Docker CE et rappelle quelques bonnes pratiques de gestion de containers. Il n’y a pas que les serveurs à mettre à jour, il y a aussi les postes de développeurs, tout aussi exposés. rancher/runc-cve : Pour les gens qui ne peuvent pas mettre à jour le binaire docker, l’équipe de Rancher met à disposition des versions du binaire runc pour les versions depuis docker 1.12.6 jusqu’à 18.06.1 CVE 2019-5736 dans runC : l’article indique une façon d’exploiter la faille de RunC. Ansible Operator: What is it? Why it Matters? What can you do with it? : Ansible ne fournit pas un “oprator” en tant que tel pour Kubernetes mais de quoi permettre de créer un operator en se basant sur des playbooks/roles ansible. Ainsi, si votre ressource change d’état par exemple, alors le playbook associé est joué. Idem pour la gestion d’un upgrade, etc. Cela s’inscrit dans la logique de pouvoir développer ses propres Operator sans avoir à les écrire en Go. Mastering the KUBECONFIG file : différentes astuces autour de la gestion du fichier KUBECONFIG. KubeDB : KubeDB est un operator kubernetes qui vise à pouvoir déployer et gérer différentes bases sur un cluster kubernetes. Les bases supportées sont MySQL, Postgres, Elasticsearch, Redis, MongoDB et Memcached. Le niveau de fonctionnalités dépend beaucoup de la base de données retenus (la réplication semble être gérée pour Postgres mais pas pour MySQL par ex). La version 0.10 vient de sortir, apportant le support du cluster Redis Managed Kubernetes Service : OVH vient de lancer son offre kubernetes managé et pour l’utiliser depuis deux mois maintenant, elle fonctionne plutôt bien. DNS Attaques récentes contre les noms de domaine, que se passe-t-il ? et Détails techniques sur les récentes attaques contre les noms de domaine : deux articles autour de l’actualité autour des attaques DNS évoquée ces derniers jours. Cela permet de distinguer le vrai du faux et de mieux comprendre le fonctionnement de ces attaques dans la chaine DNS. (No)SQL Contrainte d’exclusion : nous connaissons tous les contraintes d’unicité mais parfois cela ne suffit pas. L’exmple montre comment mettre en place une contrainte d’exclusion sur la base de filtre de plage de réseaux : 192.168.122.0/28 est compris dans 192.168.122.0/24, donc si le 2nd est entré dans la base, le 1er ne pourra jamais être ajouté car il y a recouvrement. On retrouve un autre exemple de cette contrainte d’exclusion sur des dates dans l’astuce de la semaine de l’édition 289 de Posrgres Weekly. Understanding Database Sharding : un billet très explicite sur le partitionnement (sharding) de base de données, pourquoi et comment le faire. Il rappelle aussi les inconvénients à le faire et ce qu’il vaut mieux faire avant d’en arriver au sharding. TiDB: Distributed NewSQL with Kevin Xu : TIDB est une base qui se déploie sur Kubernetes et qui s’appuie sur RocksDB. Elle se veut “NewSQL” dans le sens où elle veut supporter à la fois des transactions et de l’analytique. Elle veut offrir notamment un support de MySQL mais dans les faits, le support reste encore limité. Pour ceux qui veulemnt déployer du MySQL sur Kubernetes avec du sharding, il vaut mieux aller voir du coté de Vitess Farewell to fsync(): 10× faster database tests with Docker : alors que l’actualité était plutôt sur le fait que Postgres gérait mieux les erreurs lors d’un fsync(), l’astuce consiste ici à désactiver fsync() et/ou à mettre le dossier des données de votre base en RAM pour accélérer les temps de déroiulement de tests. Testé chez un client, c’est un gain d’au moins 20s qui a été constaté sur une opération de quelques minutes (< 5). Timeseries Tutorial: Time Series Analysis with Pandas : un tutoriel assez progressif et didactique sur la manipulation de données temporelles avec Pandas. TSL: a developer-friendly Time Series query language for all our metrics : L’équipe d’OVH Metrics a crée son propre langage de requêtage orienté séries temporelles pour Prometheus et Warp10. Le billet raconte leur épopée dans le monde des base de données temporelles et comment ils en sont arrivés à créer TSL. On retrouve une syntaxe fonctionnelle et qui se retrouve assez proche de celle de Flux, qui lui supporte InfluxDB et Prometheus.

kubernetes traefik postgres pandas python docker runc operator ansible vitess tidb sharding timeseries kubedb fsync ovh dns
30/01/2019

Web, Ops & Data - Janvier 2019

Cloud The CTO of $4.4 billion MongoDB explains why he’s ’not terribly worried’ that Amazon’s cloud is encroaching on its turf with a new database : AWS a annoncé DocumentDB, compatible avec MongoDB. Le CTO de MongoDB revient sur cette annonce et explique en quoi il n’est pas terrifié : la nouvelle licence de MongoDB ne permet pas à AWS d’intégrer une version plus récente que la version 3.6, cela montre l’attrait des développeurs pour MongoDB, etc. Techcrunch va jusqu’à titrer : AWS gives open source the middle finger. Container et orchestration APIServer dry-run and kubectl diff : Un des soucis majeurs avec Kubernetes est l’écriture de fichiers YAML où la moindre faute peut s’insérer très rapidement et à l’insu de son auteur. Le billet présente les efforts fait pour ajouter un mode “dry run” qui simule les modifications et retourne l’objet qui aurait du être créé. Dans la même veine, un kubectl diff montrera les différences entre la ressource existante et celle décrite dans la nouvelle version du fichier yaml. 9 Kubernetes Security Best Practices Everyone Must Follow : rien de transcendental mais une petite piqure de rappel après la faille majeure découverte en fin d’année. Kubernetes NodePort vs LoadBalancer vs Ingress? When should I use what? : billet synthétique sur les avantages et inconvénients d’utiliser un service de type ClusterIP, NodePort, LoadBalancer ou Ingress. Sachant que l’on peut combiner LoadBalancer & Ingress !. Why Is Storage On Kubernetes So Hard? : Les données, c’est tout sauf stateless et le stockage distribué c’est pas facile non plus. Le billet revient sur les logiques de stockages sous Kubernetes (PV, PVC), la couche d’interface de stockage CSI et sur des solutions comme Ceph ou Rook. Stateful Kubernetes with Saad Ali - Software Engineering Daily : une présentation globale des Volumes, Persistent Volume, Persistent Volume Claims et des StorageClass sous Kubernetes et de l’évolution de la gestion du stockage sous k8s Kubernetes Podcast - #36 Rook : une présentation de Rook, un opérateur k8s de gestion de stockage (Ceph, NFS, etc). Data Machine Learning – 7 astuces pour scaler Python sur de grands datasets : si les 3 premières relèvent de l’optimisation de code, les 4 suivantes sont plus intéressantes : “downcaster” les variables, stocker vos CSV au format parqet, utiliser dask plutôt que pandaas pour avoir le parallélisme et choisir un modèle adapté. Cartographier le manteau neigeux avec Python : un exmple sympa et de saison de manipulation de données et de restituion graphique avec Python. Researchers Fool ReCAPTCHA With Google’s Own Speech-To-Text Service : des chercheurs expliquent comment ils passent le test de ReCAPTCHA avec plus de 80% de succès en demandant la version audio du captcha, la soumettant ensuite à l’API Google Speech To Text pour saisir ensuite le résultat. data Artisans + Alibaba: A new chapter for Open Source Big Data : data Artisans est la compagnie derrière le projet Flink. C’est un grand coup pour Alibaba et le signe que l’Asie part à la conquête du monde occidental. Nous occidentaux oublions souvent de regarder ce qui se passe à l’Est pour se concentrer sur l’Internet Occidental (Western Internet). Une actualité récente indiquait d’ailleurs qu’Alibaba était passé 4ème fournisseur de Cloud mondial - même si comme d’habitude, tout dépend des critères. IDE Liste de plugins pour éditeurs & IDE permettant de colorer les indentations et les parenthèses/accolades/… : de quoi faciliter la lecture du code, mais il faut parfois ajuster les couleurs suivant le thème de votre éditeur/IDE. Infrastructure (as Code) Tester son code d’infrastructure avec Terratest : le billet présente terratest, un outil en go qui permet de tester du code Terraform, des templates Packer ou encore des images Docker. La conclusion montre qu’il n’est pas parfait certes mais peut être intéressant. Infrastructure as (real) code : Faire de l’IaC, ce n’est pas que rédiger des fichiers YAML. Le billet montre comment on pourrait avoir de l’IaC avec du vrai code (du go en l’occurence). Avoir un vrai langage et un moteur de template semble en effet plus complet que juste du YAML pour lequel les validateurs sont assez faibles et la probabilité d’écrire une faute assez importante. Reactive planning is a cloud native pattern : Le reactive planning tiendrait dans l’idée que pour une action donnée, il va y avoir un plan et que ce plan est constitué d’une multitude de petites étapes. Chaque étape informant la/les précédentes et voire globalement sur l’état de l’étape en cours et peut décider des étapes suivantes. Langages Why you should use pyenv + Pipenv for your Python projects : Une solution propre pour mieux gérer ses versions de python installées sur son poste / sur un serveur avec pyenv et pipenv (mix de pip et virtualenv) pour gérer les dépendances. A tester ! Pipenv: promises a lot, delivers very little : le billet nuance les propos autour de pipenv comme le nouveau gestionnaire officiel (autopromu) et fait le point sur l’outil. shiv : Shiv permet de packager des applications python en une seule archive zip avec toutes les dépendances incluses. Disponible pour Windows / Linux / OSX, il faut néanmoins builder sur l’OS Cible pour que cela fonctionne - pas de “build one, run everywhere”. Logs Using Logstash to Split Data and Send it to Multiple Outputs : un exemple bien illustré pour traiter un fichier, l’enrichir de deux façons différentes et l’envoyer à deux endroits distincts. Cela tombe bien, j’avais un fichier de log à séparer en deux… (No)SQL Bye bye Mongo, Hello Postgres : The Guardian raconte sa migration de MongoDB vers Postgres de façon assez détaillée. Intéressant.

machine learning recaptcha flink alibaba cloud mongodb aws documentdb postgres test iac kubernetes ingress clusterip loadbalancer volume persistent volume claim nodeport logstash python pip virtualenv pipenv pyenv
31/10/2018

Web, Ops & Data - Octobre 2018

J’ai eu le plaisir et l’opportunité de participer à la réalisation de l’épisode 10 de Dev’Obs, le magazine du DevOps, pendant lequel nous avons parlé de formation, d’innovation et des tests dans la mouvance Infrastructure As Code. Acquisition IBM to Acquire Linux Distributor Red Hat for $33.4 Billion : Red Hat racheté par IBM - les implications sont monstrueuses sur l’écosystème Linux, Cloud, Infrastructure et Automatisation - je suis presque étonné que les autorités de la concurrence autorisent cela. A suivre ! Automatisation Mitogen for Ansible : extension pour Ansible qui permettrait d’accélérer Ansible via une optimisation de la connexion à l’hôte distant. “Expect a 1.25x - 7x speedup and a CPU usage reduction of at least 2x, depending on network conditions, modules executed, and time already spent by targets on useful work. Mitogen cannot improve a module once it is executing, it can only ensure the module executes as quickly as possible.” Molecule : molelcule est un framework pour Ansible permettant de tester les rôles/playbooks au travers de linter (syntaxe yaml, python, etc), mais aussi de réaliser des tests unitaires, de valider l’omnipotence d’une tâche, etc. A tester, mais vous ne devriez plus avoir de mauvaises surprises à l’exécution d’un playbook et ainsi mettre fin au cycle “run, break, fix” que l’on a trop souvent avec Ansible. Ansible to adopt molecule and ansible-lint projects : les projets molecule et ansible-lint vont passer sous l’organisation Ansible sur Github et ont pour objectif d’accroitre la qualité des playbooks ansible. Cela fait apparamment partie aussi d’un objectif RedHat de péréniser les ressources liées au projet tout en étendant l’écosystème. The release of Red Hat Ansible Engine 2.7 : Pas de révolution dans cette version, essentiellement des améliorations de perfomances/stabilité/connectivité. Il faudra une version python 2.7+ ou 3.5+ pour qu’Ansible fonctionne correctement. Reboot Plugin for Linux in Ansible 2.7 : Avec l’arrivée de cette version 2.7 arrive également officiellement le module reboot. Il permet ainsi de piloter des playbooks pour lesquels un reboot est nécessaire (mise à jour de noyau, etc). 12 Factor CLI Apps : le principe des 12 factors apps appliqué aux outils en ligne de commande. Il y a pas mal de bonnes idées (et donc de travail à faire) pour améliorer ses scripts. (No)SQL [RELEASE] Redis 5 is out! : l’annonce de la version 5.0 de la base Redis vient de sortir avec pas moins de 19 nouveautés listées. Si les Streams sont la principale nouveauté de cette version, de nombreuses améliorations ont été apportées à la base. La montée de version se veut compatilbe à 99%, il y a néanmoins quelques incompatibilités. PostgreSQL 11 Released! : la version 11 de la base Postgres vient de sortir - ce que j’ai retenu de cette version majeure, c’est le support du catch-all dans le partitionning (si une donnée ne correspond à aucune clé de partitionnement, alors le catch-all récupère cette donnée) et la capacité à mettre à jour ces clés de partitionnement. D’autres nouveautés sont également intéressantes, je vous laisse le soin de les lire. Une traduction française de l’annonce est disponible sur le blog de Loxodata. Sécurité Around 62% of all Internet sites will run an unsupported PHP version in 10 weeks : Pour les sites développés en PHP, à compter de janvier 2019, il faudra être minimum en version de PHP 7.1 pour avoir les mises à jour de sécurité - le support de PHP 5.6 et 7.0 se finit à la fin de l’année. Extended Validation Certificates are Dead : le bandeau avec l’intitulé de l’organisme propriétaire du certificat est en train de disaparaitre des navigateurs. Il ne sert donc plus à rien d’en acheter un. Removing Old Versions of TLS : TLS 1.0 et 1.1 ne seront plus supportés en mars 2020 dans les navigateurs. Dès aujourd’hui, ces deux versions ne représentant que ~1% du traffic observé par les navigateurs, il peut être judicieux de n’utiliser que du TLS 1.2+ et voir s’il n’y a pas quelques vieux programmes à mettre à jour d’ici là… Announcing the HashiCorp Learn Platform for HashiCorp Vault : pour ceux qui veulent se faire la main sur Vault et mieux gérer leurs secrets applicatifs, Hashicorp vient de lancer une plateforme gratuite et avec des contenus sous licence libre (un dépot sera prochainement mis à disposition) pour se former à leur outil Vault. Firefox 63 Lets Users Block Tracking Cookies - Firefox va incorporer un mécanisme expérimental de gestion des cookies pour limiter le pistage inter sites. A activer selon vos préférences.

ansible test ssh tls php molecule rolespec iac cli postgres redis certificats vault hashicorp training firefox cookie redhat ibm
29/08/2018

Web, Ops & Data - Aout 2018

Cloud & Open Source Redis Labs - Commons Clause - Redis will remain BSD licensed - Redis is not “open core”: ça chauffe entre l’OSS et les fournisseurs de cloud - pour que les fournisseurs de cloud évitent de se faire de l’argent sur le dos des solutions Open Source et sans contribuer en retour, Redis Labs va changer la licence de certains modules (et pas de tous le logiciel) pour limiter la revente via les fournisseurs de Cloud. It’s time for the open source community to get real : réflexion intéressance de Paul Dix (CTO InfluxData) sur le sujet du financement de l’Open Source au regard de l’événement Redis Labs. Container et orchestration Kubernetes is Now Available In Docker Desktop Stable Channel Announcing Istio 1.0 : la solution de service mesh à la mode vient de passer l’étape de la version 1.0 - Les release notes de la 1.0 vous donneront le détail. Reste à savoir si vous devez ou non utiliser une solution de Service Mesh… Kubernetes : comment écrire un déploiemnt : Billet faisant le tour des principales options de l’objet “Deployment” sous Kubernetes. Certaines options sont toutefois un peu trop résumées. (Big) Data & (No)SQL Reaper 1.2 Released : l’outil de gestion des “réparations” des données d’un keyspace Cassandra, initialement réalisé par Spotify et désormais maintenu par The Last Pickle, vient de sortir en version 1.2 avec son lot d’améliorations. Pour un client, il a été déployé, ce qui me permet de pouvoir contribuer modestement (#472, #473, #474) Re-Bootstrapping Without Bootstrapping : que faire lorsqu’un noeud d’un cluster Cassandra est sorti depuis plus longtemps que le temps de grace défini ? Le billet répond à la question pour ne pas repartir de zéro et le faire de façon “marginale”. Introducing Confluent Platform 5.0 : à l’occasion de la sortie d’Apache Kafka 2.0, une nouvelle version de la plateforme Confluent sort également avec les dernières nouveautés de KSQL, des améliorations coté stabilité/sécurité (Auth LDAP, Disaster Recovery, etc). Allez lire les notes pour en savoir plus et voir ce qui relève de la version 0SS et de la version Entreprise. Showdown: MySQL 8 vs PostgreSQL 10 – Hacker Noon : l’article confirme qu’avec MySQL 8.0, MySQL rattraperait Postgres au niveau des grandes fonctionnalités de base. DevOps The Site Reliability Workbook : Google sort un complément à son livre “Site Reliability Engineering”. Le livre est sensé donner des conseils pratiques ou partager des eemples issus de la réalité dans le cadre de la mise en place d’une démarche SRE. Timeseries Querying Prometheus with Flux (video - slides) : Paul Dix, CTO d’InfluxData, montre comment il est possible de requêter des données issues de Prometheus via Flux, le nouveau langage qu’InfluxData est en train de créer et dont l’objectif est de pouvoir manipuler des données temporelles. Ce cas permet de montrer l’utilisation de Flux dans un contexte autre qu’InfluxDB. CNCF to Host OpenMetrics in the Sandbox : OpenMetrics est une initiative de standardisation des formats de métriques - le projet rentre donc dans l’initiative de la CNCF. OpenMetrics to Join the CNCF ; Paul Dix a annoncé le support de ce format comme “citoyen de première classe” pour une version ultérieure d’InfluxDB. Le billet fait l’état des lieux du support au niveau de Telegrad et de Kapacitor. Prometheus Graduates Within CNCF : toujours coté CNCF, Prometheus, la plateforme de métriques, est le second projet (après Kubernetes) à passer au niveau officiel. TimescaleDB vs. InfluxDB: purpose built differently for time-series data : Comparaison par les gens de TimescaleDB entre leur produit TimescaleDB et InfluxDB. Même s"il est forcément un peu biaisé, il reste intéressant.

docker kubernetes cassandra reaper istio service-mesh cloud opensource redis kafka mysql postgres confluent openmetrics prometheus fluxlang influxdb timescaledb
28/03/2018

Web, Ops & Data - Mars 2018

Automatisation Ansible 2.5: Traveling space and time : au programme de cette nouvelle version : des namespaces pour les “facts”, la capacité d’interdire des modules, des nouvelles “variables magiques” (les magic vars sont des variables spécifiques à Ansible et l’exécution des playbooks). On notera aussi des améliorations sur le support Windows, des nouveaux modules cloud (AWS, GCP, Azure, VMWare) et des nouveaux plugins. Container et Orchrestration Apache Spark 2.3 with Native Kubernetes Support : Intéressant de voir que Spark peut maintenant être exécuté comme un pod kubernetes. On sort ainsi du mode de déploiement standalone ou dans un contexte Yarn (Hadoop) ou Mesos. From open source to sustainable success: the Kubernetes graduation story : le projet Kubernetes sort d’incubation et devient un projet de 1er niveau de la CNCF. Le billet permet de faire un retour sur l’histoire du projet. CNCF Cloud Native Interactive Landscape : la CNCF a sortie un annuaire interactif de leurs projets et membres. Docker 18.03-ce : Pas de grandes nouveautés a priori, plutôt des efforts de consolidation et de stabilisation du produit. Kubernetes 1.10: Stabilizing Storage, Security, and Networking : la consolidation et la stabilisation de la plateforme se poursuivent : la nouvelle interface de stockage CSI (Container Storage Interface) et le “Local Storage” passent en béta, CoreDNS est disponible en alternative à kube-dns en attendant de le remplacer et enfin, coté sécurité en version alpha, kubectl peut gérer des identifiants de plateformes cloud. Dataviz Grafana v5.0 Released Superset, l’outil de DataViz de AirBnB : un tutoriel pratique pour la prise en main de l’outil de data visualisation Superset. d3.js 5.0 : la librairie de représentation de données d3.js passe en version 5.0 avec notamment une incompatibilité avec le passages aux Promesses Javascript plutôt que les callbacks. Java No Free Java LTS Version? : Oracle change ses pratiques de distribution du JDK Oracle (Une version majeure tous les 6 mois, moins de report de patches, etc). Let’s encrypt ACME v2 and Wildcard Certificate Support is Live : Let’s Encrypt va donc fournir des certificats wildcard (*.domaine.fr). Si je m’étais réjoui de l’idée au début, je ne vois finalement pas ou peu l’intérêt du fait de la méthode de validation (enregistrement DNS avec le temps de propagation associé). En dehors du cas où l’on dépassait les limites d’enregistrement de Let’s Encrypt en terme de nombre de certificats, la génération dynmique et unitaire via une méthode HTTP me semble plus simple. Surtout quand on utilise Traefik ;-) Postgres Publication des manuels de formations Dalibo ! : Dalibo rend publics l’ensemble de ses manuels de formation, pour permettre à un maximum de personnes de se former sur PostgreSQL. Python Python 2 EOL will be 2020-01-01 : Petit rappel, Python 2.x ne sera plus supporté au delà de 2020. Pour Python 3, la version supportée actuellement est 3.4+. Cf Status of Python Branches. TICK Release Announcement: InfluxDB 1.5.0 and InfluxDB Enterprise 1.5.0 : des améliorations surtout sur la partie sauvegarde/restoration et la disponibilité officielle du nouveau format TSI (Time Series Index) adaptés pour des séries épéhmères. Chronograf Adds Annotations, Smarter Dashboard Loading, Improved TICKscript Support, and More : Chronograf, la solution de dataviz de la plateforme TICK semble aussi bien avancer avec la sortie de la version 1.4.2. Peut-être pas encore de quoi concurrencer Grafana mais les progrès sont sensibles. Astuce(s) du mois J’utilise Ansible dans une logique d’IAC et pour automatiser un maximum des actions pour la gestion de l’infrastructure et des applications de mes clients. Toutefois, chaque client avait son arborescence et la réutilisation d’un composant d’un client à l’autre était fastidieuse (copier/coller).

grafana tick chronograf influxdb dataviz ansible spark docker kubernetes cncf superset java Let's encrypt postgres python d3.js
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

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