CérénIT

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

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.

Conteneurs et orchestration

  • Red Hat Enterprise Linux 8 Beta: A new set of container tools Intéressant RHEL 8 ne contiendra plus docker mais les alternatives comme podman, buildah et skopeo.
  • Goodbye Docker and Thanks for all the Fish : Le titre est un peu provoc mais l’analyse est bonne du fait de l’évolution de l’écosystème des conteneurs et des techno associées. La modularisation de docker a permis de construire des outils plus spécialisés - reste que le package docker fourni pour le moment une expérience plus agréable et de bout en bout.
  • If You K8s, Please Try K9s… : k9s est un petit outil qui permet d’avoir une vision des ressources d’un cluster kubernetes.
  • k3s.io : une distribution de kubernetes amincie, éditée par les gens de Rancher. Elle n’en est pas moins une distribution certifiée. Cette distribution a fait le choix de supprimer des fonctionnalités non essentielles pour en arriver à un binaire de 40 Mo et un pré-requis de 512 Mo de RAM. Idéal pour des scénarios d’IoT, d’edge computing ou plu simplement pour se former à kubernetes en utilisant vos raspberry pi !
  • k3d - A fast kubernetes dev environment : k3d est un script qui se base sur k3s mais le déploie dans du docker. L’idée est alors d’avoir un mini cluster kubernetes pour tester ses développements. Si le challenge technique peut être intéressant, déployer un environnement via minikube ou un petit cluster kubernetes sur des vms pour du test est peut être plus judicieux…
  • Back to Traefik 2.0 : l’équipe Containous dévoile les nouveautés de Traefik 2.0 : proxy tcp (et plus uniquement http), meilleure intégration kubernetes avec une CRD et plein d’autres choses.
  • ‘Cloud Native DevOps with Kubernetes’ is published! : le livre sur les applications cloud native dans un contexte kubernetes et dont j’ai eu le plaisir de participer à la relecture est (enfin) sorti. Son principal intérêt pour moi est une bonne présentation des concepts de Kubernetes et surtout son retour d’exéprience pragmatique sur les bonnes pratiques autour de kubernetes. Je le recommande vivement !

Data

  • La veille techno dans la data : si vous vous intéressez à la data, un billet utile qui vous donne des nombreuses sources pour alimenter votre veille : newsletters, podcasts, conférence, blogs, etc.
  • Grafana v6.0 Released : La solution de dataviz opensource Grafana sort en version 6 avec comme nouveautés principale un explorateur de données et leur intégration de loki leur nouvelle solution d’ingestion de logs prometheus.

Cloud

  • AWS Re:Invent 2018 : Difficle de passer à coté des annonces d’AWS - AWS re:Invent 2018 - Jour 1, AWS re:Invent 2018 - Jour 2, AWS re:Invent - Jour 3, AWS re:Invent - Jour 4 : le résumé des sorties de la conférence AWS re:Invent 2018 par le cabinet Ippon.
  • #9 - Quentin Adam - Horacio Gonzales - Steven Le-Roux - La guerre du cloud : dans cet épisoide du podcast databuzzword, il est question de guerre du cloud, du multi-cloud, d’AWS et de ses “partenariats” et du cloud chinois et russe.
  • Episode 63 : “Re-Invent le Cloud” : L’épisode 63 de BigDataHebdo s’intéresse aussi aux annonces de la conférence d’AWS et discute aussi d’AWS et du monde de l’opensource.
  • License Changes for Confluent Platform : la sortie de l’offre Kafka managé n’a pas plus à Confluent. A l’instar de Redis et MongoDB, c’est au tour de Confluent d’adopter une licence plus restrictive pour les fournisseurs de cloud dans le cadre de la distribution de sa platforme Confluent. La licence de Kafka est inchangé, cela concerne l’API Rest, la Schema REgistry, KSQL et des connecteurs confluent.
  • Copyleft and community licenses are not without merit, but they are a dead end : Paul Dix, le CTO D’InfluxData donne son avis sur les changements de licences en cours. Un point intéressant est que ce changement de license vers des licences de type “Community” va surtout pénaliser les développeurs en créant une incertitude autour du mode de collaboration/contribution et peuvent aussi chercher à créer un monopole pour les services SasS créés par l’éditeur du produit. Oui il est dommage qu’AWS par ex ne contribue pas à Kafka/Confluent dans le cadre de son offre managée, mais par la même occasion Confluent se crée un monopole de fait sur l’offre SaaS autour de KSQL. Est-ce vraiment mieux ? En ce sens, Paul préfère alors soit du tout open ou tout fermé - mais que la solution du milieu n’est pas si idéale que ça (surtout pour des couches basses des produits sur lequel nous sommes censés bâtir quelque chose).
  • We need Sustainable Free and Open Source Communities : Pour finir sur une note plus optimiste, l’auteur cherche à renverser la conversation en regardant comment créer des communautés soutenables et faire en sorte que la licence permette de soutenir la communauté. Pas sur que les libristes les plus convaincus n’y voient pas une atteinte aux libertés du logiciel justement : “Any commercial activity around the software must further the sustainability of the community, and the potential for commercial benefit must be available to all. The incentives in any commercial model must bend away from the creation of proprietary downstream software”

Container et orchestration

  • Introducing Traefik Enterprise Edition : le reverse proxy Traefik voit apparaitre une version Entreprise qui se veut plus distribuée avec l’apparition d’un “data plane” qui gère les connexions et joue le rôle de reverse proxy et un “control plane” qui coordonne le bon fonctionnement des noeuds.
  • CNCF to Host etcd : la base clé/valeur distribuée etcd et qui sert notamment de datastore pour kubernetes va être hébergé par la CNCF. Elle fut développée initiallement par CoreOS, désormais propriété de Red Hat (et donc IBM).
  • [Podcast] PodCTL – Kube Security, Kube 1.13 and KubeCon :
  • MetalLB : MetalLB propose de fournir un service de type load balancer prévu pour cluster Kubernetes dans un contexte bare metal (ie non cloud).
  • MetalLB, with David Anderson : Episode du Kubernetes Podcast sur MetalLB avec son auteur pour une présentation de la solution.

Dataviz

  • Grafana v5.4 Released : une version de consolidation avec des améliorations sur la temporisation des alertes avant de l’émettre. D’autres améliorations sur l’intégration Google Stackdriver, l’éditeur de requêtes MySQL et des améliorations sur les panels et des préférences d’équipes.

Langages

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.

Méthodologie

  • Infliger de l’aide : Quand une personne demande de l’aide et qu’on n’y met pas d’empathie, on peut alors lui infliger de l’aide - Je pense que je vais reprendre ce concept et l’appliquer.

Sécurité

Tests

Web

Windows

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.

Admin Sys

  • l y a un poisson dans ma coquille ! : J’avais fait il y a quelques années un détour par le shell zsh via “Oh My ZSH” mais je n’étais pas allé bien loin, revenant au final au bon vieux bash. L’article m’a donné envie d’essayer fish et pour le moment, je trouve ça plutôt pas mal. Ne pas se fier à la première impression du site :)
  • Pour faire fonctionner virtualenv(wrapper) avec Fish: VirtualFish
  • Pour enrichir votre Fish, vous pouvez vous appuyer sur fisherman ou le projet oh-my-fish

Containers

  • Adventures in GELF : où l’on apprend notamment que les logs sont par défaut au format JSON et surtout qu’il n’y a pas de rotation des journaux par défaut :‘( ; l’article montre ensuite les intérêts du format GELF (avoir un message sous la forme d’un dictionnaire/tableau au format clé/valeur) et les limites (connextion UDP) avec les solutions de contournement actuelles et les solutions à venir prochainement.
  • Announcing Docker Entreprise Edition : Docker Inc annonce une version “Docker Community Edition” et une version “Docker Entreprise Edition” (avec support). Il y aura désormais une version stable trimestrielle (avec changement de versionning à la Ubuntu : YY.MM et une politique de support de 4 mois) ou une version “bleeding edge” mensuelle pour la version communautaire (support mensuel). Pour la version entreprise, c’est trimestrielle avec 1 an de support & maintenance. Docker Inc se dote également d’un programme de certification pour la partie matérielle, système sous jacent, les plugins et les conteneurs en eux même. Une réponse notamment fait à Docker de trop changer le comportement de docker et de ses composants/fonctionnalités d’une version à une autre.
  • CoreOS a l’intention de donner rkt à la Cloud Native Computing Foundation qui hébergedéjà de nombreux projets cloud dont Kubernetes. Docker Inc va faire de même avec containerd. Si le billet de CoreOS laissait penser un travail commun, le billet de Docker ne me donne pas cette impression. Donc a priori chacun va travailler de son côté et on regarde qui sort vainqueur à la fin ? La guerre des containers n’est pas finie…
  • From dotCloud to docker : Une retrospective sur l’histoire de Docker.

Cloud

  • Google Cloud Platform: your Next home in the cloud : Google avait jusqu’à présent plutôt un positionnement de marché de niche où pour aller sur leur cloud il fallait adopter leurs produits. Avec la Conférence Google Cloud Next 2017, s’opère un sacré changement et que Google semble revendiquer : devenir un acteur global du cloud et être en mesure d’accompagner ses clients sur l’ensemble de leurs sujets. S’il ne fallait qu’un exemple, je pendrais bien celui de la certification de SAP HANA sur GCP. On notera aussi l’arrivée de Postgresql en service managé, de nouveaux langages pour App Engine, etc. Je vous laisse trouver les nouveautés mais pour moi la nouveauté est ce changement de positionnement de Google. Les autres fournisseurs de cloud ne doivent pas forcément être ravis de ce changement ; reste à voir si Google convaincra les autres clients. Si par ailleurs, les clients sont déjà chez Google Suite, on peut imaginer qu’ils passent plus aisément dans Google Cloud pour n’avoir qu’un fournisseur…
  • 100 announcements from Google Cloud Next 17 : la liste complète des 100!! annonces…

DevOps

  • Site Reliability Engineering : le terme de Site Reliability Engineering (SRE) prend de plus en plus d’ampleur depuis quelques mois. Un SRE est une personne avec un profil plutôt développeur mais qui est aussi à l’aise sur la partie “opérations” et donc en mesure d’assurer l’exploitation de son application (avec les incidents liés) ; il travaille donc sur les 2 tableaux pour son application. Google partage dans ce livre son expérience de la mise en place de ses équipes SRE pour une partie de leurs produits.

GraphQL

  • Use all the databases - part1 et Use all the databases - part 2 : Deux billets présentant GraphQL qui se veut un successeur de REST. L’article montre comment avec une seule requête faite sur un endpoint GraphQL, on peut aller récupérer des données dans plusieurs bases de données. Intéressant, mais à voir si cela n’est pas trop magique et si on ne crée pas un SPOF de l’application en procédant ainsi.
  • GraphQL Guide : site du livre en cours de préparation sur GraphQL
  • Appolo : le client de référence sur GraphQL utilisable notamment avec React (Native), AngularJS, iOS & Android.

HTML5

  • Managing Push Subscriptions : nouvel article d’une série sur les bonnes pratiques à adaopter lorsque l’on génère des notifications en Push via WebPush.
  • State of Responsive Images 2017 : en version courte, c’est mieux, mais c’est pas encore tout à fait ça. Plus sérieusement, un état des lieux sur les images responsives, ce qui a été fait, les chantiers incomplets voire ratés.

Javascript

  • NPM vs Yarn : une revue assez détaillée des avantages de Yarn sur NPM.

Opensource

Queues & Messages

  • Why Messaging Queues Suck : Réflexion intéressante autour des bus de messages et de la soi-disante agnosticité des producteurs de topics vis à vis de leur consommateurs. Au final, de part les procédures de définition d’accès à un topic (dans un contexte cloud), la partie agnosticité est toute relative. Du coup, pour l’auteur, il est plus intéressant de faire des “endpoints” HTTP entre 2 services et que ce soit le client qui implémente son propre système de queue en interne. Cela mérite réflexion et peut avoir ses intérêts en fonction de votre architecture.

Sécurité

  • Announcing the first SHA1 collision : Google a annoncé la première collision obtenue avec le protocole de chiffrement SHA-1. Une collision est obtenue lorsque la signature de deux fichiers est identique, alors que théoriquement, chaque fichier devrait avoir une signature unique. Même si les conditions pour obtenir cette collision reste assez peu exploitable de part les ressources nécessaires pour le faire, la dépréciation de SHA-1 est accélérée. Par ex, Firefox, qui avait prévu de le finaliser l’abandon du support de SHA-1 avec la version 52 du navigateur vient de le faire en accéléré suite à cette publication et Google Chrome en a fait de même.
  • Incident report on memory leak caused by Cloudflare parser bug : un bug identifié par l’équipe de Google a révélé que depuis septembre 2016 et jusqu’à fin février 2017, un composant de l’infrastructure de Cloudflare divulguait des informations sensibles (identifiants, cookies, etc) de ses utilisateurs lorsqu’il parsait des pages HTML mal formées. L’article de NextImpact l’explique bien, il faut globalement changer vos mots de passes et renouveller vos cookies pour les sites utilisant Cloudflare (une liste ici ou ce site)
  • HTTPS : De SSL à TLS 1.3 : rétrospective et explications sur les différents mécanismes de chiffrement disponibles, leurs forces/faiblesses et l’avenir avec TLS 1.3

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