Introduction : L'Histoire et l'Intérêt d'OpenSearch
Avant de plonger dans la pratique, il est utile de comprendre d'où vient OpenSearch et pourquoi c'est une technologie si puissante et demandée.
À l'origine : ElasticSearch
Tout a commencé avec ElasticSearch, un moteur de recherche et d'analyse distribué, open-source, construit sur la bibliothèque Apache Lucene. Lancé en 2010, il a rapidement gagné en popularité pour sa capacité à ingérer, stocker, rechercher et analyser d'énormes volumes de données en temps quasi-réel. Ses cas d'usage principaux incluent :
- La recherche plein texte (pour les sites web, les catalogues de produits...)
- L'analyse de logs (centraliser les journaux d'applications pour le débogage et la surveillance)
- L'observabilité et la surveillance (métriques de performance, APM)
- L'analyse de sécurité (SIEM)
La Naissance d'OpenSearch
En 2021, la société Elastic a modifié la licence de ses produits, passant de la licence open-source Apache 2.0 à une double licence plus restrictive. Cette décision a limité l'utilisation et la modification libres du code, notamment pour les fournisseurs de cloud.
En réponse, Amazon Web Services (AWS), en collaboration avec d'autres entreprises comme Logz.io, Red Hat et SAP, a décidé de créer un fork à partir de la dernière version entièrement open-source d'Elasticsearch et de son interface visuelle, Kibana. Ce projet, communautaire et gouverné par la fondation Apache 2.0, a été nommé OpenSearch.
OpenSearch est donc la continuation 100% open-source d'Elasticsearch. Il conserve toutes les fonctionnalités, la robustesse et la performance de son prédécesseur, tout en garantissant que le projet restera toujours libre et ouvert.
Pourquoi apprendre OpenSearch aujourd'hui ?
- Puissance et Scalabilité : Il est conçu pour gérer des pétaoctets de données sur des centaines de serveurs.
- Vitesse : Les recherches, même complexes, retournent des résultats en quelques millisecondes.
- Flexibilité : Il peut stocker et interroger des données structurées et non structurées.
- Écosystème Riche : Avec OpenSearch Dashboards (le fork de Kibana), vous disposez d'un outil puissant pour créer des visualisations et des tableaux de bord interactifs.
- Compétence Recherchée : La maîtrise d'OpenSearch/Elasticsearch est une compétence très appréciée dans les domaines du DevOps, du Big Data, de la Data Science et du développement backend.
Votre Mission
Dans cet atelier, votre mission est de devenir le chef d'orchestre d'une base de données de recettes de cuisine. Vous allez apprendre à :
- Créer un "index" (votre base de données) avec une structure bien définie (un "mapping").
- Ajouter des recettes (indexer des "documents").
- Rechercher des recettes en utilisant différents types de requêtes.
- Agréger des données pour obtenir des informations (ex: combien de desserts ?).
- Mettre à jour et supprimer des recettes.
Nous utiliserons l'API REST d'OpenSearch, que vous pouvez interroger via l'interface Devtools de OpenSearch Dashboards ou un outil comme curl.
Une fois le fichier docker-compose.yml (en bas de ce MECA) créé et lancé (docker-compose up -d), patientez 1 à 2 minutes, puis ouvrez votre navigateur à l'adresse http://localhost:5601. Vous devriez voir l'interface d'OpenSearch Dashboards. Allez dans le menu (icône "hamburger" en haut à gauche) -> Management -> Dev Tools. C'est ici que nous allons taper nos commandes.
Changelog
| Date | Changement | Motivation | Chapitres impactés |
|---|---|---|---|
| - | Version initiale | Formation ElasticSearch/OpenSearch | Tous |