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 Pourquoi mettre à jour son Python (régulièrement) : après un petit point sur les versions disponibles et par défaut dans vos distributions préférées, une piste liste des modules sympathiques est donnée avec des exemples pour apprécier la chose. 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.
Big Data, Machine Learning & co Level Up Your KSQL : Confluent met à disposition une série de vidéos pour la prise en main de KSQL. Rounding Up Kafka Summit London 2018 : Confluent a égalemient mis à disposition les vidéos du dernier Kafka Summit à Londres. Introducing Confluent Hub : Confluent lance une plateforme communautaire autour de Kafka Connect. Cloud Amazon EKS – Now Generally Available : l’offre managée Kubernetes d’AWS sort en version stable. Azure Kubernetes Service (AKS) GA – New regions, more features, increased productivity : Pas de jaloux - Azure est aussi prêt pour son offre managée kubernetes. Announcing Terraform Support for Kubernetes Service on AWS : Hashicorp profite de l’annonce d’AWS pour annoncer également que Terraform permet de provisionner un cluster EKS. GKE vs AKS vs EKS – Hasura : comparatif synthétique des solutions managées kubernetes de Google, Azure et AWS. 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 Les capacités d’alerting de Kapacitor : un billet sur l’utilisation de kapacitor pour générer des alertes. J’aurais bien aimé pouvoir l’avoir écrit… “Metrics First” Approach to Log Analysis : avec la version 1.7 de Telegraf (l’agent de collecte), un nouveau plugin syslog permet d’exposer les logs sous la forme d’événements. Et avec Chonograf 1.5, il est possible de voir ses données sous un format tabulaire. Pour autant, TICK n’a pas vocation à devenir une centrale de logs (à la ELK & co). 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.
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.
Architecture Découplage, découplage, découplage ! : revue de 3 méthodes de découplage (format, localisation, temporalité) pour vos programmes avec forces et faiblesses de chacun. CLI Use .bashrc.d directory instead of bloated .bashrc : Une bonne astuce pour gérer tout ce que l’on veut mettre dans .bashrc sans que cela devienne une pagaille monstre : mettre tout dans un dossier et “sourcer” l’ensemble des fichiers s’y trouvant. Du coup, ça peut se versionner plus facilement/atomiquement ;-) Cloud AWS – Séparer la production du développement : article sur le séparation et la gestion des accès à une équipe de développement au sein d’AWS. AWS – Pourquoi devez-vous créer un VPC ? : retour sur ce qu’est un réseau privé virtuel chez AWS et comment il fonctionne / ce qu’il contient. Je ne connaissais pas l’option HA, intéressante, même si potentiellement chère. Saga de l’été : E01 Construction d’une infrastructure multi-cloud, Saga de l’été : E02 Découverte de service et répartition de charge multi-cloud et Saga de l’été : E03 Mon orchestrateur de conteneurs multi-cloud : un retour complet et intéressant sur l’implémentation d’une infrastructure multi-cloud (AWS, GCP) au travers des outils hashicorp avec Terraform, Nomad et Consul. Les architectures Serverless : une présentation assez complète des architectures serverless (FaaS, BaaS), leurs avantages/inconvénients, leurs objectifs/intérêts, etc et en quoi ces architectures diffèrent du IaaS, PaaS, SaaS, Container, etc. Dashboard Graphana 4.5 Released : des améliorations concernant surtout Elasticseach, Prometheus, MySQL, la capacité de rendre des valeurs cliquables pour investiguer une donnée, ainsi qu’un inspecteur de requêtes. Docker Preview: Linux Containers on Windows : annoncés à la DockerCon en Mai/Juin dernier, cela va arriver avec la version 17.09 de Docker : le support des conteneurs Linux depuis un hôte Windows. Jusqu’à présent, un hôte Windows ne pouvait faire tourner que des conteneurs Windows. A priori, on peut maintenant faire les 2 simultanément. Docker Official Images are now Multi-platform : enfin ! Plus besoin de construire des images spécifiques pour ARM vs 64 bits, les images officielles de Docker savent le gérer nativement et de façon transparente. Avoir le même Dockerfile que l’on soit sur un serveur 64 bits ou un raspberry, cela va faciliter les chaines de développement et déploiement. DockerHub Official Images Go Multi-platform! : un retour plus complet sur la gestion du passage au multi-platform des images Docker. Documentation Hi, my name is README! - WriteTheDocs 2017 : bonnes (et mauvaises) pratiques sur la rédaction du fichier README qui est le point d’entrée sur votre projet. Elastiscearch A Full Stack in One Command : Elastic, pour appréhender les capacités de la stack Elastic, propose de mettre à dispositon des examples permettant de tester cette stack en 1 seule commande (et via l’utilisation de Docker Compose). Un premier cas est décrit, d’autres devraient suivre… Elastic Stack 5.6.0 Released : Cette version de la stack Elastic prépare la migration vers Elasticsearch 6.0 et apporte quelques nouveautés, dont notamment un client REST Java de haut niveau pour Elasticsearch. Kafka Kafka 0.11.0 == ♥ : petit tour des améliorations de la version 0.11 de Kafka apportant les headers dans les messages, le support du “exactly once” via des notions d’idempotence et de transactions. Exactly-once Support in Apache Kafka : le co-fondateur de Confluent revient sur la signification de “Exactly-once support” dans Kafka et sur son implémentation. Exactly-once Semantics are Possible: Here’s How Kafka Does it : la même expliquée par la CTO de Confluent. Introducing KSQL: Open Source Streaming SQL for Apache Kafka : Kafka se dote d’une interface SQL permettant de faire des requêtes de façon continue (continuous queries) et de requêter des topics kafka sous forme de stream et/ou de table et de mener quelques opérations dessus. Cela est basé sur l’API de Kafka Streams, il y aura un KSQL Server qui exécutera les requêtes KSQL à l’encontre d’un cluster Kafka. C’est encore en developer preview mais cela peut être intéressant à terme. Mais c’est quoi Kafka : une présentation synthétique de Kafka et son écosystème pour bien appréhender cette plateforme. BigData Hebdo - Ep 47 : Kafka, SQL, Beam & co : un excellent épisode du podcast BigData Hebdo faisant un point très clair sur les annonces Kafka (mais aussi sur Beam) It’s Okay To Store Data In Apache Kafka : la question abordée dans l’épisode de BigData Hebdo trouve du coup un peu sa réponse dans ce billet où le co-fondateur de Kafka indique qu’il est possible de stocker ses données dans Kafka. Après, faut-il le faire, c’est un autre débat :-) Kafka Wakes Up And Is Metamorphosed Into A Database : opinion sur la “métamorphone” de Kafka en base de données avec une opinion rigolote : “It would have been far funnier, of course, if Kafka woke up one morning and had been turned into CockroachDB”. Crossing the Streams – Joins in Apache Kafka : le billet explique les capacités de jointure qu’il est possible de réaliser dans un contexte Kafka Streams. En fonction de si vous manipulez des KStreams ou des KTables, vous pourrez faire différents types de jointure (inner join, left join ou outer join). Licences et Open Source On React and Wordpress : Suite aux histoires de licence autour de celle de ReactJS et de la fondation Apache interdisant aux projets qu’elle héberge d’utliser React, c’est au tour de Wordpress d’abandonner React. De l’importance de bien évaluer la licence dans le cadre de l’évaluation des produits que nous retenons pour des projets. 3 Points to Consider before Migrating Away from React Because of Facebook’s ‘BSD+ Patent’ License : l’article nuance les propos tenus ici ou là et sont rédigés par un juriste spécialisé dans les brevets. Par défaut, Facebook n’a pas prévu d’utiliser ses brevets à l’encontre des autres. Ensuite, le brevet porte sur un concept et non sur le code en lui-même donc toute autre librairie/framework implémentant le même concept peut tout autant être poursuivi par Facebook s’ils se retrouvaient dans une condition pour le faire. Il resqte quelques cas de si je traduis en justice Facebook et inversement mais je vous les laisse les consulter pour ne pas faire d’erreur d’interprétation. Relicensing React, Jest, Flow, and Immutable.js : Facebook au final va mettre sous licence MIT les nouvelles/prochaines versions de ces logiciels et se pose la question pour les autres (notamment GraphQL). A voir si cela résoud vraiment le problème ou pas ou si cela ne serait pas pire. Microservices Monolith First : Martin Fowler constate que les migrations réussies vers des micro-services se sont faites à partir de monolithes. A contrario, démarrer un projet en micro-services se solde souvent par des échecs. Il “recommande” donc de démarrer par un monolithe et de le modulariser puis de l’éclater en micro-services. NoSQL Redis 4.0.0 released : la version 4.x de la base Redis est sortie cet été et apporte son lot de nouvelles fonctionalités (réplication améliorée, appararition des modules, amélioration du cache, amélioration du monitoring, etc). BigData Hebdo - Ep 46: Elassandra : Vous vouliez le meilleur des mondes entre Cassandra et Elasticsearch - c’est désormais possible avec Elassandra. Durant cet épisode, le créateur d’Elassandra explique comment il s’y est pris pour créer ce projet et atteindre cette promesse de combiner le meilleur des deux mondes via une intégration la plus légère possible et sans réduire les fonctionnalités de chaque outil. SQL Geofile: Getting Started with pgRouting et Geofile: Getting Started with pgRouting using Esri Shapefiles: pgRouting est une extension Postgres s’appuyant sur l’extension géospatiale PostGIS permettant d’avoir une fonctionnalité de routage (plus court chemin entre 2 points, logique du voyageur, etc). L’article explique comment utiliser cette extension sur la base d’un tour des chateaux anglais. The MySQL High Availability Landscape in 2017 : the elders, the adults and the babies : panorama des solutions de haute disponibilités avec MySQLdepuis les solutions historiques jusqu’au plus récentes. Streaming The canonical new book about stream processing : une nouvelle ressource sur le streaming via les équipes de Google Cloud Platform. Pas encore lu mais semble intéressant. Vie du développeur Le demi-cercle (épisode 1), Le demi-cercle (épisode 2 : voir et avancer), Le demi-cercle (épisode 3 — Communication Breakdown) , Le demi-cercle (épisode 4 — Driver / Navigators) , Brown Bag Lunch, Conseils à emporter, Crise / Opportunité, Le 5ème étage, Que faire ?, Soit… soit…, Boites et flèches, Le prochain copil, la faille, Poussière, L’hypothèse et la règle Déplacements, Jouer et Ranger, Arrangements : moment de vie d’un développeur sur une application ayant vécu et qui corrige un nième bug ; et si c’était l’occasion de prendre une pause et de repenser la chose ? Je vous laisse lire… The Art of Pull Requests : des bonnes pratiques pour mener des pull requests de façon bienveillante. Web The State of the Web avec son transcript : Etat des lieux et bonnes pratiques sur les différentes sujets liés au plateformes web (webperf, optimisation, outils, etc). Chrome to force .dev domains to HTTPS via preloaded HSTS : pour ceux qui utilisent des urls en .dev pour accéder à leurs environnements locaux de développement, Chrome va bientôt forcer le passage en https pour cette extension. HTTP Immutable Responses : nouvel argument immutable pour l’entête Cache-Control de sorte que le navigateur ne vérifie plus si la ressource a été modifiée ou pas (fini les 304) durant la période de cache qui a été définie pour cette ressource. Fiabiliser les connexions sécurisées avec HSTS (HTTP Strict Transport Security) : petit topo sur HSTS, mécanisme qui permet d’indiquer que votre site ne doit être servi que via son url sécurisée et gérer la transition http > https.
Cloud Microsoft joins Cloud Native Computing Foundation : Microsoft continue à embrasser l’open source et cela se traduit par l’annonce indiquant que la société rejoint la Cloud Native Computing Foundation. Cette fondation héberge des projets comme Kubernetes et ses composants, ainsi que plus récemment les solutions de conteneurisation utilisée par Docker et CoreOS (containerd, rkt). Amazon (AWS) rejoint la fondation également. AWS Lambda vs. Azure Functions vs. Google Functions : un rappel sur le fonctionnement des architectures serverless et des principales fonctionnalités de chacun des fournisseurs (AWS, Google, Microsoft) AWS Summit New York – Summary of Announcements : retrouver les annonces et la keynote du AWS Summit de New York. Container & Orchestration Kubernetes at Github : retrospective de la migration de Github vers Kubernetes. Announcing the New Release of Docker Enterprise Edition : au programme de cette version 17.06, notamment le support multi-architecture (Linux,Windows 2016, IBM Z Systems) qui devrait lever les limites identifiées de mon retour sur docker dans un contexte hybride Linux/Windows. Cette version apporte également des améliorations coté sécurité (gestion de rôles, etc) Documentation Read & Write The Doc : les slides d’un talk donnant de bonnes pratiques sur la manière et les pratiques à adopter/éviter en matière de documentation. Elasticsearch Installing the Elastic Stack on Windows : Dans le cadre de la sortie de Elasticsearch 5.5, le support de l’installateur Windows est officiel. Ce billet montre comment installer Elasticsearch, Kibana et Filebeat sous un environnement Windows. Taking A Look At Kibana’s Time Series Visual Builder : la future version 6 de Kibana va se doter d’un visualisateur orienté données temporelles (time series). L’auteur du billet rappelle que c’était un point faible de Kibana jusqu’à présent (vis à vis de Grafana notamment), que les essais avec Timelion ne répondaient que partiellement à ce besoin mais que là, Elastic semble être sur le point de rattraper son retard. A évaluer même si une plateforme TICK+Grafana (Telegraf, InfluxDB, Chronograf, Kapacitor) demandera moins de ressources qu’une stack Elastic/Kibana avec certes des capacités d’indexation moins forte mais le besoin n’est pas forcément là… Elasticsearch: la grande migration : retour d’expérience des équipes Tech de M6 Web sur la migration de leur cluster Elasticsearch de la version 1.7 vers 5.2. Small, Medium, or Large - Scaling Elasticsearch and Evolving the Elastic Stack to Fit : Elastic publie un billet intéressant donnant différents types de configuration & architectures pour des besoins autour d’ELK allant de simple à très complexe et fournir des pointeurs vers différentes ressources utiles. Starting Down the Path of APM for the Elastic Stack : les prémices de la fonctionnalité APM (Application Performance Monitoring) d’Elastic suite au rachat d’Opbeat. Pour le moment, il s’agit de la pré-sortie des version serveurs et des clients ; pour la nouvelle UI, il va falloir attendre encore un peu mais des dashboards sont déjà accessibles via Kibana. Introducing Index Sorting in Elasticsearch 6.0 : Dans sa version 6.0 à venir, il sera possible de définir des index triés dans Elasticsearch. Cette définition du tri se fera lors de la création de l’index. Si cela doit permettre de sortir des résultats plus rapidement, dans certains cas, cela peut pénaliser sérieusement la performance d’Elasticsearch. A utiliser à bon escient ! Full Stack Développeur full stack ? Oui… mais… : enfin un bon article démystifiant le concept parfois fumeux de “full-stack” : “Quand nous parlons de profil full stack, cela signifie que le développeur est spécialisé dans certains domaines, tout en ayant des connaissances sur d’autres sujets. En général, nous considérons un développeur full stack comme maîtrisant au moins 3-4 sujets. Mais cela ne couvre pas l’ensemble des besoins.” NoSQL Announcing RethinkDB 2.3.6: the first release under community governance : après l’annonce de la mort de la société commerciale et la transition vers la Linux Foundation, une version de maintenance qui fait plaisir à voir en espérant que le projet continuera à évoluer par la suite. Un sacré premiers pas et une version 2.4 est annoncée dans les tuyaux ! Open Web Firefox, le Web et la fin de Flash (versin anglaise) : 2020, ce sera enfin la fin de Flash, Adobe l’a décidé et s’est concerté avec les éditeurs de navigateurs pour gérer sa fin de vie. La même annonce, coté Microsoft pour IE/Edge, Google pour Chrome et Apple pour Safari/Webkit Sécurité API Security Checklist : une check-list pour les aspects sécurité d’une API qui reprend les principaux points: authentification, traitement des entrée/sorties, infrastructure, etc. CSP Cheat Sheet : Une page de présentation rapide et consise des options de configuraiton liée à CSP (Content Security Policy) Revocation is broken : excellent billet sur les problèmes liés à la révocation de certificats et les nouvelles pistes à venir pour mieux traiter ce sujet. I’m giving up on HPKP : l’auteur explique en quoi HPKP (HTTP Public Key Pinning) est compliqué et dangereux à mettre en place ; à la fin, le jeu n’en vaut pas la chandelle et qu’il vaudrait mieux ne pas tenir compte de cette pratique pour donner une bonne note aux configurations de sécurité des sites web. Il indique aussi les alternatives à venir et leurs avantages sur la solution actuelle. Web Performance Performance des tiers : combien coûte cet emplacement pub ? : les impacts en termes de performance mais aussi de sécurité (vol de données, etc) de l’utilisation de script tiers sur votre site.
API Versionning d’API, Zero Downtime Deployment et migration SQL : théorie et cas pratique : un retour d’expérience bien illustré sur la migration d’une API avec changement de modèle de données et ce sans downtime. Les principaux points d’écueil et les stratégies possibles sont présentées. A vous d’adapter ensuite à votre contexte. Cloud Choosing the right compute option in GCP: a decision tree : Google fourni un arbre de décision pour la/les solution(s) à utiliser sur CGP pour votre prochain projet. Mapping AWS, Google Cloud, Azure Services to Big Data Warehouse Architecture : panorama des solutions Opensource et des implémentations Cloud (AWS, GCP, Azure) pour différents besoins autour des traitements de données (ingestion, stockage, streaming, batch, machine learning, etc) Map AWS services to Google Cloud Platform products : les correspondances entre les services AWS et GCP. Map Microsoft Azure services to Google Cloud Platform products : la même carte en version Azure / GCP Container & orchrestration Kubernetes 1.7: Security Hardening, Stateful Application Updates and Extensibility : nouvelle version de Kubernetes avec son lot d’améliorations coté sécurité (communication réseau, gestion des secrets, etc) et stockage principalement. Announcing Docker 17.06 Community Edition (CE) : cette version apporte essentiellement le multi-stage builds, à savoir la capacité de construire une image docker à partir de plusieurs conteneurs intermédiaires. Ces conteneurs intermédiaires permettent par ex de compiler les différents éléments d’un programme. Pour un programme en go par ex, on peut imaginer un premier conteneur qui build le programme à partir des sources et le conteneur final ne contient que le binaire go. Documentation Making history: writing the docs that need to be written : l’auteur explique l’intérêt qu’il voit à documenter les choses, à raconter l’histoire à l’aune de son expérience sur le projet RabbitMQ. Du partage de connaissance, expliquer les raisons et les logiques de développement, éviter de refaire les mêmes erreurs ou encore la capacité d’accueillir de nouveaux membres dans le projet, je rajouterai le fait de pouvoir oublier ce qui a été fait. En effet, une fois documenté, on peut revenir sur le sujet facilement et libérer sa mémoire pour d’autres sujets (et éviter la dépendance à sa personne). Frontend Why Angular 2/4 Is Too Little, Too Late : “AngularJS was a decent idea in 2012 but in 2017, the JS ecosystem has surged past Angular in maturity, flexibility, and productivity. Thanks to webpack, NPM on the front-end, and a mature ecosystem of tooling and libraries, it is quite easy to maintain a large, flexible, well-engineered SPA with React, Vue, or other lightweight JS libraries, even at enterprise companies with large teams” Tout est dit, React a gagné. Management Combien de développeurs mettre sur un projet : Si la réponse est le moins possible et idéalement un seul, l’intérêt de l’article porte surtout sur le fait de mesurer la productivité au niveau de l’entreprise et plus au niveau du projet. Ce qui change la perspective… La frugalité, le graal de l’entreprise innovante : faire simple (KISS), garder le focus (MVP), en petites équipes autonomes et responsables (agile, lean), prioriser (kanban, agile, lean), et aller à l’encontre des habitudes du toujours plus de ressources / complexité / … et qui sont au final votre véritable ennemi et ne vous garantissent pas le succès de votre projet. Redis Episode 41 : Redis avec Damien Krotkine : un épisode thématique de Big Data Hebdo, le podcast autour du big data, sur la solution Redis. Sécurité How to revoke a Let’s Encrypt certificate : s’il est aisé d’obtenir de nouveaux certificats avec Let’s Encrypt, il peut y voir des cas où l’on veut révoquer un certificat. Le billet explique comment procéder. Wildcard Certificates Coming January 2018 : Let’s Encrypt va fournir des certificats wildcard (*.domaine.tld) à compter de Janvier 2018, et ce gratuitement. Vie Privée GDPR, les actions indispensables de conformité (étude longue) : le billet rappelle les changements de contexte qui ont conduit à ce nouveau réglement. Il parcourt les principales obligations et sensibilise sur les différents sujetS. (dommage que les actions de la souris (séléction, click-droit, etc) soient interdits sur le site…) GDPR dans la pratique : un autre épisode de Big Data Hebdo consacré à la GDPR avec une revue de la réforme à venir avec des bonnes pratiques et aussi pour une fois une présentation de cette réforme comme étant une opportunité. La CNIL propose d’ailleurs un guide en 6 étapes et un guide pour les professionnels indiquant les changements et impacts à venir.
Container & orchrestration Kompose: a tool to go from Docker-compose to Kubernetes : en cours d’incubation chez Kubernetes, ce projet permet de faciliter la transition de Docker à Kubernetes en transformant les fichier docker-compose.yml en fichiers Manifests Kubernetes. Un pivot intéressant si on considère que les développeurs vont utiliser Docker (et au mieux Swarm) pour leurs environnements de développement et en production éventuellement Swarm et ensuite vouloir migrer vers Kubernetes pour ses fonctionnalités plus évoluées. Introducing Distributed Cheese: Traefik 1.1 Camembert Is Out! : Traefik, le reverse proxy moderne qui sait s’interfacer notamment avec Docker, Consul, Kubernetes et plein d’autres est sorti en version 1.1.x. Cette version apporte notamment le support de l’API Docker Swarm (Docker 1.12+), une meilleure gestion des contraintes, le support de Mesos, une meilleure gestion des affinités de sessions, un mode cluster pour Traefik (expérimental) et une image officielle docker basée sur alpine. J’ai profité de l’installation d’un nouveau serveur pour déployer Traefik et c’est vraiment agréable de pouvoir déclarer dynamiquement ses containers docker. Par ailleurs, je rappelle que je maintiens des images docker de Traefik pour sa version ARM Docker for AWS Public Beta : l’offre Docker pour AWS passe d’une version alpha à une verion beta. On notera essentiellement qu’il s’agit d’une version plus intégrée avec l’offre AWS que si l’on déployait un docker soi-même. A suivre mais attention à vérifier qu’il n’y a pas un lock-in qui se crée à la fin, que l’intégration apporte un plus et ne nuit pas à la portabilité des containers. Dashboard, Monitoring What’s new in Grafana v4.0 : la fonctionnalité phare de cette version est la capacité de définir des alertes au niveau de chaque élément d’un dashboard. Pour se faire il faut définir les règles à appliquer et ensuite s’appuyer sur la partie notification. Pour ceux qui étaient tentés d’installer Chronograf 1.1 (béta) pour avoir cet alerting en plus des dashboards adhoc de Grafana, ils pourraient bien finalement rester dans Grafana (dont la maturité n’est plus à prouver) plutôt que d’attendre que Chronograf se stabilise… A moins que Chonograf n’apporte une valeur ajoutée de part son intégration native avec Telegraf. Pépites Si vous pensiez que toutes les villes commencent par une lettre, maintenant vous savez que c’est faux avec la ville de ’s_Herenelderen. Vous pouvez mettre vos regexp à jour ! These unlucky poeple have names that break computers : même si l’article concède que ce problème est de moins en moins vrai au fur et à mesure des progrès réalisés et de la prise de conscience par les développeurs, mais s’appeller “Null” ou avoir un nom de famille très long (36 caractères dans l’exemple donné ou même 8 au Japon quand l’habitude est de 4…), cela pose des tas de problèmes dans la vie du quotidien.
On orchestre, on conçoit — et on code aussi. Parlons de votre plateforme, vos données ou votre projet IoT.
Contactez-nous →