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.
Architecture Goodbye Microservices: From 100s of problem children to 1 superstar : L’article fait pas mal de “bruit” en ce moment mais je ne suis pas sur qu’ils arrivent à la bonne conclusion au final ; Partir de microservices et multiples dépots gits pour revenir à un monolithe/mono dépot git, j’ai l’impression que la réponse au travers des outils n’adresse pas le problème de fond à savoir la gouvernance de l’ensemble. En effet, si les versions différaient tant que cela, l’approche centralisé a peut être mis un terme en forçant tout le monde à se rencentrer sur une version donnée mais s’il n’y a pas de règles, le résultat sera le même prochainement mais ils auront moins de liberté. Miniservices as a Realistic Alternative to Microservices : du coup, pour réduire les frictions, certains proposent de faire des micro-services plus gros avec le risque d’arriver à plein de moyens monolites… Je mets donc pour rappel cet article que j’ai déjà mentionné : Enough with the microservices. Il rappelle que c’est surtout la modularité et une architecture propre du code qui donne de la flexibilité. Et puis tout le monde n’a ni le contexte, ni la maturité pour se lancer dans les micro-services. Automatisation Ansible 2.6: Your Time Has Come! : une version de consolidation avec des améliorations coté cloud et surtout sur l’utilisation de la mémoire lordque l’on utilise les “Dynamic Includes”. Container et Orchestration Blog: Kubernetes 1.11: In-Cluster Load Balancing and CoreDNS Plugin Graduate to General Availability : Kubernetes continue son travail de consolidation et de stabilisation. Service Mesh: Promise or Peril? : si les service mesh peuvent paraitre attrayant, leur intégration n’est pas forcément évidente et il faut aussi prévoir cette couche intermédiaire dans le développement de votre application. Leur utilisation n’est donc pas toujours recommmandée/souhaitable - l’article propose de faire le point sur le sujet. Container Native Development with Ralph Squillace : cet épisode de podcast petmet d’avoir une présentation d’Helm (package manager), Bridage (gestion de workflow kubernetes) et Draft (aide à la conteneurisation d’une app). D’autres outils sont mentionnés en fin d’épisode pour agrémenter son quotidien (extension vscode, etc). Extending Support Cycle for Docker Community Edition : A l’occasion de la sortie de Docker CE 18.06, quelques ajustements : les versions stables sortiront tous les 6 mois maintenant (et plus tous les 3 mois) et avec une période de maintenance de 7 mois, le canal edge (monthly release) est arrêté au profit d’un canal nightly, docker for Windows/Mac gardent une release mensuelle (pour le canal edge), plus de packaging par distribution pour mieux coller à l’actualité de la distribution. Dataviz Grafana v5.2 Released : L’alerting est disponible sur ElasticSearch, Builds ARM officiels, amélioration de la sécurité (support des secrets docker, gestion des mots de passe admin), amélioration coté InfluxDB et Prometheus, etc. Mapocalypse : Migrer depuis Google Maps, Maintenant 1/2 et Mapocalypse : Migrer depuis Google Maps, Maintenant 1/2 : si la partie 1 remet en contexte l’augmentation de tarifs de Google Maps, le second a pour intérêt de présenter et d’expliquer le fonctionnement des solutions alternatives. DevOps Une décennie DevOps, quels enseignements tirer ? : synthèse globale et assez factuelle sur 10 ans de DevOps qui a le mérite de signaler les points où ce n’est pas encore ça. Courage, la transformation/l’adoption est en cours malgré tout. (No)SQL Select all columns except one in MySQL? : Cela peut toujours être utile de le savoir… Timeseries Release Announcement: InfluxDB 1.6.0 OSS : InfluxData sort la version 1.6 de sa base de données temporelles avec comme améliorations significatives : fonctions supplémentaires sur InfluxQL, Accélération des backups via un meilleur parallélisme des tâches et l’arrive de la gestion du “back pressure” pour éviter la congestion lors des écritures. Flux (#fluxlang): a new (time series) data scripting language : présentation à date du design et des fonctionnalités de Flux (ex IFQL) Why We’re Building Flux, a New Data Scripting and Query Language : Paul Dix, CTO d’InfluxData revient sur les raisons de la création du langage flux et pourquoi SQL n’a pas été retenu. Chronograf 1.6 Released: Introducing Log Viewer and Additional Sharing Capabilities : J’en parlais le mois dernier, Chronograf se dote d’un visualiseur de log (log viewer) et semble aller plus loin que ce qui était annoncé dans la plateforme d’ingestion de logs. Les autres nouveautés tournent autour du partage des dashboards avec des tiers.
Container et Orchrestration Au revoir : Solomon Hykes, un des fondateurs de Docker tire sa révérance dans une note qui se veut positive. Un autre article nuance un peu cette réalité. Crise de croissance ? Rachat en perspective ? Let’s see… Releasing HypriotOS 1.8.0: Raspberry Pi 3 B+, Stretch and more : l’équipe Hypriot a mis à jour sa distribution Hypriot OS en version 1.8. Elle est basée sur Raspbian Stretch (et non plus Jessie), supporte le dernier modèle de Raspberry Pi et fourni les dernières versions de docker, docker-compose et docker-machine. Une version 1.8.1 est déjà en cours de préparation, suivez de près la page de release du projet Docker Registry API to be standardized in OCI : après la standardisation des images et du runtime des conteneurs, c’est au tour de la distribution de faire son effort de standardisation. La registry docker, standard de fait, devrait donc devenir une norme. A House of Cards: An Exploration of Security When Building Docker Containers : une revue des éventuelles failles de sécurité qui pourraient être exploitées lors de la construction d’un conteneur. Mais bon, vous relisez vos Dockerfile bien sûr ! NoSQL Cockroach 2.0 (What’s New in v2.0.0 - CockroachDB 2.0 Has Arrived!) : la base de données Cockroach, implémentation open source de la base de données Spanner de Google, passe (déjà) en version 2.0. Au programme des améliorations mises en avant : support du format JSON (reprise du format de Postgres), amélioration des débits et de la scalabilité, amélioration de l’outillage pour la gestion d’un cluster géo-distribué. De retour du Breizh Camp Quelques liens récupérés des différentes conférences auxquelles j’ai pu assister.
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).
Big Data Compte rendu du Spark Summit 2017 (Dublin) : La conférence européenne annulle de l’éditeur de Spark, Databricks, a cherché à montrer que le Streaming et le Deep Learning sont/seront bientôt plus accessibles via Spark et également la plateforme cloud DataBricks. Dataviz Grafana 4.6 Released : Nouvelle version de l’outil de visualisation des bases de données time series mais pas uniquement avec l’ajout de la source Postgres, du support de l’alerting pour Amazon Cloudwatch, des annotations simplifiées sur les graphs et autres améliorations sur la base prometheus. Wizzy : il s’agit d’un ensemble de script pour versionner et se simplifier la gestion de ses dashboards réalisés sous Grafana. Pas encore testé, sous peu ! Cloud Bootstrapping a Cloud with Cloud-Init and HypriotOS : j’avais croisé Cloud-Init dans Rancher OS mais n’avais pas eu le temps d’investiguer le sujet. Récemment, un podcast avec son créateur m’a permis d’en savoir plus sur le projet, à savoir que c’est un ensemble de script python qui permettent de configurer une machine lors de son initialisation (boot). Cet article permet du coup d’en avoir un exemple pratique par la configuration d’une image pour un Raspberry Pi 3 installant automatiquement le logiciel NextCloud sous la forme d’un container Docker. Elasticsearch An Ansible role to Manage your Elasticsearch Clusters : Synthesio publie son playbook ansible pour gérer des clusters Elasticsearch ; vu les clusters gérés, il y a surement de bonnes choses à récupérer - la limite étant peut être que pour un cluster de débutant, cela pourrait être trop complexe au regard du besoin. A évaluer suivant votre contexte. Operating Large Elasticsearch Clusters : un retour d’expérience de l’équipe Synthesio sur la bonne gestion de leurs clusters ElasticSearch lors des Sysadmindays il y a peu. La Stack ELK passe en 6.0 : Elasticsearch 6.0.0 GA released : mise à jour sans downtime, index filtré, meilleures performances, meilleure résilience et meilleure sécurité (mot de passe, usage de TLS). Logstash 6.0.0 GA released : il est désormais possible d’avoir des pipelines dont l’exécution se fait en parallèle et via X-Pack, il y a maintenant une UI pour piloter vos pipelines. Kibana 6.0.0 GA released : Plein d’améliorations au programme : Export CSV, Amélioration de l’UI, Mode lecture seule pour pouvoir partager des dashboards et d’autres nouveautés spécifiques à X-Pack. Beats 6.0.0 GA released : capture des données Docker/Kubernetes, auditbeat pour captuer les données d’auditd, une meilleure gestion des modules et de leur configuration, amélioration de performance et du stockage des données. Devez-vous migrer vers Elasticsearch 6 : l’équipe Jolicode passe en revue les avancées de la version 6 et globalement conseille de passer vers cette version 6. GraphQL Modernisez vos API, passez à GraphQL ! (slides et vidéo) : Une introduction à GraphQL présentée à Codeurs en Seine 2017. Je reste toujours sceptique sur GraphQL, si coté client cela semble magique, personne ne montre la partie backend pour que la “magie” opère. The GraphQL stack: How everything fits together : état des lieux suite à GraphQL Summit 2017 sur les parties cache, tracing (suivi d’une requête de bout en bout du système) et composabilité d’API (une requête GraphQL qui intérogge plusieurs API au lieu d’une). Kafka Apache Kafka Goes 1.0 : cette version 1.0 représente plutôt la complétude à l’égard d’une vision de ce que devait être Kafka que de sa stabilité ou de sa capacité à être utilisé en production. Le billet énoncce les derniers apports mais reviens surtout sur tout cette génése et la vision associée au produit. (No)SQL Memento PostgreSQL 10 : un petit memento pour Postgres 10 - toujours utile à avoir sous la main ! Time Series InfluxDB 1.4 Now Available: InfluxQL Enhancements, Prometheus Read/Write, Better Compaction and a lot more! : au programme de cette version des améliorations sur InfluxQL avec des commandes permettant de mieux connaitre les performances des requêtes (EXPLAIN & SHOW CARDINALITY), le support des endpoints prometheus en lecture/ecriture, des améliorations sur la compaction ainsi que le serveur http et le client (gestion des connexions). D’autres fonctionnalités plus expérimentales sont aussi disponibles. Announcing IFQL – A New Query Language and Engine for InfluxDB : parmi les nouvelles fonctionnalités expérimentales de InfluxDB 1.4, il y a IFQL, le nouveau langage de requêtage d’InfluxDB. La syntaxe s’apparente à celle de Javascript avec l’usage de fonctions et la possiblité d’enchainer des fonctions. select(db:"foo") .where(exp:{"_measurement"=="cpu" AND "_field"=="usage_system" AND "service"=="app-server"}) .range(start:-12h) .window(every:10m) .max() Announcing Prometheus 2.0 : Nouvelle version de la base de données orientées time series hébergée par la CNCF et qui a le vent en poupe. Cette version apporte notamment des améliorations en termes de performances (usage CPU, stockage, usage IO) TICK-Tac - Il est l’heure de collecter et exploiter vos données temporelles : les slides de mon talk à la conférence Codeurs en Seine 2017 sur les bases de données temporelles sur la base de la plateforme TICK (Telegraf, InfluxDB, Chrongraf, Kapacitor) et Grafana. En prime, la vidéo
Agile Feature Branching is evil ! : si la branche isole le nouveau code, il isole aussi le développeur des autres avancées et repousse à plus tard les problématiques de réintégration de code, refactoring, etc. L’auteur avance le feature flipping et le “trunk based development” pour avoir une intégration continue perpétuelle et des écarts les plus petits possibles. DevOps Terraform Layering : Pourquoi et comment ? : Un fichier Terraform peut vite devenir illisible dans le cas d’une architecture complexe et consommateur de temps lors de son exécution. Le billet présente une méthode pour traiter ces problèmes. Il s’agit de créer des “couches” (layers) permettant d’avoir plus de modularité et permettant qu’un fichier terraform s’appuie en entrée sur les données de sorties du fichier précédent et ainsi de suite. Elastic Welcome Opbeat to the Elastic family : Elastic se lance sur le marché de la performance applicative (APM) en acquérant la société Opbeat. Suite assez logique pour Elastic après l’ingestion de données plus orientée monitoring système avec Logstash/Beat ou des intégrations spécifiques pour faire de l’APM en s’appuyant sur Elastic. Designing the Perfect Elasticsearch Cluster: the (almost) Definitive Guide : le billet traite le design d’un cluster Elasticsearch et les points d’attention à avoir. Ce n’est pas la recette magique (elle n’existe pas) mais donne tous les points d’attention à avoir dans le cadre du déploiement d’un cluster Elasticsearch. Top 15 Solr vs. Elasticsearch Differences : pour ceux qui hésitent encore entre les 2 solutions, une petite revue en 15 poins pouvant vous aider à choisir la solution correspondant à votre besoin. Infrastructure Serverless vs Micro-Service avec infrastructure “maison” : comparaison de la mise en place d’une infrastructure à base de micro-services vs une infrastructure “serverless” avec prise en compte des effets de vendor lock-in, impacts entre infrastructure et architecture logicielle, facilité de dépoiement, flexibilité, etc. MySQL The MySQL High Availability Landscape in 2017 (The Elders) : Premier blog d’une série a priori sur les solutions de haute disponibilité avec MySQL. Ce billet traite des solutions historiques (réplication, stockage partage, cluster NDB) et de leurs forces/faiblesses. Sécurité HTTPS on Stack Overflow: The End of a Long Road : récit complet de la migration de Stack Overflow vers https avec tous les enjeux et soucis rencontrés pour l’ensemble de leur plateforme. Hygiène numérique pour l’administrateur système : revue des bonnes pratiques de sécurité à appliquer sur son serveur. Tests k6 : un outil en Go et Javascript permettant de faire des tests de performance. Sa prise en main a l’air aisé et il semble avoir des fonctionnalités assez intéressantes pour faire des tests variés que ce soit sur la profondeur du scénario (1 ou plusieurs urls) ou les niveau de tests (checks, ratio, etc) TICK (Telegraf, InfluxDB, Chronograf, Kapacitor) Monitorer votre infra avec Telegraf, InfluxDB et Grafana : Introduction rapide pour mettre en place une instance “TIG” et comparaison avec les outils comme Zabbix ou Prometheus. Bonus : Lecture de l’été #hyperlean – Ce que signifie l’avènement du numérique : je n’ai pas encore lu le livre mais je suis le blog de Cecil depuis des années et ses aventures dans le monde de l’agile, du lean, de l’entreprise collaborative et de la transformation digitale. Son livre se veut un guide pratique de la transformation digitale en abordant le pourquoi, le quoi et le comment. Dans le comment, on va retrouver forcément la méthode lean.
Plateform TICK Beta 3 of Chronograf : Chronograf 1.1 continue son bonhomme de chemin avec la parution d’une bêta 3 apportant son lot d’améliorations et de correctifs. Container & Orchestration Kubernetes 1.5: Supporting Production Workloads : Kubernetes, dans cette version 1.5, apporte des améliorations notamment sur la gestion des applications statefull (passage d’un statut alpha à beta) et plein de choses en alpha : le support des containers windows, la fédération de cluster kubernetes, la haute disponibilité, etc. containerd – a core container runtime project for the industry : Docker Inc continue de modulariser Docker (Engine) en publiant “containerd” et en prévoyant de le donner à une fondation en début d’année prochaine. Containerd est la partie centrale d’exécution du container. Il a été déployé silencieusement depuis Docker 1.11. L’idée de containerd serait de devenir le “format” universel pour faire tourner des containers sur lequel tout le monde s’appuierait… A suivre dans la guerre des containers et des initiatives de standardisation (ou pas). An Early Look at Ansible Container v0.3.0 : Ansible 2.x permet déjà d’interagir avec les containers docker, ansible-container permet d’aller plus loin dans la gestion des containers avec ansible. Cette version apportera le support du format docker-compose v2 et le support de docker 1.12. Même si je suis parvenu à piloter des containers docker avec Ansible 2.2, j’avoue qu’il y a quelques bugs pénibles et j’ai pas forcément l’impression que ce soit la bonne façon de faire. Peut⁻être que ce module apportera des réponses ou qu’il faut repenser la chose différemment. Making Elasticsearch in Docker Swarm Elastic : Un billet intéressant sur le déploiement d’Elaticsearch dans un contexte Docker Swarm. En effet, la partie pénible est de gérer la découverte par IP des noeuds et de rendre cela accessible de l’extérieur du cluster. Le billet présente des astuces pour le faire. J’aurais bien aimé l’avoir il y a de cela 6 mois à 1 an… NoSQL Redis — The AK-47 of Post-relational Databases : une bonne présentation de la base NoSQL Redis et de toutes ses capacités. ARM Hypriot OS 1.1.2 : vos raspberry pi vont être gatés avec les dernières versions de Docker, Docker-Compose et Docker-Machine. Je détaillerai en janvier la mise en place d’un cluster docker avec Hypriot OS avec 5 Raspberry et 2 Cubietruck qui permettent d’avoir un stockage distribué/résilient avec GlusterFS. Python Maya: Datetime for Humans™ : l’auteur de l’excellent module requests qui permet de faire simplement des appels HTTP, nous fait la même chose mais pour les dates. Sympathique, même si l’auteur admet lui-même que sa librairie ne fait pas tout pour autant. Bonnes fêtes de fin d’année à tous !
Kubernetes Introducing Operators: Putting Operational Knowledge into Software : l’équipe de CoreOS vient de dévoiler les Operators, un complément à Kubernetes permettant, pour des applications stateful, de gérer une logique “métier” (création/suppression, perte d’un composant, mise à jour, sauvegarde, etc). Autant pour des applications stateless, il suffit d’instancier une nouvelle instance du composant, autant pour des applications stateful, il faut parfois avoir des commandes supplémentaires ou récupérer des informations des autres composants. C’est cette logique que les Operators apportent. On le comprend mieux en lisant les billets sur l’Operator d’etcd ou celui de Prometheus TICK (Telegraf, InfluxDB, Chronograf, Kapacitor) InfluxDB 1.1 released with up to 60% performance increase and new query functionality : des améliorations en termes de performance, stabilité (RAM) mais aussi de nouveaux filtres de requêtage. Kubernetes monitoring and utoscaling with Telegraf and Kapacitor : un exemple d’utilisation de la plateforme TICK pour monitorer son cluter Kubernetes mais aussi gérer de l’autoscaling via Kapacitor. Announcing the new Chronograf, a UI for the TICK stack & a complete open source monitoring solution : L’ancienne version de Chronograf se voulait une copie de Grafana et elle est abandonnée. La nouvelle version semble vouloir inspecter les données stockées dans Influxdb pour vous présenter des dashboards mais surtout faciliter l’interaction avec Kapacitor pour définir facilement des seuils et des alertes. La nouvelle version de Chronograf co-existerait donc avec Grafana dont elle pourrait reprendre des dashboards via l’API. Comme le dit l’annonce, c’est encore une version alpha de Chronograf qui est présentée ici, cela doit évoluer tous les 15 jours environ en fonction des retours de la communauté. A noter que le produit est (enfin) open source comme le reste des composants. Pour plus d’info, voir le dépot de chronograf et la doc d’installation Gestion des données personnelles Anonymisation des données : après la fuite des données chez Michael Page pour défaut d’anonymisation des données sur un environnement hors production, le billet sur les stratégies d’anonymisation des données est fort utile et judicieux. Comme le rappelle le billet, avec la nouvelle réglementation européenne sur la protection des données(RGPD), l’entreprise ayant une fuite de données peut être condamnée à payer jusqu’à 4% de son chiffre d’affaires et 20 millions d’euros à compter de mai 2018 - le réglement est applicable depuis mai 2016.
Containers Security Best Practices for Kubernetes Deployment : les points ne sont pas propres à Kubernetes : segmentation applicative via les namespaces, segmentation réseau, quota de ressources, utilisation d’images approuvées, maintient des images à jour, etc. Docker + Golang : le billet présente des astuces pour compiler un programme Go au travers de containers pour illustrer différents besoins (cross-compilation, etc) 12 fractured apps : une revue des bonnes pratiques à adopter pour gérer les fichiers de configurations, les connections à des bases de données dans un monde orientée micro-services. AngularJS AngularJS 2.0 : la version 2 du framework Javascript AngularJS de Google est (enfin) sorti et se dote d’un nouveau site angular.io. Etrangement, j’ai l’impression que c’est un non événement ? Cette version mainte fois discutée, tant attendue et au final ? Ou peut être que React est passé par là et à occuper le trou laissé par cette réécriture d’Angular ? Kafka Event sourcing, CQRS, stream processing and Apache Kafka: What’s the connection? : après un rappel sur ce qu’est CQRS et l’Event Sourcing, le billet décrit les apports de Kafka (et Kafka Streams / Kafka Connect) pour ce type de projet. Announcing the Certified DataStax Connector for Confluent Platform, Kafka Connect se dôte d’un connecteur Cassandra. Il s’agit d’un connecteur de type “Sink’, c’est à dire que vous pouvez pousser des données de Kafka vers Cassandra. TICK (Telegraf, InfluxDB, Chronograf et Kapacitor) La plateforme TICK atteint le palier de la version 1.0 ; InfluxDB, Telegraf et Kapacitor. Pas de grosses nouveautés dans ces releases, juste une stabilisation et le tampon 1.0 ; Chronograf est aussi estampillé 1.0 même s’il s’est fait discret depuis la version 0.13. A voir s’il rattrape son retard sur Grafana… Sécurité Obtenir une bonne note sur Mozilla Observatory : HTTPS/CSP/SRI/CORS/HSTS/HPKP/etc. : Le Mozilla Observatory est un outil d’aide à l’évaluation de la sécurité de votre site web. Le billet vulgarise les technoligies sous-jacentes et donne des pistes pour avoir une bonne note à ce test et améliorer la sécurté de vos sites. Postgres Is Bi-Directional Replication (BDR) in Postgres Transactional? : En gros BDR fonctionne si vous n’avez pas de contraintes transactionnelles fortes. D’autres solutions sont présentées sur le wiki de la fondation Postgres: Replication, Clustering, and Connection Pooling
Infrastructure Traefik : un reverse-proxy et load-balancer (comme Nginx, HAProxy ou encore Apache+mod_proxy) conçu dans une logique d’architecture micro-services. Il s’interface notamment avec Docker, etcd, consul ou encore une API REST. A tester et surveiller. Une image officielle docker pour Traefik est même disponible Container Elastikube : une solution de gestion d’une infrastructure Kubernetes ; cela fait penser à une version allégée d’Openshift. Containers Containers are not VM : Une clarification par l’équipe Docker sur la différence entre un container et une VM sur la base de l’analogie avec l’appartement (le container) et la maison (la VM). Une maison (VM) contient tout ce dont elle a besoin pour fonctionner alors que pour un immeuble, des ressources sont partagées et chaque appartement de l’immeuble en profite dans une certaine mesure. Docker a annoncé Docker pour Windows/Mac (beta) ; cela permet d’utiliser Docker de façon plus native et intuitive sous Windows/Mac. Pour Windows, cela demande d’avoir Windows 10 pour bénéficier de l’hypervision via Hyper-V. Sur ce sujet, l’équipe Hypriot dans leur revue de Docker pour Mac et Docker pour Windows montre le bonus (easter egg) de cette version à savoir qu’il est possible de faire tourner des conteneurs ARM sous environnement OSX/Windows ; cela permettrait de batir des conteurs pour Raspberry ou des projets IoT plus facilement. Je ne peux hélas pas le tester pour le moment, mais cela semble plus prometteur que Docker Toolbox qui reste un peu complexe à mettre en oeuvre. Rancher, une solution d’orchestration de conteneurs, après avoir annoncé le support de Kubernetes, vient d’annoncer la sortie de la version 1.0. A suivre, même si la notion d’environnement ne permettrait pas une allocation optimale des capacités d’infrastructure (chaque environnement aurait ses hôtes alors que Kubernetes pourrait a priori permettre une mutualisation totale via la gestion des “namespaces” ; à creuser !). Kubernetes, la solution d’orchestration de container (Docker/Rocket) développée par Google, est sorti en version 1.2 avec diverses améliorations et notamment une nouvelle GUI. Kubernetes on ARM vient de sortir sous la version 0.7.0 ; de quoi se faire la main sur Kubernetes avec vos Raspberry ;-) ; une image Rancher est d’ailleurs disponible. Docker en production : la bataille sanglante des orchestrateurs de conteneurs : Pour conclure, Octo compare Docker Swarm, Kubernetes et Openshift et donnant Kubernetes gagant pour le moment. Personellement, vu qu’a minima pour Kubernetes et Docker Swarm, on peut utiliser des containers docker, il est peut être intéressant de combiner les 2 solutions qui répondent plus ou moins bien à différentes problématiques. Je vois assez bien l’utilisation de Docker Swarm dans une logique de développement / labs et plus Kubernetes en effet dans une logique de production pure. Il ne faut pas se cacher que Kubernetes est plutôt “Ops friendly” et remonte la chaine de valeur vers les développeurs quand Docker fait le contraire… Elasticsearch & friends Reindex is coming : Avec Elasticsearch 2.3, vous pouvez (re)copier les documents d’un index et enrichir ses données dans un nouvel index ou bien mettre à jour les documents d’un index existant. Release Bonanza! Elasticsearch, Graph, Shield, Watcher, Marvel, Logstash 2.3, Beats 1.2, and Kibana 4.5 are Now Available! ; on note la sortie du nouveau produit Graph. C’est un plugin Kibana et qui permet de relier vos données et de les présenter sous la forme d’un graphe. A creuser ! Elasticsearch 2.3 est sorti avec comme apport notable la réindexation comme décrit précédemment et la notion de “task”, qui permerttrait notamment d’annuler certaines tâches (comme une réindexation !). Les autres composants sont également mis à jour : Kibana 4.5.0, Logstash 2.3 et Beats 1.2.0, Elastic a décidé d’uniformier ses numéros de versions et tout le monde passe en 5.0-alpha1 avec la sortie de l’Elastic Stack ; au-delà de la convention de nommage, c’est l’engagemet de fournir un socle cohérent pour les produits Elasticseach, Kibana, Logstash et Beats. Les produits Marvel, Shield et Watcher deviennent quant à eux le X-Pack. Je vous laisse consulter les apports d’elasticsearch 5.0.0-alpha1 ou encore le revamping de l’interface de Kibana. InfluxDB & Friends InfluxDB 0.12 est sorti (et précédemment la version 0.11) ; après l’annonce du retrait du mode cluster de la version open source car peu utilisé et qui passe en code propriétaire pour assurer leurs revenus, il y a néanmoins le module Relay qui doit répondre en partie à ce besoin de haute disponibilité / réplication. Sysadmin Teleport ; Une passerelle (bastion) SSH qui permet d’accéder à ses serveurs via SSH ou en HTTPS via une IHM Web. A tester ! Sécurité VNCFail ; vous reprendrez bien un peu de non sécurité: l’analyse des 4 milliards de plage IPv4 remonte 5 millions d’adresse pour lesquelles le logiciel VNC (prise de contrôle à distance) est accessible et au final 2.246 hotes avec des systèmes accessibles sans mot de passe dont des systèmes sensibles (contrôle d’aération, usine éléctrique, etc).
On orchestre, on conçoit — et on code aussi. Parlons de votre plateforme, vos données ou votre projet IoT.
Contactez-nous →