CérénIT - telegrafLe blog tech de Nicolas Steinmetz (Time Series, IoT, Web, Ops, Data)Zola2021-10-27T09:30:00+01:00https://cerenit.fr/tags/telegraf/atom.xmlWeb, Ops, Data et Time Series - Octobre 20212021-10-27T09:30:00+01:002021-10-27T09:30:00+01:00
Unknown
https://cerenit.fr/blog/web-ops-data-timeseries-octobre-2021/<h3 id="bi">BI</h3>
<ul>
<li><a rel="noopener" target="_blank" href="https://datatask.io/blog/smart-data-analytics-comptabilite-fec/">Smart Data Analytics : Exploration des données comptables</a> : pour changer des <a rel="noopener" target="_blank" href="https://www.cerenit.fr/blog/ma-compta-une-serie-temporelle-comme-les-autres-partie-5/">outils de séries temporelles</a>, je me suis livré au même exercice d'ingestion et de traitement des FEC avec la Smart Data Analytics (SDA) de <a rel="noopener" target="_blank" href="https://datatask.io">DataTask</a>. Basée sur <a rel="noopener" target="_blank" href="https://www.singer.io/">singer</a>, <a rel="noopener" target="_blank" href="https://www.getdbt.com/">dbt</a> et <a rel="noopener" target="_blank" href="https://www.metabase.com/">metabase</a>, la SDA permet via une Web UI de définir son flow d'ingestion et de transformation. Une fois ces transformations réalisées, il ne reste plus qu'à explorer les données avec Metabase et produire ses dashboards.</li>
</ul>
<h3 id="code">Code</h3>
<ul>
<li><a rel="noopener" target="_blank" href="https://code.visualstudio.com/blogs/2021/10/20/vscode-dev">vscode.dev</a> : l'ère de l'IDE dans le navigateur continue après gitpod ou githuab codspaces, c'est au tour de vscode.dev qui permet d'avoir une IDE dans son navigateur. Affaire à suivre...</li>
</ul>
<h3 id="observabilite-et-monitoring">Observabilité et monitoring</h3>
<ul>
<li><a rel="noopener" target="_blank" href="https://vector.dev/releases/0.17.0/">Vector 0.17.0</a>, <a rel="noopener" target="_blank" href="https://vector.dev/releases/0.17.1/">Vector 0.17.1</a>, <a rel="noopener" target="_blank" href="https://vector.dev/releases/0.17.2/">Vector 0.17.2</a> & <a rel="noopener" target="_blank" href="https://vector.dev/releases/0.17.3/">Vector 0.17.3</a> avec l'adaptive concurrency qui permet de gérer le "back pressure" pour les destinations accessibles via HTTP, et pour les sources une gestion simplifiée pour le décodage d'éléments et leur "framing".</li>
<li><a rel="noopener" target="_blank" href="https://marketplace.visualstudio.com/items?itemName=lucperkins.vrl-vscode">Vector Remap Language</a> : extension Vector pour VSCode</li>
</ul>
<h3 id="orchestration-conteneurs">Orchestration & conteneurs</h3>
<ul>
<li><a rel="noopener" target="_blank" href="https://github.com/hashicorp/damon">damon</a>, un dashboard pour nomad en ligne de commande.</li>
<li><a rel="noopener" target="_blank" href="https://www.hashicorp.com/blog/announcing-hashicorp-nomad-1-2">Announcing HashiCorp Nomad 1.2 Beta</a> : ajout des "System Batch" qui sont des (petits) jobs globaux au cluster, des améliorations de l'interface et l'ajout des Nomad Pack, une sorte de catalogue d'applications prêtes à être déployées dans votre cluster.</li>
</ul>
<h3 id="sql">SQL</h3>
<ul>
<li><a rel="noopener" target="_blank" href="https://www.postgresql.org/about/news/postgresql-14-released-2318/">PostgreSQL 14 Released!</a> ou en français <a rel="noopener" target="_blank" href="https://www.loxodata.com/post/postgresql-14/">PostgreSQL 14</a> ou un <a rel="noopener" target="_blank" href="https://twitter.com/tobias_petry/status/1443571247577636874">thread twitter</a> pour découvrir les nouveautés de cette version : amélioration du support de JSONB, type multirange, fonctions autour des dates, etc.</li>
</ul>
<h3 id="securite">Sécurité</h3>
<ul>
<li><a rel="noopener" target="_blank" href="https://www.bleepingcomputer.com/news/security/popular-npm-library-hijacked-to-install-password-stealers-miners/">Popular NPM library hijacked to install password-stealers, miners</a> : analyse de la librairie ua-parser-js compromise dans ses version 0.7.29, 0.8.0 et 1.0.0 avec l'ajout un mining de crypto et un voleur de mot de passes. Le passage en version 0.7.30 / 0.8.1 et 1.0.1 est à faire dans les plus brefs délais. Pour les <a rel="noopener" target="_blank" href="https://classic.yarnpkg.com/lang/en/docs/selective-version-resolutions/">dépendances indirectes</a>, il est possible d'ajouter dans son fichier <code>package.json</code>: <code>"resolutions": { "ua-parser-js": "^0.7.30" }</code> via <a rel="noopener" target="_blank" href="https://github.com/faisalman/ua-parser-js/issues/536">Security issue: compromised npm packages of ua-parser-js (0.7.29, 0.8.0, 1.0.0) - Questions about deprecated npm package ua-parser-js</a></li>
</ul>
<h3 id="time-series">Time Series</h3>
<p>Annonces & Produits :</p>
<ul>
<li><a rel="noopener" target="_blank" href="https://www.influxdata.com/blog/release-announcement-influxdb-oss-2-0-9/">InfluxDB OSS 2.0.9</a></li>
<li><a rel="noopener" target="_blank" href="https://www.influxdata.com/blog/release-announcement-influxdb-oss-enterprise-1-8-10">InfluxDB OSS 1.8.10</a></li>
<li><a rel="noopener" target="_blank" href="https://www.influxdata.com/blog/release-announcement-influxdb-enterprise-1-9-5/">InfluxDB Entreprise 1.9.5</a> - avec des fixes sur l'utilisation mémoire et les index TSI :sourire_narquois:</li>
<li><a rel="noopener" target="_blank" href="https://www.influxdata.com/blog/release-announcement-telegraf-1-20-2/">Telegraf 1.20.2</a> (avec un fix de memory leak sur le parser influx notamment)</li>
<li><a rel="noopener" target="_blank" href="https://www.influxdata.com/blog/release-announcement-kapacitor-1-6-2/">Kapacitor 1.6.2</a></li>
<li><a rel="noopener" target="_blank" href="https://quasardb.net/quasardb-3-10-0-stable-released/">QuasarDB 3.10.0 Stable Released</a> : Nouvelle version de la base QuasarDB avec son lot d'améliorations et de corrections ; pour une présentation de QuasarDB, voir <a rel="noopener" target="_blank" href="https://www.timeseries.fr/edition/timeseriesfr-2/">Time Series France - Edition 2 - QuasarDB, les séries temporelles appliquées à la finance & aux transports</a>.</li>
<li><a rel="noopener" target="_blank" href="https://blog.timescale.com/blog/announcing-the-new-timescale-cloud-and-a-new-vision-for-the-future-of-database-services-in-the-cloud/">Announcing the new Timescale Cloud, and a new vision for the future of database services in the cloud </a> et le <a rel="noopener" target="_blank" href="https://twitter.com/michaelfreedman/status/1445377639246700552">thread twitter associé</a> : Timescale partage sa vision de ce que doit être une base managée et de la developer experience qu'elle doit offrir. Timescale indique également avoir 3 millions de bases actives par mois (très loin devant <a rel="noopener" target="_blank" href="https://www.timeseries.fr/edition/timeseriesfr-11/">les derniers chiffres d'InfluxData</a> ; environ 6 fois mais faut-il encore s'accorder ce qu'est une base: une instance ? un schema ?). Timescale annonce les principes de Timescale Cloud (ex Timescale Forge) qui veut être simple, scalable, connu et flexible. Les deux premiers sont inspirés du monde serverless (découplage compute/storage, auto scalabilité, etc) et les deux derniers du monde de la base de données managiées (du SQL plutôt qu'une API et le fait de bénéficier de tout l'écosystème associé). 10 annonces sont prévues durant le mois d'octobre, quelques-une sont déjà en fin de billet.</li>
<li><a rel="noopener" target="_blank" href="https://www.clever-cloud.com/blog/features/2021/10/19/announcing-time-series-on-clever-cloud-with-tardis/">Announcing Time Series on Clever Cloud, with TARDIS</a>, Clever Cloud lance son offre Time Series as a Service, basée sur Warp 10 et avec une compatiblité InfluxQL, <a rel="noopener" target="_blank" href="https://www.clever-cloud.com/blog/engineering/2021/10/12/enabling-promql-queries-with-erlenmeyer/">PromQL</a>, etc.</li>
<li><a rel="noopener" target="_blank" href="https://blog.senx.io/flows-vscode-warpscript-extension/">FLoWS ♡ VS Code WarpScript extension 2.0.0 - SenX</a> : nouvelle version de l'extension Warp 10 pour VSCode avec le support de FLoWS et Discovery.</li>
<li><a rel="noopener" target="_blank" href="https://blog.senx.io/october-2021-warp-10-release-2-9-0/">October 2021: Warp 10 release 2.9.0</a> : nouvelles capacités (CAPABILITY) autour de fetch & exec, GUARD doit éviter les fuites de données sensibles, ajout support de KML/GML en plus des habituels ajouts de fonctions, améliorations de fonctions et divers corrections de bugs</li>
</ul>
<p>Articles & Vidéos :</p>
<ul>
<li><a rel="noopener" target="_blank" href="https://towardsdatascience.com/a-common-mistake-to-avoid-when-working-with-time-series-data-eedf60a8b4c1">How NOT to Analyze Time Series</a> : article sympathique sur les erreurs de jeunesse d'analyse de séries temporelles.</li>
<li><a rel="noopener" target="_blank" href="https://www.youtube.com/watch?v=ZZQi9x66QXQ">Penser le monde en time series, la nouvelle solution à vos problèmes d’analyse (M.Herberts/Q.Adam) </a> : conférence à DevoxxFR de Quentin et Mathias pour une introduction aux séries temporelles. Intéressant même si un peu au lance pierre sur la fin.</li>
<li><a rel="noopener" target="_blank" href="https://blog.senx.io/tsdb-pas-toujours-la-bonne-solution">Les TSDB ne sont pas toujours la bonne solution</a> : approche db ou plateforme ? approche table ou séries ? faible ou forte profondeur d'analyse ? Revue de quelques critères pouvant impacter la façon dont vous manipulez vos séries temporelles.</li>
<li><a rel="noopener" target="_blank" href="https://www.influxdata.com/blog/tldr-influxdb-tech-tips-multiple-aggregations-yield-flux/">TL;DR InfluxDB Tech Tips: Multiple Aggregations with yield() in Flux</a> : <code>yield()</code> peut être très pratique pour débugguer son code flux mais permet aussi de récupérer le résultat de plusieurs requêtes pour faire des aggrégations</li>
<li><a rel="noopener" target="_blank" href="https://www.influxdata.com/blog/how-to-pivot-data-flux-columnar-data/">How to Pivot Your Data in Flux: Working with Columnar Data</a> : InfluxDB, contrairement à une RDBMS, stocke ses valeurs via une approche colonne, qui peut dérouter dans un premier temps. Le billet montre comment utiliser <code>pivot()</code> pour revenir à des manipulations en ligne.</li>
<li><a rel="noopener" target="_blank" href="https://blog.timescale.com/blog/function-pipelines-building-functional-programming-into-postgresql-using-custom-operators/">Function pipelines: Building functional programming into PostgreSQL using custom operators</a> : quand un Query Langage (ici SQL) ne suffit plus pour manipuler les séries temporelles, arrivent les fonctions et les opérateurs.</li>
<li><a rel="noopener" target="_blank" href="https://blog.timescale.com/blog/what-is-clickhouse-how-does-it-compare-to-postgresql-and-timescaledb-and-how-does-it-perform-for-time-series-data/">What is ClickHouse, how does it compare to PostgreSQL and TimescaleDB, and how does it perform for time-series data?</a> : un benchmark très complet pour se faire une opinion et même si ClickHouse n'est pas une TSDB.</li>
</ul>
<p>Pour le retour sur les InfluxDays North America qui ont lieu cette semaine, ce sera pour un prochain billet ou édition du <a rel="noopener" target="_blank" href="https://timeseries.fr/">Time Series France Meetup</a></p>
Web, Ops, Data et Time Series - Septembre 20212021-09-29T09:30:00+02:002021-09-29T09:30:00+02:00
Unknown
https://cerenit.fr/blog/web-ops-data-timeseries-septembre-2021/<h3 id="cloud">Cloud</h3>
<ul>
<li><a rel="noopener" target="_blank" href="https://lescastcodeurs.com/2021/09/02/lcc-262-interview-cloud-de-confiance-avec-quentin-adam/">LCC 262 - Interview Cloud de Confiance avec Quentin Adam</a> : Interview posée, pédagogue et claire sur les enjeux du cloud de confiance / cloud souverain mais pas que. A écouter absolument.</li>
<li><a rel="noopener" target="_blank" href="https://blog.cloudflare.com/introducing-r2-object-storage/">Announcing Cloudflare R2 Storage: Rapid and Reliable Object Storage, minus the egress fees</a> : après <a rel="noopener" target="_blank" href="https://blog.cloudflare.com/aws-egregious-egress/">son billet vindicatif vis à vis des couts de transferts AWS</a>, Cloudflaire sort son système de fichiers distribué qui se veut une alternative à S3 et avec un cout de migration depuis AWS marginal/progressif puisque apparemment seuls les fichiers appelés seront sortis de leur bucket d'origine pour aller sur R2 et être servi depuis R2 ensuite </li>
<li><a rel="noopener" target="_blank" href="https://www.lastweekinaws.com/blog/the-compelling-economics-of-cloudflare-r2/">The Compelling Economics of Cloudflare R2 </a> : quelques exemples des économies réalisées entre R2 et S3 ou R2 en mode proxy devant S3.</li>
</ul>
<h3 id="container-et-orchestration">Container et Orchestration</h3>
<ul>
<li><a rel="noopener" target="_blank" href="https://www.docker.com/blog/updating-product-subscriptions/">Docker is Updating and Extending Our Product Subscriptions</a> : TL;DR: Docker Desktop requiert un abonnement Pro/Team/Business si vous êtes une organisation de plus de 250 employés et 10 Millions de Chiffre d'affaires. L'abonnement commence à 5$/mois/utilisateur. Ce changement démarre au 31/08/2021 avec une période de grâce jusqu'au 31/01/2022. Si certains crient au scandale, il faut bien voir <a rel="noopener" target="_blank" href="https://twitter.com/glours/status/1432829592750993409">tout ce que Docker Desktop fourni</a> et <a rel="noopener" target="_blank" href="https://twitter.com/idriss_neumann/status/1432968207665610753">le travail d'intégration que cela représente</a>. Il faut bien que la société Docker vive pour maintenir ses produits. Tout cela se retrouve dans <a rel="noopener" target="_blank" href="https://www.docker.com/blog/the-magic-behind-the-scenes-of-docker-desktop/">The Magic Behind the Scenes of Docker Desktop</a>.</li>
<li><a rel="noopener" target="_blank" href="https://podman.io/releases/2021/08/31/podman-release-v3.3.0.html">Podman Release v3.3.0</a> : cette version apporte "podman machine" qui devrait notamment permettre un meilleur support de podman sous OSX avec une couche de virtualisation intermédiaire dans la même veine que Docker Desktop dans le but de proposer une intégration native. Cela <a rel="noopener" target="_blank" href="https://twitter.com/idriss_neumann/status/1433083136011902980">ne semble pas fonctionner sur un Apple M1</a> à cause de l'incompatibilité actuelle de Virtual Box avec ces puces. Si Podman peut certes être une alternative à Docker (Desktop), cela montre aussi le travail d'intégration réalisé par Docker Inc notamment pour le support des Apple M1.</li>
<li><a rel="noopener" target="_blank" href="https://podman.io/blogs/2021/09/06/podman-on-macs.html">Podman on Macs Update</a> : statut sur le support de Podman dans un context MacOS/Intel, Windows/Intel et le reste à faire pour MacOS/M1. En attendant, <code>podman machine</code> est supporté nativement sur Linux et MacOS/Intel et en remote client sur Windows/Intel.</li>
<li><a rel="noopener" target="_blank" href="https://www.infoworld.com/article/3632142/how-docker-broke-in-half.html">How Docker broke in half</a> : restrospective sur Docker de ses origines à aujourd'hui et quelques pistes pour le futur...</li>
<li><a rel="noopener" target="_blank" href="https://github.com/docker/compose/releases/tag/v2.0.0">Docker Compose V2.0.0</a> : L'outil a été réécrit en go plutôt qu'en python et se veut accessible via la docker cli en tant que sous système (ie <code>docker compose xxx</code>). Pour Windows & OSX, il est fourni avec Docker Desktop.</li>
<li><a rel="noopener" target="_blank" href="https://www.docker.com/blog/accelerating-new-features-in-docker-desktop/">Accelerating New Features in Docker Desktop</a> où l'on parle de l'arrivée prochaine d'un Docker Desktop For Linux !!</li>
<li><a rel="noopener" target="_blank" href="https://ably.com/blog/no-we-dont-use-kubernetes">No, we don’t use Kubernetes</a> : un billet rafraichissant qui rappelle que Kubernetes n'est pas l'alpha et l'omega de l'infrasatructure.</li>
</ul>
<h3 id="iot">IoT</h3>
<ul>
<li><a rel="noopener" target="_blank" href="https://blog.adafruit.com/2021/09/20/circuitpython-7-0-0-released/">CircuitPython 7.0.0 Released!</a> : version majeure de <a rel="noopener" target="_blank" href="https://circuitpython.org/">CircuitPython</a> qui apporte son lot d'améliorations matérielles et logicielles depuis la version 6.3</li>
<li><a rel="noopener" target="_blank" href="https://github.com/tinygo-org/tinygo/releases/tag/v0.20.0">tinygo 0.20</a> : principalement l'ajout du support de Go 1.17 et de nouveaux controlleurs.</li>
</ul>
<h3 id="jvm">JVM</h3>
<ul>
<li><a rel="noopener" target="_blank" href="https://blog.adoptopenjdk.net/2021/08/goodbye-adoptopenjdk-hello-adoptium/">Good-bye AdoptOpenJDK. Hello Adoptium!</a> : le projet AdoptOpenJDK est repris sous le projet Eclipse Adoptium, qui vient de signer sa <a rel="noopener" target="_blank" href="https://blog.adoptium.net/2021/08/adoptium-celebrates-first-release/">première release</a>. Il faudra prévoir une migration vers leurs binaires et leurs dépots ultérieurement (date non définie à ce jour).</li>
</ul>
<h3 id="recherche">Recherche</h3>
<ul>
<li><a rel="noopener" target="_blank" href="https://engineeringblog.yelp.com/2021/09/nrtsearch-yelps-fast-scalable-and-cost-effective-search-engine.html">Nrtsearch: Yelp’s Fast, Scalable and Cost Effective Search Engine</a> : nouvel entrant dans le monde de la recherche distribuée et opensource basée sur Lucene. Après ElasticSearch et OpenSearch, c'est au tour de Nrtsearch édité par Yelp qui a cherché à résoudre les problèmes qu'ils rencontraient avec ElasticSearch.</li>
</ul>
<h3 id="securite">Sécurité</h3>
<ul>
<li><a rel="noopener" target="_blank" href="https://github.blog/2021-09-08-github-security-update-vulnerabilities-tar-npmcli-arborist/">GitHub security update: Vulnerabilities in tar and @npmcli/arborist</a> : si vous utilisez le package <code>tar</code> de NodeJS directement (ou indirectement), il est judicieux de mettre à jour votre version de <code>npm</code> et <code>node</code> et de vérifier vos dépendances.</li>
<li><a rel="noopener" target="_blank" href="https://gynvael.coldwind.pl/?id=740">Demon's Cries vulnerability (some NETGEAR smart switches)</a> : si vous avez des "smart switchs" de la marque Netgear, il est temps de patcher le firmware de votre équipement.</li>
<li><a rel="noopener" target="_blank" href="https://scotthelme.co.uk/lets-encrypt-old-root-expiration/">Let's Encrypt's Root Certificate is expiring!</a> : si vous avez de vieux équipements dans la nature et qu'ils utilisent ce certificat de Lets Encrypt, il y a des chances qie cela se passe mal à compter de demain...</li>
</ul>
<h3 id="time-series">Time Series</h3>
<ul>
<li><a rel="noopener" target="_blank" href="https://blog.senx.io/industrie-du-futur-donnees-chemin-critique/">Industrie du futur : les données sur le chemin critique</a>, <a rel="noopener" target="_blank" href="https://blog.senx.io/industrie-du-futur-donnees-chemin-critique-partie-2/">Industrie du futur : les données sur le chemin critique – Partie 2</a> et <a rel="noopener" target="_blank" href="https://blog.senx.io/industrie-du-futur-donnees-chemin-critique-partie-3/">Industrie du futur : les données sur le chemin critique – Partie 3</a> : Suite d'un premier article "<a rel="noopener" target="_blank" href="https://blog.senx.io/les-series-temporelles-le-veritable-futur-de-la-donnee/">Les séries temporelle : le futur de la donnée</a> qui continue à poser les enjeux de l'industrie du futur et les évolutions que cela va apporter pour permettre une maintenance analytique (version optimisée de la maintenance préventive et réactive/conditionelle), la data pour la création de nouveaux services et générateurs de revenus (directs ou indirects), les jumeaux numériques et sur un fond de synergies entre l'informatique technique et celle de gestion pour une optimisation des process.</li>
<li><a rel="noopener" target="_blank" href="https://blog.senx.io/server-monitoring-warp-10-telegraf/">Server monitoring with Warp 10 and Telegraf</a> : Premiers pas pour la mise en place d'une stack de monitoring avec Telegraf / Warp 10 et Discovery ; manque plus que la suite à
<a rel="noopener" target="_blank" href="https://blog.senx.io/alerts-are-real-time-series/">Alerts are real time series</a> pour avoir la partie alerting (et notifications ?).</li>
<li><a rel="noopener" target="_blank" href="https://warp10.io/content/05_Ecosystem/02_Visualization/02_Discovery/00_Overview">Discovery</a> : la documentation de la solution de Dashboard as Code pour Warp 10 est (enfin) arrivée !</li>
<li><a rel="noopener" target="_blank" href="https://github.com/winedarksea/AutoTS">winedarksea/AutoTS</a> : tout est dans la description : <strong>"AutoML for forecasting with open-source time series implementations."</strong> ; c'est en Python et cela embarque beaucoup de classes / modèles / transformations / ...</li>
<li><a rel="noopener" target="_blank" href="https://arundo-adtk.readthedocs-hosted.com">Anomaly Detection Toolkit (ADTK)</a> : un framework de détéction d'anomalies en python.</li>
<li><a rel="noopener" target="_blank" href="https://github.com/questdb/questdb/releases/tag/6.0.5">QuestDB 6.0.5</a> & <a rel="noopener" target="_blank" href="https://questdb.io/blog/2021/09/13/release-6-0-5/">QuestDB 6.0.5 September release, geospatial support</a> : la géotimeseries devient tendance : après InfluxDB qui l'a introduit il y a un an environ, et bien longtemps après Warp 10, c'est au tour de QuestDB d'introduire le support des <a rel="noopener" target="_blank" href="https://questdb.io/docs/concept/geohashes/">données géospatiales</a>. La version apporte aussi des améliorations sur <code>first()</code> et <code>last()</code> ainsi que les nouvelles fonctions <code>timestamp_floor()</code> et <code>timestamp_ceil()</code> pour gérer les arrondis inférieurs/supérieurs. Enfin, l'API HTTP accepte des paramètres liés au "Out Of Order".</li>
<li><a rel="noopener" target="_blank" href="https://github.com/questdb/questdb/releases/tag/6.0.6">QuestDB 6.0.6</a> : version de maintenance </li>
<li><a rel="noopener" target="_blank" href="https://github.com/questdb/questdb/releases/tag/6.0.7">QuestDB 6.0.7</a> : la version 6.0.6 introduit un bug dans le cadre de la migration depuis une version antérieure. La version 6.0.7 apporte un correctif sur le sujet. Si vous êtes en en 6.0.6, mettre à jour * [en 6.0.7 - si vous êtes dans une version inférieure à 6.0.6, passez à la version 6.0.7 sans passer par la case 6.0.6</li>
<li><a rel="noopener" target="_blank" href="https://github.com/questdb/questdb/releases/tag/6.0.7.1">QuestDB 6.0.7.1</a> : en espérant que cette version soit enfin la bonne pour les migrations.</li>
<li><a rel="noopener" target="_blank" href="https://github.com/timescale/timescaledb/releases/tag/2.4.2">TimescaleDB 2.4.2</a> : version de maintenance</li>
<li><a rel="noopener" target="_blank" href="https://www.influxdata.com/blog/influxdbs-checks-and-notifications-system/">InfluxDB’s Checks and Notifications System</a> : un billet très détaillé sur le fonctionnement des checks et des notifications sous InfluxDB v2 pour mettre en place vos alertes.</li>
<li><a rel="noopener" target="_blank" href="https://grafana.com/blog/2021/09/10/new-in-grafana-8.1-gradient-mode-for-time-series-visualizations-and-dynamic-panel-configuration/">New in Grafana 8.1: Gradient mode for Time series visualizations and dynamic panel configuration</a> : un mode gradient pour les time series qui permet d'appliquer des couleurs sur ses graphs en fonction de seuils.</li>
</ul>
Web, Ops, Data et Time Series - Juin 20212021-06-30T09:30:00+02:002021-06-30T09:30:00+02:00
Unknown
https://cerenit.fr/blog/web-ops-data-timeseries-juin-2021/<h3 id="automatisation">Automatisation</h3>
<ul>
<li><a rel="noopener" target="_blank" href="https://www.hashicorp.com/blog/announcing-hashicorp-terraform-1-0-general-availability">Announcing HashiCorp Terraform 1.0 General Availability</a> : Terraform 1.0 est (enfin) GA.</li>
<li><a rel="noopener" target="_blank" href="https://www.hashicorp.com/blog/announcing-consul-1-10">Announcing Consul 1.10 GA</a> : des améliorations surtout sur la partie "Service Mesh" aka Consul Connect, ainsi que coté UI.</li>
</ul>
<h3 id="conteneurs-et-orchestration">Conteneurs et orchestration</h3>
<ul>
<li><a rel="noopener" target="_blank" href="https://medium.com/k8slens/lens-5-released-f7e58e8842cf">Lens 5 Released</a> - <a rel="noopener" target="_blank" href="https://github.com/lensapp/lens/releases/tag/v5.0.0">Release Notes</a> : le "Kubernetes IDE" passe en version 5 avec diverses améliorations dont notamment du collaboratif avec du partage de contexte kubernetes.</li>
<li><a rel="noopener" target="_blank" href="https://tferdinand.net/traefik-2-5-quoi-de-neuf/">Traefik 2.5, quoi de neuf ?</a> : actuellement en RC2, la version 2.5.0 de Traefik devrait apporter un support expérimental d'HTTP/3, le support des plugins privés, la mise à jour des CRD Kubernetes et les métriques par routeur (désactivé par défaut)</li>
</ul>
<h3 id="monitoring-observabilite">Monitoring & Observabilité</h3>
<ul>
<li><a rel="noopener" target="_blank" href="https://grafana.com/blog/2021/06/08/grafana-8.0-unified-grafana-and-prometheus-alerts-live-streaming-new-visualizations-and-more/">Grafana 8.0: Unified Grafana and Prometheus alerts, live streaming, new visualizations, and more!</a> : Grafana dans sa version 8.0 avec son lots d'amélioration.</li>
<li><a rel="noopener" target="_blank" href="https://grafana.com/blog/2021/06/08/grafanaconline-2021-your-guide-to-the-newest-announcements-from-grafana-labs">GrafanaCONline 2021: Your guide to the newest announcements from Grafana Labs</a> : Résumé de la 1ère journée de GrafanaCon avec Grafan 8, Tempo 1.0, etc.</li>
<li><a rel="noopener" target="_blank" href="https://grafana.com/docs/grafana/latest/whatsnew/whats-new-in-v8-0/">What’s new in Grafana v8.0</a> : une version plus détaillée des apports de la version 8.0 de Grafana</li>
<li><a rel="noopener" target="_blank" href="https://vector.dev/releases/0.14.0/">Vector v0.14.0 Release Notes</a> : Vector permet maintenant d'exécuter des scripts externes via la source <code>exec</code>.</li>
<li><a rel="noopener" target="_blank" href="https://www.influxdata.com/blog/release-announcement-telegraf-1-19-0/">Release Announcement: Telegraf 1.19.0</a> : version incrémentale avec son lot d'améliorations et de corrections.</li>
<li><a rel="noopener" target="_blank" href="https://grafana.com/about/press/2021-06-17-grafana-labs-brings-modern-open-source-load-testing-to-observability-with-acquisition-of-k6/"> Grafana Labs Brings Modern Open Source Load Testing to Observability with Acquisition of k6</a> : Grafana Labs étend son offre d'observabilité avec l'acquisition de <a rel="noopener" target="_blank" href="https://k6.io/">k6</a>, un outil de test de charge et de performance.</li>
</ul>
<h3 id="postgresql">Postgresql</h3>
<ul>
<li><a rel="noopener" target="_blank" href="https://tapoueh.org/blog/2021/06/postgresql-as-a-microservice/">PostgreSQL as a Microservice</a> : on pense souvent qu'une base de données permet la persistence des données. Ce n'est pas le principal enjeu d'une base de données mais la gestion de la concurrence.</li>
</ul>
<h3 id="time-series">Time Series</h3>
<ul>
<li><a rel="noopener" target="_blank" href="https://www.influxdata.com/blog/release-announcement-influxdb-oss-2-0-7/">Release Announcement: InfluxDB OSS 2.0.7</a> : version de maintenance avec des correctifs et la mise à jour de Flux.</li>
<li><a rel="noopener" target="_blank" href="https://www.influxdata.com/blog/release-announcement-chronograf-1-9-0/">Release Announcement: Chronograf 1.9.0</a> : Version 1.9 de Chronograf, l'outil de dasboard et exploration des données d'InfluxData pour InfluxDB 1.x et 2.x. Cette version apporte un meilleur support de Flux (template variable, etc), le support au niveau UI du support TickScript & Flux de Kapacitor 1.6 (release à venir), un mode HA et pleins d'autres améliorations. Une version qui peut être utile dans le cadre d'une migration progressive d'InfluxDB 1.x vers 2.x</li>
<li><a rel="noopener" target="_blank" href="https://github.com/influxdata/influxdb-stack-manager">influxdata/influxdb-stack-manager</a> : pour gérer plus efficacement vos "stacks" InfluxdB (dashboard, tasks, etc). Requiert la cli influx.</li>
<li><a rel="noopener" target="_blank" href="https://www.timeseries.fr/edition/timeseriesfr-11/">TSFR Edition #11 - Récapitulatif InfluxDays EMEA 2021</a> : Edition un peu particulière du meetup - n'ayant pas pu l'organiser dans les temps mais l'ayant préparé, voici sous forme vidéo le résumé des annonces produits d'InfluxData dans le cadre des InfluxDays EMEA 2021.</li>
<li><a rel="noopener" target="_blank" href="https://www.timeseries.fr/edition/timeseriesfr-12/">TSFR Edition #12 - Le Bateau Qui Vole - Exploiter des données de navigation pour remporter les courses au large</a> : un retour pragmatique et assez complet sur la mise en place d'un process de collecte / traitement / analyse des données d'un trimaran et des problématiques rencontrées.</li>
<li><a rel="noopener" target="_blank" href="https://blog.senx.io/interacting_git_repositories_warp10/">Interacting with Git repositories from Warp 10</a> : dans le cadre de la version 2.8 de Warp 10, des nouvelles capacités autour de l'interaction avec des dépots git sont disponibles. L'article présente des interactions de base mais j'ai encore du mal à voir les cas d'usage auxquels cela semble vouloire répondre.</li>
<li><a rel="noopener" target="_blank" href="https://blog.senx.io/protecting-macros-and-functions-with-capabilities/">Protecting your Macros and Functions with Capabilities</a> : Avec Warp 10 2.8, il est désormais possible de définir des "capacités" et de contrôler plus finement les actions des utilisateurs au travers de ces capacités.</li>
<li><a rel="noopener" target="_blank" href="https://blog.senx.io/warpstudio-v2-whats-new-in-our-web-ide/">WarpStudio v2: What’s new in our Web IDE?</a> : nouvelle version du WarpStudio de SenX, l'IDE Web prévue pour Warp 10 : support de FLoWS, documentation intégrée, intégration git, support de Disocvery (Dashboard as code), snippets, etc.</li>
<li><a rel="noopener" target="_blank" href="https://www.cerenit.fr/blog/ma-compta-une-serie-temporelle-comme-les-autres-partie-5/">Ma comptabilité, une série temporelle comme les autres - partie 5 - Les FEC et le compte 512</a> : si vous l'avez raté, nouvelle partie sur la comptaiblité, une série temporelle comme les autres avec cette fois-ci l'ingestion des fichiers d'écritures comptables (FEC) et l'analyse du compte 512 (banque)</li>
<li><a rel="noopener" target="_blank" href="https://blog.quasardb.net/dont-write-your-own-persistence-layer-why-we-chose-rocksdb">Don’t write your own persistence layer: why we chose RocksDB</a> : retour d'exéprience de QuasarDB sur le choix de la couche de persistence entre batir sa propre solution (spoiler : mauvaise isée), utiliser LevelDB (comme Warp 10) ou faire le choix de RocksDB.</li>
<li><a rel="noopener" target="_blank" href="https://engineering.fb.com/2021/06/21/open-source/kats/">Meet Kats — a one-stop shop for time series analysis</a> - <a rel="noopener" target="_blank" href="https://github.com/facebookresearch/Kats">facebookresearch/Kats</a> - <a rel="noopener" target="_blank" href="https://facebookresearch.github.io/Kats/">Kats - One stop shop for time series analysis in Python</a> : Facebook vient de sortir une librairie en python qui veut fournir un "tout en un" de la manipulation de séries temporelles. On y retrouve notamment <a rel="noopener" target="_blank" href="https://facebook.github.io/prophet/">Prophet</a> pur la partie prédiction.</li>
</ul>
InfluxDB 2.0 OSS - Notes de mise à jour2020-11-20T17:00:00+01:002020-11-20T17:00:00+01:00
Unknown
https://cerenit.fr/blog/influxdb2-oss-upgrade/<p><a rel="noopener" target="_blank" href="https://www.influxdata.com/blog/influxdb-2-0-open-source-is-generally-available/">InfluxDB 0SS 2.0</a> étant sortie, j'ai testé la mise à jour d'une instance 1.8.3 vers 2.0.1 sur une VM Debian 10 à jour.</p>
<h3 id="mise-a-jour">Mise à jour</h3>
<p>La documentation pour une <a rel="noopener" target="_blank" href="https://docs.influxdata.com/influxdb/v2.0/upgrade/v1-to-v2/">mise à jour 1.x vers 2.x</a> est disponible. La vidéo "<a rel="noopener" target="_blank" href="https://youtu.be/HYlWr5uIKok">Path to InfluxDB 2.0: Seamlessly Migrate 1.x Data</a>" reprend cela et va plus loin en présentant bien tous les points à prendre en compte (y compris pour Telegraf, Chronograf et Kapacitor). Je ne rajouterai donc que mes remarques.</p>
<p>Concernant la commande <code>influxd upgrade</code> :</p>
<ul>
<li>Il est fort probable qu'il faille rajouter la commande <code>sudo</code> pour ne pas avoir de problèmes de permisisons.</li>
<li>Par défaut, les données migrées vont être mises dans <code>~/.influxdbV2</code>. Or je doute que vous vouliez que vos données soient à cet endroit. Je vous invite donc à regarder la documentation de <a rel="noopener" target="_blank" href="https://docs.influxdata.com/influxdb/v2.0/reference/cli/influxd/upgrade/"><code>influxd upgrade</code></a> pour définir les propriétés <code>--engine-path</code> et <code>--bolt-path</code></li>
</ul>
<p>Exemple:</p>
<pre data-lang="bash" style="background-color:#2b303b;color:#c0c5ce;" class="language-bash "><code class="language-bash" data-lang="bash"><span style="color:#bf616a;">mkdir -p</span><span> /srv/influxdb/influxdb2
</span><span style="color:#bf616a;">influxd</span><span> upgrade</span><span style="color:#bf616a;"> --engine-path</span><span> /srv/influxdb/influxdb2/engine</span><span style="color:#bf616a;"> --bolt-path</span><span> /srv/influxdb/influxdb2/influxd.bolt
</span></code></pre>
<ul>
<li>A l'issue de la migration, un fichier <code>config.toml</code> est généré dans <code>/etc/influxdb/</code>. Il contient quelques valeurs issues de la migration et des valeurs par défaut. Je l'ai personnalisé de la façon suivante pour tenir compte de mes valeurs :</li>
</ul>
<pre data-lang="toml" style="background-color:#2b303b;color:#c0c5ce;" class="language-toml "><code class="language-toml" data-lang="toml"><span style="color:#bf616a;">bolt-path </span><span>= "</span><span style="color:#a3be8c;">/srv/influx/influxdb2/influxd.bolt</span><span>"
</span><span style="color:#bf616a;">engine-path </span><span>= "</span><span style="color:#a3be8c;">/srv/influx/influxdb2/engine</span><span>"
</span><span style="color:#bf616a;">http-bind-address </span><span>= "</span><span style="color:#a3be8c;">127.0.0.1:8086</span><span>"
</span><span style="color:#bf616a;">storage-series-id-set-cache-size </span><span>= </span><span style="color:#d08770;">100
</span></code></pre>
<ul>
<li>Post-migration, le service <code>influxd</code> cherchait à initialiser ses fichiers dans <code>/var/lib/influxdb/.influxdbv2</code>. Ayant noté que le service InfluxDB prennait <code>/etc/default/influxdb</code> comme fichier d'environnement, j'ai ajouté dans ce fichier :</li>
</ul>
<pre style="background-color:#2b303b;color:#c0c5ce;"><code><span># /etc/default/influxdb
</span><span>INFLUXD_CONFIG_PATH=/etc/influxdb/config.toml
</span></code></pre>
<p>Dès lors, <code>/etc/influxdb/config.toml</code> était bien pris en compte et InfluxDB démarrait bien avec mes données.</p>
<p>Une fois InfluxDB 2 démarré, j'ai pu noter avec plaisir :</p>
<ul>
<li>que l'ingestion via telegraf continuait à se faire sans interruption,</li>
<li>que mes dashboards Grafana continuaient à fonctionner.</li>
</ul>
<p>Je n'ai donc pas d'urgence à migrer la configuration et le paramétrage de ces derniers. Je vais pouvoir le faire progressivement ces prochains jours.</p>
<p>N'utilisant pas Chronograf et Kapacitor, je n'ai pas eu de données à migrer ou d'ajustements à faire à ce niveau là. La vidéo reprend bien les points d'attention et les éventuelles limitations à prendre en compte dans le cadre de la migration.</p>
<p>Finalement, c'est pas mal qu'ils aient réintégrer les endpoints 1.x dans la version 2.0 à ce niveau là ;-)</p>
<p>La <a rel="noopener" target="_blank" href="https://www.influxdata.com/blog/release-announcement-influxdb-oss-2-0-2/">2.0.2</a> étant sortie pendant ma mise à jour, j'ai poursuivi la mise à jour. Je suis tombé sur ce <a rel="noopener" target="_blank" href="https://github.com/influxdata/influxdb/issues/20121">bug</a> rendant l'écriture de données impossibles. Cela a mis en évidence un bug sur la migration des "retention policies" et sur le fait que j'avais aussi des très vieilles bases InfluxDB. Je n'aurai a priori pas eu ce bug en faisant la migration 1.8.3 vers 2.0.2. En tous cas, une 2.0.3 devrait donc arriver prochainement avec une amélioration du processus de migration faisant suite à ma séance de troubleshooting.</p>
<h3 id="migration-des-configurations">Migration des configurations</h3>
<p>Elle peut se faire très progressivement - si par ex vous utilisez telegraf pour envoyer vos données et Grafana pour la partie dashboarding :</p>
<ul>
<li>Vous pouvez mettre à jour votre configuration telegraf en passant de l'outputs <code>influxdb</code> à l'output <code>influxdb_v2</code> sans impacter grafana qui continuera à accéder à vos données en InfluxQL</li>
<li>Vous pouvez ensuite mettre à jour votre datasource InfluxDB ou plutôt en créer une nouvelle et migrer vos dashboards progressivement sans interruption de service</li>
</ul>
<h3 id="creer-un-acces-en-influxql-a-un-nouveau-bucket">Créer un accès en InfluxQL à un nouveau bucket</h3>
<p>Si vous devez rétablir un accès à vos données via les API 1.x à un bucket nouvellement créé (j'ai profité de la migration pour mettre des buckets clients dans des organisations représentant les clients en question).</p>
<pre style="background-color:#2b303b;color:#c0c5ce;"><code><span># Créer le bucket
</span><span>influx bucket create --name <BUCKET_NAME> --retention 0 --org <ORGANISATION>
</span><span># Récupérer l'ID de bucket via la liste des buckets
</span><span>influx bucket list
</span><span># Créer une DBRP (DataBase Retention Policies) pour le bucket en question - les accès en 1.x se font en mode SELECT * FROM <db_name>.<retention_policies> ...
</span><span>influx v1 dbrp create --bucket-id=<BUCKET_ID> --db=<BUCKET_NAME> --rp=autogen --default=true
</span><span># Créer un utilsateur sans mot de passe pour le moment
</span><span>influx v1 auth create --username <USER> --read-bucket <BUCKET_ID> --write-bucket <BUCKET_ID> --org <ORGANISATION> --no-password
</span><span># Créer un mot de passe au format V1
</span><span>influx v1 auth set-password --username <USER>
</span></code></pre>
<p>Les utilisateurs migrés depuis la version 1.x sont visibles via <code>influx v1 auth list</code>.</p>
<h3 id="integration-influxdb-2-0-flux-et-grafana">Intégration InfluxDB 2.0 / Flux et Grafana</h3>
<p>Le support de Flux dans Grafan existe <a rel="noopener" target="_blank" href="https://grafana.com/docs/grafana/latest/datasources/influxdb/#flux-support">depuis la version 7.1</a> mais il n'est pas aussi aisé que celui dans InfluxDB 2.0 OSS. Il y a certes de la complétion au niveau du code ou le support des variables mais pas de capacité d'introspection sur la partie données.</p>
<p>Pour le moment, je procède donc de la façon suivante :</p>
<ul>
<li>Création de la Requête via le Query Builder dans InfluxDB 0SS</li>
<li>Passage en mode "Script editor" pour dynamiser les variables ou ajuster certains comportements</li>
<li>Copier/coller dans l'éditeur de Grafana</li>
<li>Ajustement des variables pour les mettre au format attendu par Grafana.</li>
</ul>
<p>Ex coté InfluxDB 2.0 OSS / Flux :</p>
<pre style="background-color:#2b303b;color:#c0c5ce;"><code><span>from(bucket: v.bucket)
</span><span> |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
</span><span> |> filter(fn: (r) => r["_measurement"] == "net")
</span><span> |> filter(fn: (r) => r["_field"] == "bytes_recv" or r["_field"] == "bytes_sent")
</span><span> |> filter(fn: (r) => r["host"] == v.host)
</span><span> |> derivative(unit: v.windowPeriod, nonNegative: false)
</span><span> |> yield(name: "derivative")
</span></code></pre>
<p>La version dans Grafana :</p>
<pre style="background-color:#2b303b;color:#c0c5ce;"><code><span>from(bucket: "${bucket}")
</span><span>|> range(start: v.timeRangeStart, stop: v.timeRangeStop)
</span><span>|> filter(fn: (r) => r["_measurement"] == "net")
</span><span>|> filter(fn: (r) => r["_field"] == "bytes_recv" or r["_field"] == "bytes_sent")
</span><span>|> filter(fn: (r) => r["host"] == "${host}")
</span><span>|> derivative(unit: v.windowPeriod, nonNegative: false)
</span><span>|> yield(name: "derivative")
</span></code></pre>
<p>La différence portant sur la gestion des variables <code>v.host</code> vs <code>"${host}"</code> et <code>v.bucket</code> vs <code>"${bucket}"</code>.</p>
<p>Autre bonne nouvelle, les variables sont supportées dans Grafana ; vous pouvez donc définir les variables comme celles vu juste au-dessus :</p>
<p>Variable <code>bucket</code> de type "Query" en prenant InfluxDB/Flux comme datasource :</p>
<pre style="background-color:#2b303b;color:#c0c5ce;"><code><span>buckets()
</span><span> |> filter(fn: (r) => r.name !~ /^_/)
</span><span> |> rename(columns: {name: "_value"})
</span><span> |> keep(columns: ["_value"])
</span></code></pre>
<p>Variable <code>host</code> de type "Query" en prenant InfluxDB/Flux comme datasource :</p>
<pre style="background-color:#2b303b;color:#c0c5ce;"><code><span># Provide list of hosts
</span><span>import "influxdata/influxdb/schema"
</span><span>schema.tagValues(bucket: v.bucket, tag: "host")
</span></code></pre>
<p>Si votre requête fonctionne dans un dashboard InfluxDB ou en mode explore mais qu'elle est tronquée dans Grafana, il vous faudra ajuster le "Max Data Points" pour récupérer plus de points pour cette requête (cf <a rel="noopener" target="_blank" href="https://github.com/grafana/grafana/issues/26484">grafana/grafana#26484</a>).</p>
<p><a href="/blog/influxdb2_oss_grafana_max_data_points.png"><img src="/blog/influxdb2_oss_grafana_max_data_points.png" alt="InfluxDB 2.0 OSS - Grafana - Max Data Points" /></a></p>
Web, Ops & Data - Juin 20202020-06-24T09:30:00+02:002020-06-24T09:30:00+02:00
Unknown
https://cerenit.fr/blog/web-ops-and-data-juin-2020/<p>Je ne peux résister à mentionner la sortie de <a rel="noopener" target="_blank" href="https://bigdatahebdo.com/podcast/episode-100-anniversaire-avec-la-communaute/">l'épisode 100 du BigDataHebdo</a>, podcast où j'ai le plaisir de contribuer. Pour ce numéro spécial (épisode 100 et 6 ans du podcast), nous avons fait appel aux membres de la communauté pour partager avec nous leur base de données favorite, la technologie qui les a le plus impressionée durant ces 6 dernières années et celle qu'ils voient comme majeure pour les 6 prochaines années. Allez l'écouter !</p>
<h3 id="cloud">Cloud</h3>
<ul>
<li><a rel="noopener" target="_blank" href="https://www.hashicorp.com/blog/announcing-the-terraform-visual-studio-code-extension-v2-0-0/">Announcing the Terraform Visual Studio Code Extension v2.0.0</a> : Hashicorp prend en main le support de l'extension Terraform pour VSCode, en sort une nouvelle version et apporte différentes améliorations comme un meilleur support de Terraform 0.12 et l'utilisation du Terraform Language Server.</li>
</ul>
<h3 id="container-et-orchestration">Container et orchestration</h3>
<ul>
<li><a rel="noopener" target="_blank" href="https://thenewstack.io/introducing-the-telegraf-operator-kubernetes-sidecars-made-simple/">Introducing the Telegraf Operator: Kubernetes Sidecars Made Simple</a> : Présentation de l'operator kubernetes pour telegraf qui permet de déployer un agent telegraf sous la forme d'un sidecar dans un pod et de récupérer les métriques associés.</li>
<li><a rel="noopener" target="_blank" href="https://twitter.com/Sebastien_Jard1/status/1270641379979362304">Kubernetes 1.18.x officiellement disponible chez OVHCloud</a></li>
<li><a rel="noopener" target="_blank" href="https://rancher.com/blog/2020/longhorn-container-storage">Longhorn Simplifies Distributed Block Storage in Kubernetes</a> : Rancher vient de sortir la version 1.0 de <a rel="noopener" target="_blank" href="https://rancher.com/products/longhorn">Longhorn</a>. C'est une solution de stockage pour Kubernetes que l'on peut utiliser avec ou sans Rancher. Il faut la voir comme une solution de stockage légère et simple à mettre en oeuvre. Un système de réplication permet d'éviter les pertes de données et d'amélioer la durabilité des données. Des fonctionnalités de backup/restore existent également. Elle semble plus simple à mettre en oeuvre que Rook/Ceph par ex mais sera moins complète que ce dernier.</li>
<li><a rel="noopener" target="_blank" href="https://dev.to/aurelievache/kubernetes-sketchnotes-pods-4ib0">Understanding Kubernetes</a> & <a rel="noopener" target="_blank" href="https://dev.to/aurelievache/understanding-istio-part-1-istio-components-4ik5">Understanding Istio</a> : Aurélie Vache réalise des sketchnotes pour vulgariser Kubernetes et Istio. Un joli travail de vulgarisation.</li>
</ul>
<h3 id="iot">IoT</h3>
<ul>
<li><a rel="noopener" target="_blank" href="https://www.raspberrypi.org/blog/8gb-raspberry-pi-4-on-sale-now-at-75/">8GB Raspberry Pi 4 on sale now at $75</a> : Le Raspberry Pi 4 arrive en version 8Go de RAM, Raspberry PI OS arrive en 64 bits, le support du boot sur usb arrive aussi (adieu la SDCard) et plein d'autres choses. Le tout au prix de 75$.</li>
</ul>
<h3 id="ops">Ops</h3>
<ul>
<li><a rel="noopener" target="_blank" href="https://medium.com/@IG1.com/sismology-iguana-solutions-monitoring-system-f46e4170447f">Sismology: Iguana Solutions’ Monitoring System</a> : retour d'expérience sur une plateforme de monitoring initiée sur Prometheus et qui évolue vers VictoriaMetrics en prenant les aspects de stockage à long terme, le multi-tenant et la haute disponibilité de la plateforme.</li>
</ul>
<h3 id="time-series">Time Series</h3>
<ul>
<li><a rel="noopener" target="_blank" href="https://www.influxdata.com/blog/release-announcement-influxdb-2-0-0-beta-12/">Release Announcement: InfluxDB 2.0.0 Beta 12</a> : une beta de plus avec l'ajout notamment d'<code>influx stacks</code> pour faire du CRUD sur des groupes de ressources InfluxDB (dashboard, labels, tasks, etc).</li>
<li><a rel="noopener" target="_blank" href="https://twitter.com/warp10io/status/1268865147671646209">Warp 10, The Most Advanced Time Series Platform, now provides multi-architecture docker images.</a> : vous pouvez donc déployer des <a rel="noopener" target="_blank" href="https://hub.docker.com/r/warp10io/warp10">images docker warp10</a> sur des plateformes amd64/armv7/arm64.</li>
<li><a rel="noopener" target="_blank" href="https://blog.senx.io/may-2020-warp-10-release-2-6-0/">May 2020: Warp 10 release 2.6.0</a> : Pleins d'améliorations et de correctifs et notamment la capacité de dialoguer directement avec Warp10 via le protocole Protobuf ou via Arrow.</li>
<li><a rel="noopener" target="_blank" href="https://blog.senx.io/time-series-forecasts-in-warpscript/">Time series forecasts in WarpScript</a> : Présentation de l'extension Warpscript permettant d'appliquer des algorithmes de prévisions (ARIMA, SARIMA, HOLTWINTERS, etc) sur des séries temporelles. Précision: il s'agit d'une extension propriétaire mais vous pouvez l'évaluer sur la <a rel="noopener" target="_blank" href="https://sandbox.senx.io/">sandbox Warp10</a> mise à disposition par <a rel="noopener" target="_blank" href="https://senx.io/">SenX</a>.</li>
</ul>
Web, Ops & Data - Avril 20202020-04-29T21:30:00+02:002020-04-29T21:30:00+02:00
Unknown
https://cerenit.fr/blog/web-ops-and-data-avril-2020/<h3 id="code-et-outillage">Code et Outillage</h3>
<ul>
<li><a rel="noopener" target="_blank" href="https://about.gitlab.com/blog/2020/03/30/new-features-to-core/">18 GitLab features are moving to open source</a> : Gitlab va rendre disponible dans sa version Open Source 18 fonctionnalités de sa version payante. C'est un peu la lutte avec Github et ses Github Actions ou <a rel="noopener" target="_blank" href="https://github.blog/2020-04-14-github-is-now-free-for-teams/">ses dernières évolutions tarifaires</a>.</li>
</ul>
<h3 id="container-orchestration">Container & orchestration</h3>
<ul>
<li><a rel="noopener" target="_blank" href="https://www.docker.com/blog/announcing-the-compose-specification/">Announcing the Compose Specification</a> : Docker Inc vient de lancer une spécificiation officielle autour de Compose (celle derrière les <code>docker-compose.yml</code>) pour la rendre plus "cloud native" et plus générique avec une extension au provider cloud d'une part et d'autre part à des solutions comme kubernetes ou Amazone ECS par ex.</li>
<li><a rel="noopener" target="_blank" href="https://containo.us/blog/traefik-2-2-ingress/">Announcing Traefik 2.2</a>, ainsi que la <a rel="noopener" target="_blank" href="https://containo.us/blog/traefik-enterprise-edition-2-1-now-available/">version Entreprise TraefikEE 2.1</a> basée dessus : on notera le retour du support des annotations pour gérer les Ingress, le support de l'UDP (en plus de HTTP et TCP), le support d'Elastic APM, le support des stores KV (Consul, Etcd, Redis, etc) et le Dark Mode.</li>
<li><a rel="noopener" target="_blank" href="https://www.scaleway.com/en/kubernetes-kapsule/">Scaleway Kubernetes Kapsule</a> : l'offre managée kubernetes de Scaleway est disponible. Dommage que les CPU des profils de machine <code>DEV*</code> soient surprovisionnés et qu'il faille envisager des profils <code>GP*</code> pour avoir des performances correctes. L'offre est du coup moins compétitive en termes de prix pour des petits clusters.</li>
<li><a rel="noopener" target="_blank" href="https://kubernetes.io/blog/2020/03/25/kubernetes-1-18-release-announcement/">Kubernetes 1.18 : Fit & Finish</a> : une version de consolidation</li>
<li><a rel="noopener" target="_blank" href="https://opensource.com/article/20/3/deprek8">How to detect outdated Kubernetes APIs</a> : présentation de <a rel="noopener" target="_blank" href="https://github.com/naquada/deprek8">Deprek8</a> et de <a rel="noopener" target="_blank" href="https://github.com/instrumenta/conftest">Conftest</a> pour vous permettre d'évaluer les ressources kubernetes pour lesquelles vous n'êtes pas à jour au niveau des API.</li>
<li><a rel="noopener" target="_blank" href="https://github.com/helm/helm/releases/tag/v3.2.0">Helm 3.2.0</a> avec un correctif de sécurité sur les versions 3.0.x et 3.1.x et d'autres améliorations (comme le retour de certaines fonctionnalités non encore migrées depuis la 2.x)</li>
<li><a rel="noopener" target="_blank" href="https://grafana.com/blog/2020/04/02/cortex-v1.0-released-the-highly-scalable-fast-prometheus-implementation-is-generally-available-for-production-use/">Cortex v1.0 released: The highly scalable, fast Prometheus implementation is generally available for production use</a> : la solution de monitoring distribuée et avec un stockage de long terme basée sur Prometheus arrive en version 1.0. C'est l'occasion de se repencher sur son <a rel="noopener" target="_blank" href="https://cortexmetrics.io/docs/architecture/">architecture</a> et son fonctionnement.</li>
<li><a rel="noopener" target="_blank" href="https://kauri.io/build-your-very-own-selfhosting-platform-with-rasp/5e1c3fdc1add0d0001dff534/c">Build your very own self-hosting platform with Raspberry Pi and Kubernetes</a> : une série d'articles pour déployer un cluster kubernetes sur vos raspberrypi avec la distributions k3s et y déployer différentes applications.</li>
<li><a rel="noopener" target="_blank" href="https://blog.rook.io/rook-v1-3-storage-operator-improvements-8c3f1c94592a">Rook v1.3: Storage Operator Improvements</a> : si vous n'êtes pas dans un environnement cloud, il y a de fortes chances pour que vous utilisiez Rook. La version 1.3 vient de sortir et apporte son lot d'améliorations.</li>
<li><a rel="noopener" target="_blank" href="https://banzaicloud.com/blog/k8s-sidecars/">Sidecar container lifecycle changes in Kubernetes 1.18</a> : dans la version 1.19, le cycle de vie des sidecars dans kubernetes sera améliorée. Ainsi, ils démarreront avant le conteneur principal et s'arrêteront après. Le billet revient sur les problèmes existant et comment ce nouveau cycle de vie va améliorer la situation.</li>
</ul>
<h3 id="big-data">(Big) Data</h3>
<ul>
<li><a rel="noopener" target="_blank" href="https://www.confluent.io/blog/series-e-round-metamorphosis/">Confluent Raises $250M and Kicks Off Project Metamorphosis</a> : Confluent, la soéciété éditrice de la Confluent Platform et d'Apache Kafka, vient de lever 250 millions de dollars et annonce le projet Metamorphosis et prévoit des annonces tous les mois sur Apache Kafka, Confluent Platform et ce projet à compter du mois de Mai. On en reparlera très certainement sur <a rel="noopener" target="_blank" href="https://www.bigdatahebdo.com/">BigData Hebdo</a>.</li>
<li><a rel="noopener" target="_blank" href="https://www.oreilly.com/library/view/cassandra-the-definitive/9781098115159/">Cassandra: The Definitive Guide, 3rd Edition</a> : nouvelle édition de l'ouvrage de référence sur Cassandra, mis à jour notamment pour Cassandra 4.0 (version à venir)</li>
<li><a rel="noopener" target="_blank" href="https://streamnative.io/blog/tech/2020-03-24-bring-native-kafka-protocol-support-to-apache-pulsar/">Announcing Kafka-on-Pulsar: bring native Kafka protocol support to Apache Pulsar</a> : On en parle dans le prochain épisode de <a rel="noopener" target="_blank" href="https://www.bigdatahebdo.com/">BigData Hebdo</a>, mais <a rel="noopener" target="_blank" href="http://pulsar.apache.org/">Pulsar</a> est une plateforme vraiment intéressante (Pulsar 101 en <a rel="noopener" target="_blank" href="https://www.youtube.com/watch?v=5fqhT82wghY">français</a> ou en <a rel="noopener" target="_blank" href="https://www.youtube.com/watch?v=De6avNyQUMw">anglais</a>) et les équipes d'OVHCloud viennent de publier un connecteur qui permet d'utliser l'API Kafka mais que les messages soient stockés dans Pulsar. Il existe aussi une vidéo sur <a rel="noopener" target="_blank" href="https://www.youtube.com/watch?v=gL6hzRtij8M">Kafka on Pulsar</a> et un article sur le <a rel="noopener" target="_blank" href="https://www.ovh.com/blog/announcing-kafka-on-pulsar-bring-native-kafka-protocol-support-to-apache-pulsar/">blog d'OVHCloud</a>.</li>
</ul>
<h3 id="time-series">Time Series</h3>
<ul>
<li><a rel="noopener" target="_blank" href="https://www.influxdata.com/blog/release-announcement-telegraf-1-14-0/">Release Announcement: Telegraf 1.14.0</a> : 9 nouveaux inputs, 3 nouveaux processors et 1 nouvel output <a rel="noopener" target="_blank" href="https://warp10.io">warp10</a> sont au programme de cette version. Les versions <a rel="noopener" target="_blank" href="https://www.influxdata.com/blog/release-announcement-telegraf-1-14-1/">1.14.1</a> et <a rel="noopener" target="_blank" href="https://www.influxdata.com/blog/release-announcement-telegraf-1-14-2/">1.14.2</a> sont sorties également avec quelques corrections.</li>
<li><a rel="noopener" target="_blank" href="https://www.influxdata.com/blog/release-announcement-influxdb-with-long-awaited-features/">Release Announcement: InfluxDB 1.8.0 with Long-Awaited Features</a> : la branche 1.x d'InfluxDB se voit donc dotée d'une version récente de flux qui se veut "production ready" et les endpoints d'InfluxDB 2.x sont aussi disponibles. Ce qui permet d'utiliser les nouveaux clients officiels InfluxDB prévus pour la 2.x d'une part et de faire des requêtes en Flux d'autre part.</li>
<li><a rel="noopener" target="_blank" href="https://www.influxdata.com/blog/release-announcement-influxdb-2-0-0-beta-9/">Release Announcement: InfluxDB 2.0.0 Beta 9</a> : mise à jour de Flux, autocomplétion flux dans l'éditeur de requêtes et amélioration de la CLI.</li>
<li><a rel="noopener" target="_blank" href="https://www.influxdata.com/blog/influxdb-templates-share-monitoring-expertise/">InfluxDB Templates: Easily Share Your Monitoring Expertise</a> : le billet a pour intérêt de présenter des bonnes pratiques sur la réalisation de <a rel="noopener" target="_blank" href="https://www.influxdata.com/products/influxdb-templates/">templates InfluxDB</a>. Pour rappel, les templates InfluxDB sont des "ressources" que l'on peut déclarer, exporter et importer dans une instance InfluxDB 2.x. Cela concerne des variables, labels, tasks, dashboards, alertes, etc.</li>
<li><a rel="noopener" target="_blank" href="https://blog.senx.io/warp-10-release-2-5-0/">April 2020: Warp 10 release 2.5.0</a> : La version 2.5 de <a rel="noopener" target="_blank" href="https://warp10.io/">Warp10</a> apporte notamment un <a rel="noopener" target="_blank" href="https://blog.senx.io/warp-10-accelerator/">Accelerator</a> c'est à dire un cache en mémoire pour les versions standalones. D'autres corrections et améliorations font également partie de cette release.</li>
<li><a rel="noopener" target="_blank" href="https://blog.senx.io/warpscript-loves-kafka-streams/">WarpScript ❤️ Kafka Streams</a> : si vous utiliser Kafka Streams et que vous voulez utiliser Warpscript pour consommer, processer et envoyer des données vers Kafka, c'est possible.</li>
<li><a rel="noopener" target="_blank" href="https://microsoft.github.io/forecasting/">Forecasting</a> : Microsoft publie des exemples et des bonnes pratiques autour de la prévision à base de séries temporelles. Il y a des exemples en Python / R et quelques exemples avec Azure-ML.</li>
<li><a rel="noopener" target="_blank" href="https://blog.timescale.com/blog/timescaledb-1-7-fast-continuous-aggregates-with-real-time-views-postgresql-12-support-and-more-community-features/">TimescaleDB 1.7: fast continuous aggregates with real-time views, PostgreSQL 12 support, and more Community features</a> : Nouvelle version de TimeScaleDB apportant la compatibilité avec Postgresql 12.x, des aggrégats en temps réel et des fonctionnalités de gestion de données (réordonnancement et rétention) de la version Entreprise sont maintenant disponibles dans la version Community.</li>
</ul>
<h3 id="web">Web</h3>
<ul>
<li><a rel="noopener" target="_blank" href="http://blog.jquery.com/2020/04/10/jquery-3-5-0-released/">jQuery 3.5.0 Released!</a> : une faille XSS a été identifiée sur <code>jQuery.htmlFilter</code> pour toutes les versions inférieures à 3.5.0 ; il est vivement encouragé de mettre à jour vos sites. Pour le reste, je vous renvoie à la lecture de l'article.</li>
</ul>
Web, Ops & Data - Février 20202020-02-26T09:30:00+01:002020-02-26T09:30:00+01:00
Unknown
https://cerenit.fr/blog/web-ops-and-data-fevrier-2020/<h2 id="container-et-orchestration">Container et orchestration</h2>
<ul>
<li><a rel="noopener" target="_blank" href="https://github.com/rikatz/kubepug">Deprecations AKA KubePug - Pre UpGrade (Checker)</a> : Pas encore testé mais un outil qui validerait les objets kubernettes déployés dans un cluster versus une version d'API donnée. Vous pourriez ainsi identifier et anticiper les dépréciations et évolutions d'API.</li>
<li><a rel="noopener" target="_blank" href="https://www.mirantis.com/blog/mirantis-will-continue-to-support-and-develop-docker-swarm/">Mirantis will continue to support and develop Docker Swarm</a> : Mirantis, qui a racheté il y a peu Docker Entreprise et aussi l'orchestrateur de conteneurs Swarm, vient d'annonce qu'ils continuaient à développer Swarm sans limite de temps. Mirantis a récemment ajouter la notion de Swarm Jobs et travaille sur la gestion des volumes via les plugins CSI (Container Storage Interface)</li>
</ul>
<h3 id="securite">Sécurité</h3>
<ul>
<li><a rel="noopener" target="_blank" href="https://hacks.mozilla.org/2020/02/its-the-boot-for-tls-1-0-and-tls-1-1/">It’s the Boot for TLS 1.0 and TLS 1.1</a> : Mozilla, Microsoft, Apple et Google se sont mis d'accord pour ne plus supporter les versions 1.0 et 1.1 de TLS pour des raisons évidentes de sécurité. Reste que cela risque de coincer un peu de part les configurations parfois un peu hasardeuses des serveurs et de l'irrégularité de leurs maintenances ou de la vieillesse de certains packages dans certaines distributions.</li>
</ul>
<h3 id="time-series">Time Series</h3>
<ul>
<li><a rel="noopener" target="_blank" href="https://www.tumfatig.net/20200212/monitoring-the-linky-electricity-meter/">Monitoring the Linky electricity meter</a> : un exemple d'ingestion et de visualisation des données du compteur Linky avec InfluxDB et Grafana. Mais c'est aussi faisable avec <a rel="noopener" target="_blank" href="https://twitter.com/XavMarin/status/1228003233265786881">warp10</a></li>
<li>Les vidéos du Meetup 4 du <a rel="noopener" target="_blank" href="https://www.meetup.com/fr-FR/Paris-Time-Series-Meetup/">Paris Time Series Meetup</a> sont en ligne : David McKay, developer advocate InfluxData nous a présenté <a rel="noopener" target="_blank" href="https://youtu.be/cmpCVLwXYIU">InfluxDB 2.0 & Flux</a> ainsi que <a rel="noopener" target="_blank" href="https://youtu.be/PNE8AMbUyPo">les bonnes pratiques avec Telegraf</a>. Vous pouvez retrouver des exemples sur <a rel="noopener" target="_blank" href="https://github.com/rawkode/influxdb-examples">le dépot git influxdb-examples</a> ainsi que le projet <a rel="noopener" target="_blank" href="https://github.com/rawkode/bring-your-own-telegraf">bring your own telegraf</a>. Les slides sont visibles sur <a rel="noopener" target="_blank" href="https://speakerdeck.com/rawkode/">son compte speakerdeck</a>.</li>
<li><a rel="noopener" target="_blank" href="https://blog.senx.io/interview-how-aim45-uses-warp-10-to-analyze-ocean-races-data/">[Interview] How AIM45 uses Warp 10 to analyze ocean races data?</a> : Interview d'Olivier Douillard d'AIM45 qui utilise la solution Warp10 pour collecter les données des bateaux de course au large en vue d'améliorer leurs performances de navigation mais aussi avoir le suivi de nombreux indicateurs matériels, etc. C'est aussi très bien montré sur cette vidéo <a rel="noopener" target="_blank" href="https://youtu.be/vJs605lOfQM">"Big Data aboard the Maxi Edmond de Rothschild"</a> avec ses 500 points de mesure qui donnent 10 millions de points par heure et quelques gigas de données après une course à analyser.</li>
</ul>
Paris Time Series Meetup - Edition 4 et 32020-02-06T22:00:00+01:002020-02-06T22:00:00+01:00
Unknown
https://cerenit.fr/blog/paris-time-series-meetup-edition-3-et-4/<p><a rel="noopener" target="_blank" href="https://www.meetup.com/fr-FR/Paris-Time-Series-Meetup/events/267961398/">L'édition 4</a> du <a rel="noopener" target="_blank" href="https://www.meetup.com/fr-FR/Paris-Time-Series-Meetup/">Paris Time Series Meetup</a> s'est tenue hier soir. J'ai eu le plaisir d'accueillir <a rel="noopener" target="_blank" href="https://twitter.com/rawkode/">David McKay</a>, Developer Advocate InfluxData, qui est venu nous présenter la plateforme InfluxDB 2.0, le nouveau langage Flux et l'outil de collecte Telegraf (et les bonnes pratiques associées).</p>
<p>Vous pouvez d'ores et déjà retrouver les vidéos en ligne ; les présentations sont en anglais :</p>
<ul>
<li><a rel="noopener" target="_blank" href="https://youtu.be/cmpCVLwXYIU">Let's meet InfluxDB & Flux</a></li>
<li><a rel="noopener" target="_blank" href="https://youtu.be/PNE8AMbUyPo">The Telegraf toolbelt</a></li>
</ul>
<p>Et pour les ressources complémentaires mentionnées par David McKay :</p>
<ul>
<li><a rel="noopener" target="_blank" href="https://github.com/rawkode/influxdb-examples">rawkode/influxdb-examples</a></li>
<li><a rel="noopener" target="_blank" href="https://github.com/rawkode/bring-your-own-telegraf">rawkode/bring-your-own-telegraf</a></li>
<li><a rel="noopener" target="_blank" href="https://speakerdeck.com/rawkode/">rawkode on Speakerdeck</a></li>
</ul>
<p>Concernant <a rel="noopener" target="_blank" href="https://www.meetup.com/fr-FR/Paris-Time-Series-Meetup/events/266610627/">l'édition 3 sur TSL et RedisTimeSeries</a>, initiallement prévue en décembre 2019 et replanifiée le 21 janvier, elle aura finalement lieu le mercredi 25 Mars chez OVHCloud. Pour alimenter votre attente et comme indiqué dans le <a href="/blog/web-ops-and-data-janvier-2020/">dernier billet de veille mensuelle</a>, OVHCloud a publié <a rel="noopener" target="_blank" href="https://github.com/ovh/erlenmeyer">erlenmeyer</a> et vient de publier un billet de blog sur le sujet : <a rel="noopener" target="_blank" href="https://www.ovh.com/blog/tsl-or-how-to-query-time-series-databases/">TSL (or how to query time series databases)</a>.</p>
<p>Nous espérons vous y voir nombreux et en attendant, bon visionnage et bonne lecture !</p>
Web, Ops & Data - Septembre 20192019-09-26T08:30:00+02:002019-09-26T08:30:00+02:00
Unknown
https://cerenit.fr/blog/web-ops-and-data-septembre-2019/<h3 id="container-et-orchestration">Container et Orchestration</h3>
<ul>
<li><a rel="noopener" target="_blank" href="https://blog.containo.us/traefik-2-0-6531ec5196c2">Traefik 2.0</a> : la version tant attendue du reverse proxy "cloud native" <a rel="noopener" target="_blank" href="https://traefik.io">Traefik</a> sort en version 2.0 avec une réécriture complète et plein de nouvelles fonctionnalités : support du reverse proxy pour tcp et plus uniquement http, introduction des "<em>middleware</em>" pour de la configuration plus flexible, une CRD Traefik pour Kubernetes, un nouveau dashboard, le support du déploiement en mode canary, "<em>mirroring</em>" de traffic, etc. Il y a un <a rel="noopener" target="_blank" href="https://docs.traefik.io/migration/v1-to-v2/">guide de migration</a> pour passer de la V1 à la v2.</li>
<li><a rel="noopener" target="_blank" href="https://blog.containo.us/announcing-maesh-a-lightweight-and-simpler-service-mesh-made-by-the-traefik-team-cb866edc6f29">Announcing Maesh, a Lightweight and Simpler Service Mesh Made by the Traefik Team</a> : l'équipe Containous, qui est derrière Traefik, sort sa solution de Service Mesh : <a rel="noopener" target="_blank" href="https://mae.sh/">Maesh</a>. Elle respecte la spécification <a rel="noopener" target="_blank" href="https://smi-spec.io/">Service Mesh Interface</a> (SMI) et a pour principal intérêt pour moi de ne pas modifier les objets kubernetes pour se déployer en mode sidecar (contrairement à Istio pour ne pas le nommer).</li>
<li><a rel="noopener" target="_blank" href="https://www.redhat.com/fr/topics/microservices/what-is-a-service-mesh">Qu'est-ce qu'un Service Mesh ?</a> : article d'information/rappel sur ce qu'est un Service Mesh et son intérêt dans une architecture micro-services.</li>
<li><a rel="noopener" target="_blank" href="https://blog.rook.io/rook-v1-1-accelerating-storage-providers-5b9e8d5901d8">Rook v1.1: Accelerating Storage Providers</a> & <a rel="noopener" target="_blank" href="https://ceph.io/community/rook-v1-1-ceph-features/">Rook v1.1: Ceph CSI, Bucket Provisioning, External Clusters, and much more!</a>: rajout du support de Yugabyte, passage du support de EdgeFS d'alpha à beta, pleins d'améliorations pour Ceph, dont la gestion des clusters Ceph externes au cluster Kubernetes.</li>
<li><a rel="noopener" target="_blank" href="https://kubernetes.io/blog/2019/09/18/kubernetes-1-16-release-announcement/">Kubernetes 1.16: Custom Resources, Overhauled Metrics, and Volume Extensions</a> & <a rel="noopener" target="_blank" href="https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.16.md#kubernetes-v1160-release-notes">Release Notes</a> : Passage en GA des CRD, des admissions webhooks, Refonte des métriques, le redimensionnement des volumes passe de alpha > beta, Support ipv4/ipv6 au niveau pods & services, dépreciation des api <code>extensions/v1beta1</code>, <code>apps/v1beta1</code> et <code>apps/v1beta2</code>, plein de fonctionnalités pour les conteneurs Windows, etc.</li>
<li><a rel="noopener" target="_blank" href="https://kubernetes.io/blog/2019/07/18/api-deprecations-in-1-16/">Deprecated APIs Removed In 1.16: Here’s What You Need To Know</a> : ce qu'il faut savoir sur la dépréciation des API listées ci-dessus</li>
<li><a rel="noopener" target="_blank" href="https://discuss.kubernetes.io/t/announce-security-release-of-kubectl-versions-v1-16-0-1-15-4-1-14-7-and-1-13-11-cve-2019-11251/7993">[ANNOUNCE] Security release of kubectl versions v1.16.0 / 1.15.4 / 1.14.7 and 1.13.11 - CVE-2019-11251</a> : une nouvelle faille sur <code>kubectl cp</code> et cette commande semble supprimée dans la version 1.16.</li>
</ul>
<h3 id="data">Data</h3>
<ul>
<li><a rel="noopener" target="_blank" href="https://kafka-tutorials.confluent.io/">Say Hello World to event streaming</a> : Confluent publie des tutoriels sur Kafka, Kafka Streams et KSQL pour illustrer différents cas d'usages avec le code associé. Ils ont l'air assez bien fait.</li>
</ul>
<h3 id="time-series">Time Series</h3>
<ul>
<li><a rel="noopener" target="_blank" href="https://www.influxdata.com/blog/release-announcement-telegraf-1-12-0/">Release Announcement: Telegraf 1.12.0</a> : Telegraf, le collecteur de métriques/logs passent en version 1.12 avec 13 nouveaux plugins dont un pour <a rel="noopener" target="_blank" href="https://github.com/influxdata/telegraf/tree/master/plugins/inputs/docker_log">l'ingestion des logs docker</a> et plein d'autres améliorations. L'autre grande nouveauté est l'arrivée des plugins - il est possible d'ajouter des plugins à Telegrad de façon dynamique ; il n'est plus nécessaire de recompiler telegrad avec ces plugins en son sein.</li>
</ul>
Web, Ops & Data - Décembre 20172017-12-20T09:30:00+01:002017-12-20T09:30:00+01:00
Unknown
https://cerenit.fr/blog/web-ops-and-data-decembre-2017/<h3 id="accessibilite">Accessibilité</h3>
<ul>
<li><a rel="noopener" target="_blank" href="https://jolicode.com/blog/laccessibilite-nest-plus-un-luxe">L'accessibilité n'est pas un luxe</a> : 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.</li>
</ul>
<h3 id="automatisation">Automatisation</h3>
<ul>
<li><a rel="noopener" target="_blank" href="https://everythingshouldbevirtual.com/automation/ansible-defining-variables-as-dictionaries/">Ansible - Defining Variables As Dictionaries</a> : la documentation d'Ansible donne plusieurs moyens d'utiliser des <a rel="noopener" target="_blank" href="http://docs.ansible.com/ansible/latest/playbooks_loops.html">boucles (loops)</a> au travers de listes, tableaux mais pas de dictionnaires. C'est chose fait et la solution est assez séduisante.</li>
<li><a rel="noopener" target="_blank" href="http://blog.wescale.fr/2017/12/06/spinnaker-cloud-native-continuous-delivery-pipeline/">SPINNAKER: Cloud Native Continuous Delivery Pipeline</a> : présentation de l'outil <a rel="noopener" target="_blank" href="https://www.spinnaker.io/">Spinnaker</a>, 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.</li>
</ul>
<h3 id="aws-reinvent-2017">AWS:ReInvent 2017</h3>
<ul>
<li><a rel="noopener" target="_blank" href="https://aws.amazon.com/blogs/aws/aws-fargate/">Introducing AWS Fargate – Run Containers without Managing Infrastructure</a> : On en a tous rêvé, pouvoir déployer des conteneurs sans avoir à s'occuper de l'infrastructure sous-jacente. Intéressant !</li>
<li><a rel="noopener" target="_blank" href="https://aws.amazon.com/blogs/aws/amazon-elastic-container-service-for-kubernetes/">Amazon Elastic Container Service for Kubernetes</a> : L'offre managée de cluster Kubernetes arrive enfin!</li>
<li><a rel="noopener" target="_blank" href="https://aws.amazon.com/blogs/aws/in-the-works-amazon-aurora-serverless/">In The Works – Amazon Aurora Serverless</a> : dans la logique de séparer les capacités de stockage et de processing (un peu <a rel="noopener" target="_blank" href="https://cloud.google.com/blog/big-data/2017/11/separation-of-storage-and-compute-in-bigquery">comme bigquery l'a fait</a>), 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 !</li>
<li><a rel="noopener" target="_blank" href="https://aws.amazon.com/blogs/aws/s3-glacier-select/">S3 Select and Glacier Select – Retrieving Subsets of Objects</a> : En gros, une interface SQL au dessus de S3 qui permet de récupérer plus facilement les fichiers dont on a besoin.</li>
<li><a rel="noopener" target="_blank" href="https://aws.amazon.com/blogs/aws/amazon-mq-managed-message-broker-service-for-activemq/">Amazon MQ – Managed Message Broker Service for ActiveMQ</a> : tout est dans le titre, https://www.cerenit.fr/admin/pages/blog/web-ops-and-data-decembre-2017#une version d'ActiveMQ managée</li>
<li><a rel="noopener" target="_blank" href="https://aws.amazon.com/blogs/aws/introducing-amazon-appsync/">Introducing AWS AppSync – Build data-driven apps with real-time and off-line capabilities</a> : AWS entre dans le monde de GraphQL en proposant sa version managée. L'équipe GraphQL en parle <a rel="noopener" target="_blank" href="https://dev-blog.apollodata.com/aws-appsync-powered-by-apollo-df61eb706183">ici</a>.</li>
<li><a rel="noopener" target="_blank" href="http://blog.osones.com/aws-reinvent-2017-les-annonces-de-la-premiere-keynote.html">AWS RE:invent 2017 : les annonces de la première Keynote !</a> : Une vue plus complète des annonces de la 1ère Keynote.</li>
<li><a rel="noopener" target="_blank" href="http://blog.osones.com/aws-reinvent-2017-les-annonces-de-la-deuxieme-keynote.html">AWS RE:invent 2017 : les annonces de la deuxième Keynote !</a> : Une vue plus complète des annonces de la 2nde Keynote.</li>
<li><a rel="noopener" target="_blank" href="http://blog.osones.com/laws-reinvent-2017-en-20-annonces.html">L'AWS RE:invent 2017 en 20 annonces !</a> ; s'il ne fallait retenir que 20 (!!) annonces de cette édition 2017 de RE:Invent.</li>
</ul>
<h3 id="cloud">Cloud</h3>
<ul>
<li><a rel="noopener" target="_blank" href="https://www.ec2instances.info/">EC2Instances.info Easy Amazon EC2 Instance Comparison</a> (<a rel="noopener" target="_blank" href="https://github.com/powdahound/ec2instances.info">code source</a> : un site permettant de comparer (plus) facilement les types d'instances EC2 chez AWS.</li>
<li><a rel="noopener" target="_blank" href="https://aws.amazon.com/fr/compliance/gdpr-center/">AWS GDPR Center</a> : 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. <a rel="noopener" target="_blank" href="https://www.google.com/cloud/security/gdpr/">Google Cloud</a> a aussi son centre, tout comme <a rel="noopener" target="_blank" href="https://www.microsoft.com/en-us/TrustCenter/Privacy/gdpr/default.aspx">Azure</a>.</li>
<li><a rel="noopener" target="_blank" href="https://servers.lol/">Servers.LOL</a> : devriez-vous instancier une vm EC2 ou bien utiliser AWS Lambda ? Ce petit configurateur vous aide à prendre la "bonne" décision.</li>
</ul>
<h3 id="elasticsearch">Elasticsearch</h3>
<ul>
<li><a rel="noopener" target="_blank" href="https://www.elastic.co/products/upgrade_guide">Elastic Stack 6.0 Upgrade Guide</a> : un petit assistant mis à disposition par Elastic pour vous accompagner dans la migration vers Elastic 6.0 pour l'ensemble des composants.</li>
<li><a rel="noopener" target="_blank" href="https://logz.io/blog/docker-metricbeat/">Docker Performance Monitoring with Metricbeat and ELK Stack</a> : Tutoriel indiquant comment remonter des métriques Docker (container, réseau, healthcheck, etc) via Metricbeat et leur ingestion dans Elasticsearch puis visualisation dans Kibana.</li>
<li><a rel="noopener" target="_blank" href="https://www.elastic.co/blog/elastic-stack-6-1-0-released">Elastic Stack 6.1.0 Released</a> : 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.</li>
</ul>
<h3 id="kafka">Kafka</h3>
<ul>
<li><a rel="noopener" target="_blank" href="https://www.confluent.io/blog/introducing-confluent-platform-4-0/">Introducing Confluent Platform 4.0</a> : 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) </li>
<li><a rel="noopener" target="_blank" href="https://www.confluent.io/blog/enabling-exactly-kafka-streams/">Enabling Exactly-Once in Kafka Streams</a> : le billet présente comment se gère le "exactly once message" dans un contexte Kafka Streams.</li>
<li><a rel="noopener" target="_blank" href="https://blog.newrelic.com/2017/12/12/new-relic-kafkapocalypse/">Kafkapocalypse: Monitoring Kafka Without Losing Your Mind</a> : 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).</li>
</ul>
<h3 id="no-sql">(No)SQL</h3>
<ul>
<li><a rel="noopener" target="_blank" href="http://www.loxodata.com/post/partitionnement/">PostgreSQL et le partitionnement</a> : Point sur le fonctionnement du partitionnement d'une table Postgres et des avancées dans la version 10.</li>
</ul>
<h3 id="serverless">Serverless</h3>
<ul>
<li><a rel="noopener" target="_blank" href="https://blog.mobyproject.org/serverless-frameworks-and-containers-df835581893b">Serverless frameworks and containers</a> : Je connaissais <a rel="noopener" target="_blank" href="https://github.com/openfaas/faas">OpenFaas</a> et <a rel="noopener" target="_blank" href="https://github.com/apache?q=incubator-openwhisk">OpenWhisk</a> de nom mais pas <a rel="noopener" target="_blank" href="http://fnproject.io">Fn</a>. Il y a aussi <a rel="noopener" target="_blank" href="http://open.iron.io/">Iron</a> en open source.</li>
</ul>
<h3 id="tick">TICK</h3>
<ul>
<li><a rel="noopener" target="_blank" href="https://www.influxdata.com/blog/release-announcement-telegraf-1-5-0/">Release Announcement: Telegraf 1.5.0</a> : 15 nouveaux plugins font leur apparition dans cette nouvelle version de Telegraf.</li>
</ul>
<p>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.</p>