CérénIT

Cloud & Open Source

Container et orchestration

(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.

Big Data, Machine Learning & co

Cloud

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

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.

Le Blog

Nous partageons ici notre veille et nos réflexions

Nuage de tags

docker kubernetes elasticsearch postgres kafka ansible grafana traefik python aws influxdb mysql sécurité tick cloud redis chronograf swarm test cassandra hashicorp microservice ovh serverless spark terraform angularjs cncf confluent container graphql javascript log opensource rancher stream timescaledb windows api architecture arm csp devops dns docker-compose documentation elastic hpkp iac ingress java kapacitor kibana lambda lean licence microsoft nginx npm orientdb rest rethinkdb reverse-proxy service-mesh sql ssh agile apm azure bash big-data bilan certificat cli cluster continous-delivery cookie cérénit fluxlang gcp gdpr git grav hsts https hypriot istio json ksql kubedb lets-encrypt linux load-balancer machine-learning mobile monitoring perspective php pip prometheus redhat replication rook rsyslog s3 scale scaleway solr systemd telegraf timeseries vault virtualenv vue.js wagtail yarn accessibilité akka alerte alibaba amazon-emr anonymisation ara automatisation bastion beam beat bounded-context branche brigade browser buildkit cdc cert-manager certificats checklist chrome cloud-init cloud-native cloud-storage clusterip cockroachdb code codeurs-en-seine confluence consul containerd continous-integration coreos cors cqrs crash cron crontab csrf css curl d3.js daemonset dashboard data-pipelining dataviz date ddd debezium debian deployment desktop devoxx distributed-systems dive docker-app docker-registry documentdb dokcer draft drop-in ebs ec2 edge elassandra electron elk engineering etcd event-sourcing facebook falcor feature-policy feed filebeat firebase firefox fish flash flask fleet flink fluentd flux foundation framework frontend fsync fullstack github glacier glowroot google google-cloud-next gpu grid géospatial hacker hadoop hdfs header helm html html5 http http/3 hue ia iaac ibm immutable incident index infrastructure-as-code ingénierie inspec jq jquery jwt k3d k3s k8s k9s kubeadm kubecon laravel liste-de-diffusion loadbalancer logstash logstatsh loi mailing-list management mariadb message metallb micro-service molecule mongodb mot-de-passe multi-cloud médecine newsletter nodeport nomad nosql null openebs openmetrics openshit openssh openweb operator over-engineering packaging pandas password performance persistent-volume-claim pipenv portainer publicité push pyenv queue quic raml react reaper recaptcha recherche reindex reinvent responsive revocation revue-de-code rkt rolespec root rpi rpo rto runc rwd search secrets select serverless-architecture service-worker sha1 sharding shell shipyard société spinnaker sre sri ssh-agent ssl statistique superset sympa syslog-ng test-unitaire tidb tiers timer timezone tls training travail ubuntu unikernel unit ux vie-privée virtualbox vitess vm vnc volume voxxeddays vpc vscode

Syndication

Atom