ElasticSearch : Retour sur Elastic on Tour 2015
Ce jeudi 5 novembre se tenait à Paris l’Elastic on Tour. Troisième édition de l’événement, celui-ci a pour but de promouvoir, dans plusieurs villes à travers le monde, les produits édités par la société Elastic et plus particulièrement le trio ElasticSearch – Logstash – Kibana, dont tout le monde a entendu parler de près ou de loin. La stack d’outils est généralement utilisée pour gérer les logs applicatifs, mais cette journée a largement démontré qu’il pouvait accompagner les professionnels de l’IT dans beaucoup d’autres domaines.
A noter que non seulement Elastic fournit un outil gratuit et ultra performant à ses utilisateurs, mais en plus l’entreprise a reversé l’intégralité des revenus de l’événement, soit plus de 15000€, à l’association Docteur Souris qui fournit un accès à la technologie aux enfants hospitalisés.
C’est Shay Banon, CTO & fondateur d’Elastic qui ouvre la journée pour nous dévoiler les débuts de son aventure dans le monde fascinant de l’édition logicielle. Tout commence il y a un peu plus de 10 ans pour lui. Sa femme décide de devenir chef cuisinière et prend naturellement des cours dans ce domaine. Comme cela serait arrivé à n’importe quel étudiant, les cours s’entassent et se mêlent rapidement au large nombre de recettes de cuisine que la compagne de Shay accumule. Très vite, le technicien commence à réfléchir à une solution permettant à sa femme de stocker tous ses documents et de les retrouver rapidement. Après avoir tenté d’utiliser le moteur d’indexation Lucène, développé par Apache, il repart ensuite de zéro en développant une nouvelle couche d’abstraction au dessus de celui-ci. Quelques anecdotes au sujet de l’arrivée de ses premiers collaborateurs et de la transformation de son projet open source en une entreprise plus tard, il nous annonce, non sans une certaine fierté, que son produit a été téléchargé 35 millions de fois à ce jour et que sa communauté compte plus de 35000 utilisateurs. Plutôt bluffant. L’homme est à l’aise, très souriant et n’est pas sans rappeler un certain Steve Jobs dans la gestuelle, habillé d’un simple jean, de baskets et d’un t-shirt noir. Le ton est donné, Elastic est une entreprise innovante et à la pointe de sa technologie, mais elle a surtout l’air d’une belle équipe de techniciens qui a cru en un produit au potentiel immense.
Les deux conférenciers suivants, Clint, Team Lead, et Adrien, Ingénieur, nous ont présenté les nouveautés des dernières moutures fraîchement sorties d’ElasticSearch et Kibana, respectivement les versions 2.0 et 4.2.
Voici ce qu’on a pu apprendre sur la nouvelle version d’ElasticSearch :
- Forte amélioration du temps de démarrage et de reconstruction des indices et shards.
- La confirmation d’indexation d’un document par ES se fait désormais lorsqu’il est écrit sur le disque, et non plus dès sa mise en cache comme dans les versions antérieures.
- Les « clusters states » sont maintenant mergés par diff et non plus envoyés entièrement, ce qui réduit le trafic réseau au sein du cluster.
- La charge RAM et l’espace de stockage nécessaires ont été considérablement réduits.
- Les configurations par défaut ont été améliorées : le cache est maintenant géré de façon automatique.
- On peut maintenant réaliser des « Pipeline aggregations » qui sont des agrégations d’agrégations. Celles-ci doivent permettre de réaliser des prédictions sur les jeux de données présents dans ES.
Au programme des futurs développements d’ElasticSearch :
- Une réécriture du moteur de géolocalisation.
- Un profileur pour les requêtes écrites en JSON.
- Une API de réindexation permettant de mettre à jour les mappings ou de réindexer des données entre à la volée.
- Un Task Manager doté d’une API dédiée.
- Un nouveau langage de scripts pour des requêtes encore plus personnalisées.
Ensuite, Boaz Leskes, également ingénieur et créateur de Sense, l’IDE dédié aux requêtes ES, nous a présenté les nouveautés de Kibana 4.2 :
- Un formateur d’URL permettant d’avoir des liens cliquables dans l’interface.
- L’affichage du poids (en KB) des documents.
- Une visualisation « nuage de points ».
- Un retour du Dark Theme.
- Une libraire d’extension à Kibana comme Marvel, Sense ou Watcher.
- Une page décrivant le statut du serveur.
- Un niveau de logs configurable.
- La possibilité, tant attendue, de pouvoir exporter les objets sauvés (visualisations, dashboards, …).
Pour ce qui est du futur de Kibana, on nous a promis :
- De nouvelles visualisations
- Un service de backend customisable via une API REST
Boaz a également présenté TimeLion, un outil très sexy et qui a l’air plutôt puissant permettant d’exploiter des timelines de façon assez profonde.
Les intervenants se sont ensuite succédé pour présenter les outils gravitant autour de la stack. On a ainsi pu découvrir :
- Beats, et plus particulièrement TopBeats, suite d’outils de monitoring serveur publiant leurs métriques dans ElasticSearch. Les prochaines versions de Beats devraient être capables de monitorer chaque application tournant sur une machine.
- Shield, couche sécurité de la stack que l’on connaissait déjà, qui est compatible avec LDAP, permet de gérer des ACL et encrypte les données échangées. Shield évoluera d’ailleurs prochainement et proposera une interface de configuration et la sécurisation de Kibana.
- Watcher, qui déclenche des alertes et les publie sur a peu près ce que l’on veut en fonction de règles sur les données. Pour l’avenir, Elastic prévoit de faciliter la création de règles, d’enrichir la librairie d’actions exécutable après la levée d’une alerte et d’intégrer une interface de création à Kibana.
- On nous a aussi présenté la nouvelle version de Marvel, le plugin servant à monitorer l’état de santé d’un cluster. Sa nouvelle version est basée sur Kibana 4 et est dorénavant utilisable gratuitement. Elastic prévoit de l’améliorer en lui permettant de monitorer Logstash et Kibana et en rendant possible la prédiction d’incidents.
La dernière de ces annonces concernait ES, puisqu’Elastic nous promet qu’il sera bientôt possible de copier des données d’un cluster à un autre. Une aubaine pour les équipes travaillant avec plusieurs clusters pouvant être disposés sur plusieurs localisations.
C’est le directeur commercial de la société qui a conclu cette matinée de conférences en présentant Found, la version As A Service d’ElasticSearch. La plateforme est basée sur AWS et propose à l’utilisateur de déployer un cluster paramétrable à souhait pour un prix de base de 45$ par mois. Ce prix inclut une instance de Kibana et permet à l’utilisateur de paramétrer la RAM et le stockage disponible pour son cluster. On notera qu’il existe une offre Premium, incluant les fonctionnalités de l’offre standard à laquelle viennent s’ajouter le support ainsi que Marvel, Watcher et Shield.
Après la pause, un autre ingénieur d’Elastic nous a présenté le système d’intégration d’ES avec Hadoop puis nous avons pu écouter les retours d’expérience de collaborateurs de grandes entreprises ayant fait le choix de travailler avec ElasticSearch. Ainsi, se sont succédés des membres d’Orange, d’ERDF et de Natixis, qui ont tous mis les produits d’Elastic au cœur de leurs projets. Gestionnaires de logs pour les uns, base de données clients ou encore support de stockage des URLs d’un moteur de recherche pour les autres, ces acteurs du monde de l’IT ont démontré en trois interventions toute la qualité de service et la robustesse qu’Elastic était capable de fournir à ses utilisateurs.
Fort de ces informations sur cette technologie montante, et encore plus persuadé de la pertinence de son utilisation en entreprise qu’auparavant, j’ai, dès le lendemain, pu mettre jour l’installation de la stack utilisée sur le projet sur lequel je travaille. Je suis actuellement en pleine expérimentation mais peu d’ores et déjà vous dire qu’ES 2.0 et Kibana 4.2 vont grandement faciliter notre tâche et nous réservent encore de belles surprises.