Kafka connects, l’autoroute des messages

Kafka est un système open-source de messagerie développé chez LinkedIn en 2009 et maintenu depuis 2012 par la fondation Apache. Kafka permet de gérer des flux de messages entre des producteurs de messages et les consommateurs sur des gros volumes de données avec une faible latence. Apparu avec la version 0.9 de Kafka, Kafka Connect est un framework permettant de lire et d'écrire des données depuis/vers une source de données externe (exemple : HDFS, FileSystem, JDBC ...).

L’alerting dans Grafana

En plus de sa fonction première qui est la création de dashboards, Grafana depuis sa version 4.0, ajoute une corde à son arc avec une fonctionnalité d'alerting . Pour rappel, Grafana est une solution Open Source de dashboards avec l'agencement de widget via une interface Web. Grafana est souvent résumé à une interface Web pour Graphite, (solution de stockage time serie), ce qui est assez rédhibitoire  étant donnée le nombre de sources de données qui peuvent être utilisées en entrées des dashboards : 25 au moment de l'écriture de cet article, certaines native à la solution (Graphite, Elasticsearch, InfluxDB, MySQL très prochainement, ...) et d'autres issues de la communauté open source et directement intégrables via la CLI de Grafana (Google Calendar, Open NMS, Cloudera Manager...).

Watcher : vos index Elasticsearch vont vous réveiller!

test

Elasticsearch devient de plus en plus répandu notamment dans le développement d'applications  souhaitant proposer des moteurs de recherches performants avec une intelligence.

Elasticsearch propose des plugins, des gratuits d'autres soumis à des licences, certains permettent d'étendre l'API de base, d'autres d'adminitrer les index Elasticsearch et d'autres peuvent être vus comme des fonctionnalités à part entière comme Watcher qui permet de faire de l'alerting sur les index.

Les revues de codes avec Crucible

crucible_blue

La revue de codes fait partie des bonnes pratiques du développement logiciel. Même si certains la voient comme du flicage ou estiment qu'elle prend trop de temps, la pratique de la revue de codes par un tiers permet d'avoir un œil extérieur, pour éventuellement déceler des incohérences sur un développement. La revue de codes doit être vu comme un gage supplémentaire de la qualité d'un livrable au même titre que la mise en place de tests.

Vos logs passent la seconde avec ELK (ElasticSearch – Logstash – Kibana)

Les logs, éléments indispensables à toute application quelle qu'elle soit pour suivre, analyser et comprendre ce qui se passe et pouvoir intervenir en conséquence. Oui mais quand on a un éco-système d'applications assez riche, avec plusieurs environnements et que l'on veut consulter les logs voici le scénario qui peut parfois se produire :

  • Je veux consulter les logs de telle application développée par tel service, ok elles sont où les logs? Je vais demander à l'équipe qui a développé.
  • Bon j'ai le nom de la machine et le chemin, zut je ne peux pas me connecter avec mon compte et je n'ai pas les accès. Ok je vais re-demander.
  • Ok j'ai accès aux logs, je les consulte, et je me retrouve avec ça :

Les agrégations avec Elasticsearch

Elasticsearch-Logo-Color-V.jpg

Tout d'abord quelques mots sur Elasticsearch pour la culture. Elasticsearch est basé sur la bibliothèque Apache Lucene. Il fournit tout le nécessaire à l'indexation de documents et à l'exécution des requêtes de recherches.
Elasticsearch facilite l'utilisation de Lucene en intégrant la bibliothèque dans une application Java modulaire, facilement configurable et capable de fonctionner en cluster.
Elasticsearch  utilise une base de données NoSQL, codée au format JSON, qu’il indexe et interroge via une API rest. Cela permet donc de créer facilement et rapidement un moteur de recherche intelligent que l'on pourrait qualifier "à la Google".