Amazon annonce Open Distro for Elasticsearch, une distribution à valeur ajoutée d'Elasticsearch
qui est 100% open source

Elasticsearch est un moteur de recherche et d'analyse distribué, orienté document. Il prend en charge les requêtes structurées et non structurées et n'exige pas qu'un schéma soit défini à l'avance. Elasticsearch peut être utilisé comme moteur de recherche. Il est souvent utilisé pour l'analyse de journaux à l'échelle Web, la surveillance d'applications en temps réel et l'analyse de flux de clics.

Lancé à l'origine comme un véritable projet open source, certains des ajouts les plus récents à Elasticsearch sont propriétaires.

Open Distro for Elasticsearch

Amazon a annoncé Open Distro for Elasticsearch, Il s'agit d'une distribution à valeur ajoutée d'Elasticsearch 100% open source (licence Apache 2.0) et prise en charge par AWS. Open Distro for Elasticsearch exploite le code open source pour Elasticsearch et Kibana. Il ne s’agit pas d’un fork, et Amazon continue à envoyer ses contributions et correctifs en amont pour faire avancer ces projets.

Outre Elasticsearch et Kibana, la première version inclut un ensemble de fonctionnalités avancées de sécurité, de surveillance des événements et d'alerte, d'analyse des performances et de requête SQL. En plus du référentiel de code source, Open Distro pour Elasticsearch et Kibana sont disponibles en tant que conteneurs RPM et Docker, avec des téléchargements distincts pour SQL JDBC et PerfTop CLI. Vous pouvez exécuter ce code sur votre ordinateur portable, dans votre centre de données ou dans le cloud.

Les contributions sont les bienvenues, tout comme les rapports de bogues et les demandes de fonctionnalités.

Que propose Open Distro for Elasticsearch ?

Jetons un coup d’œil aux fonctionnalités incluses dans Open Distro for Elasticsearch. Certaines d'entre elles sont actuellement disponibles dans Amazon Elasticsearch Service; d'autres seront disponibles dans les futures mises à jour.

Sécurité : ce plug-in prend en charge le chiffrement noeud à noeud, cinq types d'authentification (de base, Active Directory, LDAP, Kerberos et SAML), des contrôles d'accès basés sur les rôles à plusieurs niveaux (clusters, index, documents et champs), la journalisation d'audit et la recherche entre clusters de sorte que tout nœud d'un cluster puisse exécuter des demandes de recherche sur d'autres nœuds du cluster.

Nom : 1.png
Affichages : 9015
Taille : 56,0 Ko

Surveillance des événements et alertes : cette fonctionnalité vous avertit lorsque les données d'un ou de plusieurs index Elasticsearch remplissent certaines conditions. Vous pouvez, par exemple, notifier un canal Slack si une application enregistre plus de cinq erreurs HTTP 503 en une heure. La surveillance repose sur des travaux exécutés selon une planification définie, en comparant les index avec les conditions de déclenchement et en émettant des alertes lorsqu'une condition est déclenchée.

Nom : 2.png
Affichages : 7709
Taille : 49,0 Ko

Analyse approfondie des performances : il s'agit d'une API REST qui vous permet d'interroger une longue liste de métriques de performances pour votre cluster. Vous pouvez accéder aux métriques par programmation ou les visualiser à l’aide de perf top et d’autres outils perf.

Nom : 3.png
Affichages : 7749
Taille : 104,3 Ko

Support de SQL : cette fonctionnalité vous permet d'interroger votre cluster à l'aide d'instructions SQL. C'est une version améliorée du plugin elasticsearch-sql, et supporte un riche ensemble d'instructions.

Nom : 4.png
Affichages : 7704
Taille : 72,2 Ko

Pourquoi une distribution open source pour Elasticsearch ?

La genèse

Adrian Cockcroft d’Amazon explique que chez AWS, ils se concentrent sur la résolution de problèmes pour les clients. Au fil des années, l’utilisation par les clients et les dépendances à l’égard des technologies open source n’ont cessé d’augmenter. C’est la raison pour laquelle ils se sont engagés depuis longtemps en faveur de l’open source et que leur rythme de contributions aux projets open source, aussi bien les projets Amazon que d’autres projets, continue de s’accélérer.

Citation Envoyé par Adrian Cockcroft
Lorsque AWS lance un service basé sur un projet open source, nous nous engageons à long terme à aider nos clients. Nous apportons des correctifs de bogues, la sécurité, l'évolutivité, les performances et des fonctionnalités améliorées à la communauté. Par exemple, nous avons grandement contribué à Apache Lucene, qui alimente Amazon Elasticsearch Service. L’équipe Amazon EMR apporte sa contribution à l’écosystème Hadoop depuis de nombreuses années, et l’équipe Amazon Elastic Container Service for Kubernetes (EKS) contribue à Kubernetes. Nous investissons également dans des communautés open source, dans la formation des développeurs et des opérateurs, parrainons des événements et des conférences open source tels que ApacheCon et KubeCon, et avons récemment renforcé notre soutien à Apache Software Foundation. Le support marketing aide les communautés en augmentant le nombre d'utilisateurs finaux et de contributeurs et accélère l'adoption de projets open source.
Selon lui, plusieurs raisons expliquent leur participation active aux communautés open source. Tout d’abord, il est important de soutenir des communautés saines pour que les projets continuent de se développer et restent pertinents. Ensuite, la maintenance d'une version forkée interne d'un projet entraîne des efforts supplémentaires inutiles et peut retarder la publication des mises à jour des services lors de la fusion. Troisièmement, la publication de nouvelles idées sous forme d’open source rassemble les autres autour d'idées pour les aider à s'intégrer. Et enfin, la collaboration open source entre entreprises et institutions universitaires a permis certaines des avancées les plus importantes dans des domaines tels que l'intelligence artificielle.

Citation Envoyé par Adrian Cockcroft
Pour obtenir ces avantages, les clients doivent pouvoir faire confiance au fait que les projets open source restent ouverts. Les responsables de projets open source ont la responsabilité de maintenir la source de distribution ouverte à tous et de ne pas modifier les règles en cours de route. Lorsque d'importants projets Open Source dont AWS et nos clients dépendent commencent à restreindre l'accès, à modifier les termes du contrat de licence ou à associer logiciels libres et logiciels propriétaires, nous nous devons d’investir pour pérenniser le projet et la communauté Open Source. Par exemple, nos clients ont récemment fait part de leurs préoccupations concernant le fait qu'Oracle cesserait de prendre en charge la version de Java sur laquelle les clients s'appuient, ou modifiait les conditions de licence, et que les clients avaient de bonnes raisons d'être inquiets. Nous avons réagi en proposant le projet Corretto, une distribution gratuite, multi-plateforme et prête à la production d'OpenJDK d'Amazon. Nous avons investi pour assurer la cohérence et la confiance à long terme en nous engageant à ce qu'Amazon distribue gratuitement les mises à jour de sécurité à Corretto 8 jusqu'en juin 2023 au moins et à Corretto 11 au moins en août 2024. Corretto est une distribution gratuite la communauté peut désormais compter sur nous alors que, parallèlement, nous continuons à soutenir et à apporter des contributions directement à OpenJDK.
Malheureusement, il note qu’il arrive de voir d’autres exemples de mainteneurs d’open source brouiller les liens entre la communauté open source et le code propriétaire qu’ils créent pour monétiser l’open source : « Chez AWS, nous pensons que les responsables d'un projet open source ont la responsabilité de s'assurer que la distribution open source principale reste ouverte et dépourvue de code propriétaire, afin que la communauté puisse s'appuyer librement sur le projet et que la distribution ne donne plus d’avantages à une entreprise qu’à une autre ».

Nom : perftop_network.gif
Affichages : 7813
Taille : 1,64 Mo
Analyseur de performance, Open Distro for Elasticsearch

Il rappelle que c’est une partie de la promesse faite par le responsable lorsqu’il a gagné la confiance des développeurs pour l’adoption du logiciel. Lorsque le logiciel open source principal est complètement ouvert et accessible à tous, le responsable de la maintenance (et toute autre personne) peut et doit être en mesure de créer un logiciel propriétaire pour générer des revenus. Toutefois, il convient de le séparer de la distribution open source afin de ne pas confondre les utilisateurs en aval, de permettre à quiconque d'innover en amont du projet open source et de ne pas créer d'ambiguïté dans la licence du logiciel ni limiter l'accès. à des classes spécifiques d'utilisateurs.

Citation Envoyé par Adrian Cockcroft
Si nous examinons de près plusieurs projets Open Source couronnés de succès, ils ont tous bénéficié de l’accès à des logiciels open source sans entraves. En fait, on peut soutenir que ces projets n'existeraient pas aujourd'hui sans une capacité à assembler et à innover rapidement à partir de logiciels open source préexistants. Par exemple, un moteur important pour Elasticsearch est le projet Apache Lucene, un projet de la fondation Apache Software qui précède Elasticsearch de 11 ans. Elasticsearch exploite également de nombreux projets open source sous licence permissive, tels que le projet d'analyse syntaxique JSON de Jackson, Netty en tant que conteneur Web et bien d'autres. Le fait est que les logiciels open source permettent aux particuliers et aux entreprises d’innover plus rapidement, et que les consommateurs en aval en dépendent. Lorsque les responsables maintiennent la confusion sur la viabilité à long terme de l'open source, cela affecte tous les consommateurs en aval.
Mélange de code propriétaire et de code open source, une mauvaise idée

Et d’avancer qu’Elasticsearch a joué un rôle clé dans la démocratisation de l’analyse des données générées par machine. Il est devenu de plus en plus essentiel à la productivité quotidienne des développeurs, des analystes de la sécurité et des ingénieurs d’exploitation du monde entier. Sa licence permissive Apache 2.0 lui a permis d’être rapidement adoptée et d’utiliser le logiciel sans restriction.

Malheureusement, depuis juin 2018, Amazon a assisté à un important mélange de code propriétaire dans la base de code. Bien qu'un téléchargement sous licence Apache 2.0 soit toujours disponible, il existe un manque de clarté extrême quant à ce que les clients qui s'intéressent à l'open source obtiennent et sur quoi ils peuvent compter. Par exemple, ni les notes de publication ni la documentation n'indiquent clairement ce qui est open source et ce qui est propriétaire. Les développeurs d'entreprise peuvent appliquer par inadvertance un correctif ou une amélioration au code source propriétaire. Cela est difficile à suivre et à gouverner, peut conduire à une violation de licence et à une résiliation immédiate des droits (pour les logiciels propriétaires et libres).

Les commits de code individuels contiennent également de plus en plus de code à la fois open source et propriétaire, ce qui rend très difficile la tâche des développeurs qui souhaitent travailler uniquement en open source pour contribuer et participer. De plus, l’innovation n’est plus axée sur la distribution open source, mais sur la popularisation de la distribution propriétaire. Cela signifie que la majorité des nouveaux utilisateurs Elasticsearch utilisent désormais un logiciel propriétaire.

Citation Envoyé par Adrian Cockcroft
Nous avons discuté de nos préoccupations avec Elastic, les responsables de la maintenance d’Elasticsearch, notamment en proposant de consacrer des ressources importantes à la prise en charge d’une version non imbriquée d’Elasticsearch axée sur la communauté. Ils ont clairement indiqué qu'ils avaient l'intention de continuer sur leur lancée.

Entre-temps, les clients et les partenaires nous ont fait savoir que ces changements les concernaient également. Cela a créé une incertitude quant à la longévité du projet open source, car il se concentre moins sur l'innovation. Les clients veulent également avoir la liberté d’exécuter le logiciel n’importe où et d’autoassistance à tout moment s’ils en ont besoin. Nous avons donc décidé de nous associer à d’autres, tels que Groupe Expedia et Netflix, pour créer une nouvelle distribution open source d’Elasticsearch nommée «Open Distro for Elasticsearch». Open Distro for Elasticsearch est une distribution à valeur ajoutée 100% open source, qui concentrez-vous sur l'innovation avec des fonctionnalités à valeur ajoutée afin de garantir aux utilisateurs une option riche en fonctionnalités entièrement open source.
Nom : 5.png
Affichages : 7583
Taille : 23,2 Ko

Les objectifs

Citation Envoyé par Adrian Cockcroft
Les nouvelles fonctionnalités avancées d'Open Distro pour Elasticsearch sont toutes sous licence Apache 2.0. Avec la première version, notre objectif est de traiter de nombreuses fonctionnalités critiques manquantes dans Elasticsearch open source, telles que la sécurité, la surveillance et l'alerte d'événements et le support SQL. Nous pensons que ces fonctionnalités seront passionnantes et précieuses pour les développeurs et les encouragerons à télécharger, à collaborer et, finalement, à contribuer à la communauté. Nous avons travaillé sur un grand nombre de ces fonctionnalités pour les inclure dans Amazon Elasticsearch Service. Open Distro for Elasticsearch permet aux utilisateurs d’exécuter la même distribution riche en fonctionnalités où ils le souhaitent, telle que sur site, sur des ordinateurs portables ou dans le cloud.

Notre objectif pour Open Distro for Elasticsearch est de fournir aux développeurs la liberté de contribuer aux fonctionnalités Open Source à valeur ajoutée au-dessus du projet amont Elasticsearch sous licence Apache 2.0. Nous prévoyons d’apporter des correctifs à la base open source Elasticsearch en amont pour le bénéfice de tous. Open Distro for Elasticsearch invitera les développeurs et les contributeurs de l’ensemble du secteur à investir dans ces technologies importantes avec la certitude qu’elles resteront toujours open source et sous licence permissive. L'idée de l'open source est que plusieurs utilisateurs et entreprises peuvent le mettre au travail et que tout le monde peut contribuer à son amélioration. Open Distro for Elasticsearch s'inscrit dans notre engagement à faire les investissements nécessaires pour que l'open source soit réellement ouvert et pour permettre à quiconque de bénéficier de nos contributions.
Télécharger Open Distro for Elasticsearch

Sources : blog AWS

Et vous ?

Utilisez-vous Elasticsearch ?
Avez-vous déjà été confrontés à des problèmes de licence ?
Que pensez-vous d'Open Distro for Elasticsearch ? Allez-vous l'utiliser ?
Quelles sont vos premières impressions ?

Voir aussi :

AWS lance Amazon DocumentDB, un service de base de données compatible avec MongoDB, "une mauvaise imitation" selon le PDG de Mongo
Le gestionnaire de mots de passe Blur expose les data de près de 2,4 millions d'utilisateurs à cause d'une erreur de configuration d'instance AWS
Amazon propose AWS Global Accelerator pour aider ses clients à mieux gérer le trafic dans plusieurs régions, et booster les performances
Microsoft Azure serait supérieur à Google Cloud Platform et à AWS en termes de performances réseau, d'après un rapport de ThousandEyes