dimanche 30 août 2020

Comment s'y retrouver dans le code de Grafana

Sans parler de devenir un développeur de la communauté Open Sources Grafana, non je souhaite simplement faire une plongée dans le code source pour avoir une meilleure vue cette plateforme et de son développement.

Communauté Open Source Grafana sur GitHub


Moi la première chose que j'ai découverte avec stupéfaction c'est que Grafana est écris en langage Go !  Je l'avoue je suis en admiration devant cette communauté. Car je suis un utilisateur de AdSense et de tous ces graphiques parce que je suis un développeur curieux j'ai toujours poursuivis un projet de "dahboard" afficher de superbes graphiques à partir des données.

Matlab est sans doute le premier outil avec lequel j'ai joué pour afficher des graphiques. Mais avec Grafana on atteint un sommet mais alors qu'elle est l'organisation, la structure des codes source de cette application.

Sinon, il y a bien sûr Excel qu'il ne faut pas dénigrer car il est fort efficace pour tout tas de graphiques c'est une première approche un peu simpliste mais fun pour découvrir ce métier que j'appelle data-analyste.

En même temps c'est bine joli l'open source et Grafana en est un exemple parfait les sources sont publiques certes ! Mais alors pour installer une plateforme ... accrochez vous ! Il faut clairement être spécialiste pour installer un container Docker dans Windows 10 oui c'est l'OS que j'affectionne, bref, ils vous propose moyennant finances de vous instancier une plateforme dans leur cloud.

Si vous installez la plateforme de base, certes vous pourrez faire des choses mais les plugins seront payants. Voilà le tour est joué vous êtes ficelé. 

Grafana Create an account

Vous voyez que vous ne pourrez faire un essai gratuit mais que vous êtes obligé d'entrer vos informations de facturation car l'objectif est de vous facturer l'utilisation de cet outil fantastique.

Mais qui a dit que l'opensource c'est gratuit, certainement pas moi. Et quand je vois le travaille produit par la communauté, je me dis qu'ils font bien de procéder ainsi.

Les différents types de codes

Grâce à Github, je vois :

Grafana - TS 57 % - JS 5,4 % - Go 26 % 

La constatation que Grafana est en Go !

En langage Go

C'est le répertoire pkg

Grafana - Langage Go

Il y a du monde et de très bonnes explications dans le fichier README.md. Il s'agit du Backend de Grafana. 

Et bien oui c'est l'avantage de l'opensource on sait comment c'est fait. Il faut que la documentation soit suffisante pour qu'un développeur par lui même puisse étudier le code et venir renforce l'équipe. Donc la documentation est de qualité.

En langage TypeScript

C'est la publique app autrement dit l'application front en Angular.

Grafana - Langage TypeScript applcation Angular

Ce sont les deux principaux langages des fonctionnalités de Grafana. A partir de là il y a tout ce qu'il faut comme documentation d'installation pour installer une machine de développement et rejoindre la communauté. Ils sont déjà plus de 1200 !

Ils font même de la politique, oui il y a un document indiquant comment doit se passer l'intégration d'une nouvelle ressource dans la team et les votes associés dans un document de GOVERNANCE.md (Gouvernance).

Set up your development environment

Avec un répertoire devenv : une aide à l'installation de votre environnement de développement qui commence par l'installation de Docker

Des scripts d'installation.

Grafana en action

Voici les métrics autour de Grafana, Wikimedia metrics :

Grafana Wikimedia Metrics

Voilà, Grafana est un très bon exemple à suivre en matière de communauté open source, ils sont en plein succès alors il faut les observer puisque les publications sont nombreuses et tenter de les suivre mais là aussi ils sont nombreux.

Aucun commentaire:

Publier un commentaire