<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
  <channel>
    <title><![CDATA[Elastic Cloud Serverless - Elasticsearch Labs]]></title>
    <description><![CDATA[Articles and tutorials from the Search team at Elastic]]></description>
    <copyright><![CDATA[© 2026. Elasticsearch B.V. All Rights Reserved]]></copyright>
    <image>
      <title><![CDATA[Elastic Cloud Serverless - Elasticsearch Labs]]></title>
      <url>https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt1121c0bf0e8a6e65/6a88da6340a1841030ef456f/search-labs-thumbnail.png</url>
      <link>https://www.elastic.co/fr/search-labs/blog/category/elastic-cloud-serverless</link>
    </image>
    <link>https://www.elastic.co/fr/search-labs/blog/category/elastic-cloud-serverless</link>
    <atom:link href="https://www.elastic.co/fr/search-labs/rss/category/elastic-cloud-serverless.xml" rel="self" type="application/rss+xml"/>
    <language><![CDATA[fr]]></language>
    <lastBuildDate>Mon, 28 Sep 2026 18:59:04 GMT</lastBuildDate>
  <item>
    <title><![CDATA[Base vectorielle Elasticsearch : transférez en quelques minutes, scalez à un coût abordable jusqu'à des centaines de milliards]]></title>
    <description><![CDATA[Les aspects complexes de la recherche hybride, déjà traités, avec des paramètres par défaut optimisés, des modèles Jina AI natifs et tiers, et une inférence GPU gérée, le tout prêt à l'emploi. Créez des applications d'IA rapides et scalables, pas de l'infrastructure.]]></description>
    <content:encoded><![CDATA[<p>Elasticsearch est l’une des plateformes les plus largement déployées au monde pour les charges de travail vectorielles, soutenant la recherche sémantique, la génération augmentée de récupération (RAG) et les recommandations pour des entreprises telles que GitHub, Docusign, Seismic et bien d’autres. Aujourd’hui, nous annonçons Elasticsearch Vector Database, une nouvelle offre sans serveur optimisée pour les applications basées sur des vecteurs. Vous apportez vos documents et vos requêtes, et nous nous chargeons des plongements, du réglage de l’index et de l’infrastructure. De plus, nous la maintenons abordable et scalable. </p><p>Pour les nouveaux utilisateurs, c’est le moyen le plus rapide de mettre en place une recherche vectorielle de haute qualité. Si vous utilisez déjà Elasticsearch, la nouvelle offre permet de bénéficier de la recherche vectorielle sur la plateforme où se trouvent déjà vos données, sans aucun nouveau système à adopter. La base vectorielle Elasticsearch prend en charge divers scénarios, de l’ancrage d’un grand modèle de langage (LLM) à l’ajout de fonctionnalités de récupération et de mémoire pour un agent IA, en passant par le traitement de centaines de milliards de vecteurs. <a href="https://cloud.elastic.co/registration?onboarding_token=vector">Lancez un nouveau projet</a> et commencez en quelques minutes.</p><h2>Un seul moteur pour tous les cas d'utilisation vectoriels</h2><p>La base vectorielle Elasticsearch est conçue pour tous ceux qui créent des applications à l'aide de vecteurs :</p><ul><li><p><strong>RAG :</strong> récupérez le contexte adapté pour votre LLM grâce à la récupération vectorielle dense et clairsemée, ou optez pour la recherche hybride combinant à la fois la récupération vectorielle et lexicale. La qualité de votre génération s’améliore avec la qualité de votre récupération.</p></li><li><p><strong>Agents IA :</strong> offrez aux agents une récupération rapide et filtrée des documents et de la mémoire conversationnelle, avec les faibles latences qu’exigent les boucles d’agents à étapes multiples.</p></li><li><p><strong>Recherche sémantique :</strong> faites correspondre selon le sens, et non par mots-clés, avec un seul type de champ et sans aucun code de pipeline.</p></li><li><p><strong>Recommandations et similarité :</strong> trouvez les plus proches voisins parmi des produits, des images ou tout autre contenu dont vous disposez, à grande échelle.</p></li></ul><h2>Tout ce dont votre charge de travail vectorielle a besoin, optimisé et prêt à l'emploi</h2><p>Créer une application vectorielle implique de relier plusieurs éléments distincts : configurer et héberger des modèles d’embedding, indexer vos documents via ces modèles, stocker efficacement les vecteurs, appliquer le modèle d’embedding à chaque requête, effectuer des correspondances avec le stockage de vecteurs, et enfin, récupérer les documents correspondant aux résultats. La base vectorielle Elasticsearch gère tout cela pour vous, sans configuration ni paramétrage supplémentaire.</p><h3>Indexation vectorielle avec le mode d’indexation vectordb_document</h3><p>Le mode d’indexation <a href="https://www.elastic.co/docs/reference/elasticsearch/mapping-reference/dense-vector#dense-vector-vectordb-document-mode">vectordb_document</a>, une nouvelle configuration d’index spécialement conçue pour les charges de travail axées sur les vecteurs, est activé par défaut, vous bénéficiez ainsi des paramètres que choisiraient des experts. Voici ce que cela active :</p><ul><li><p><strong>bfloat16 par défaut :</strong> les vecteurs sont stockés à la moitié de la taille de float32 avec un impact négligeable sur le rappel, réduisant votre empreinte disque d’environ la moitié avant même que la quantification n’entre en jeu.</p></li><li><p><strong>Vecteurs sources exclus :</strong> dans Elasticsearch, vos plongements figurent déjà dans les structures d’index utilisées pour la recherche ; conserver une deuxième copie brute dans _source ne fait qu’augmenter le stockage et ralentir la récupération des résultats. Nous excluons le doublon afin que les réponses soient renvoyées plus rapidement et que vous stockiez moins.</p></li><li><p><strong>Les bons fichiers préchargés dans le cache :</strong> les structures de données auxquelles les requêtes vectorielles accèdent en premier sont préchauffées en mémoire à l’avance, de sorte que votre première (et votre millième) requête soit ultra-rapide.</p></li><li><p><strong>Fusion parallèle :</strong> la fusion regroupe les segments dans des structures vectorielles mieux organisées, ce qui améliore à la fois le rappel et la latence, et l’exécution de ces fusions en multithread vous permet d’y parvenir plus rapidement.</p></li></ul><h3>Stockage vectoriel, compression et optimisation automatique</h3><ul><li><p>Vos vecteurs sont compressés automatiquement.<a href="https://www.elastic.co/fr/search-labs/blog/better-binary-quantization-lucene-elasticsearch"> La quantification binaire optimisée (BBQ)</a> réduit l’empreinte mémoire des vecteurs jusqu’à 32 fois tout en préservant le rappel, et DiskBBQ réduit encore davantage les besoins en mémoire pour les charges de travail à grande échelle.<a href="https://www.elastic.co/fr/search-labs/blog/vector-quantization-auto-calibration-diskbbq"> </a></p></li><li><p>Optez pour<a href="https://www.elastic.co/fr/search-labs/blog/vector-quantization-auto-calibration-diskbbq"> l’auto-étalonnage</a>, qui ajuste la quantification de chaque segment en fonction de vos données et la réajuste à chaque fusion à mesure que les données dérivent. Lors des tests sur 18 ensembles de données, le nombre de requêtes par seconde (QPS) s’est amélioré en moyenne de 16,7 %, avec des gains de rappel pour la plupart d’entre eux.</p></li></ul><h3>Embeddings sur une inférence GPU gérée</h3><ul><li><p>Générez des embeddings grâce aux <a href="https://www.elastic.co/fr/jina-search-models">modèles natifs d’embedding et de reclassement de Jina AI</a>, ou importez des modèles tiers, le tout sur des GPU gérés via <a href="https://www.elastic.co/docs/explore-analyze/elastic-inference/eis">Elastic Inference Service (EIS)</a>, sans aucun serveur de modèles à gérer. Ou optez pour l’auto-hébergement, si vous préférez votre propre infrastructure.</p></li><li><p>Le type de champ <a href="https://www.elastic.co/docs/reference/elasticsearch/mapping-reference/semantic-text"><strong>semantic_text</strong></a> gère automatiquement la segmentation et l’embedding, ainsi que l’interrogation, ce qui représente la voie la plus simple vers la recherche sémantique sur le marché. </p></li></ul><h3>Recherche hybride et recherche vectorielle filtrée</h3><ul><li><p>La <a href="https://www.elastic.co/fr/elasticsearch/hybrid-search">recherche hybride</a> est intégrée, combinant la récupération en texte intégral et vectorielle dans une seule requête. Combinez les résultats grâce à la fusion des rangs réciproques (RRF) ou à tout autre mécanisme de combinaison de votre choix. La recherche vectorielle est généralement la partie de la recherche hybride la plus difficile à bien configurer. Avec la base vectorielle Elasticsearch, vous maîtrisez la situation et l’ensemble de votre stack hybride s’améliore. </p></li><li><p>Avec la <a href="https://www.elastic.co/fr/search-labs/blog/filtered-hnsw-knn-search">recherche vectorielle filtrée</a>, appliquez des filtres de métadonnées dans le cadre même de la récupération vectorielle, et non après coup, ce qui dégrade le rappel.</p></li></ul><h3>Entreprise dès le premier jour</h3><p>Vous bénéficiez également du contrôle d’accès basé sur les rôles (RBAC), du logging d’audit, et des certifications de conformité qui font généralement défaut aux bases vectorielles pure-play.</p><h2>Abordable à grande échelle et prévisible</h2><p>La base vectorielle Elasticsearch est conçue pour rester abordable à mesure de votre croissance : les compressions BBQ et DiskBBQ, qui maintiennent un stockage linéaire et une faible utilisation de la mémoire, permettent un scaling vers des centaines de milliards de vecteurs sans faire exploser votre facture. Et ce que vous payez est basé sur des chiffres que vous connaissez déjà : la quantité de données que vous stockez, ce que vous indexez, ainsi que la capacité de recherche dont vous avez besoin. Estimez votre nombre de documents et les dimensions de vos vecteurs, ainsi que votre charge de requêtes, et vous pourrez déterminer ce que vous paierez avant de créer le projet. Vous pouvez également comprendre votre facture ligne par ligne à la fin du mois. Il n’y a pas d’unités de calcul opaques, ni de frais imprévus pour les opérations en arrière-plan.</p><h2>Comment démarrer avec la base vectorielle Elasticsearch</h2><h3>Créez un projet de Base vectorielle sans serveur</h3><p>Créez un nouveau <a href="https://cloud.elastic.co/registration?onboarding_token=vector">projet de base vectorielle sans serveur dans Elastic Cloud</a>. Dirigez vos données vers le point de terminaison, et vous êtes prêt à indexer.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt556cbdfba551f248/6aa10b4332b53038406d321a/image1.png" alt="Elastic Cloud Serverless project types: Elasticsearch, Vector Database, Observability and Security" /><h3>Créer un index à l’aide de semantic_text</h3><p>Le mode d’index vectoriel gère la configuration vectorielle. L’utilisation de semantic_text signifie que la configuration des embeddings et du chunking est gérée pour vous, tout comme la configuration de l’index, sur une inférence GPU gérée, sans aucun pipeline d’embedding à créer.</p>PUT my-vectors
{
"mappings": {
"properties": {
"description": { "type": "semantic_text" }
    }
  }
}<h3>Ingérer des documents</h3><p>Indexez du texte, et les embeddings sont générés pour vous.</p>POST /my-vectors/_doc
{
  "id": "park_rocky-mountain",
  "title": "Rocky Mountain",
  "description": "Bisected north to south by the Continental Divide, this portion of the Rockies has ecosystems varying from over 150 riparian lakes to montane and subalpine forests to treeless alpine tundra."
}<h3>Exécuter une requête de recherche sémantique</h3><p>Interrogez le même champ sémantique que vous venez de créer :</p>GET /my-vectors/_search
{
  "query": {
    "semantic": {
      "field": "description",
      "query": "a mountain range in the middle of north america"
    }
  }
}<p>Et vous obtenez des résultats :</p>{
  "took": 80,
  "hits": {
    "max_score": 0.7792325,
    "hits": [
      {
        "_index": "my-vectors",
        "_score": 0.7792325,
        "_source": {
          "id": "park_rocky-mountain",
          "title": "Rocky Mountain",
          "description": "Bisected north to south by the Continental Divide, ..."
        }
      }
    ]
  }
}<p>La recherche sémantique n’est qu’un début. Exécutez des requêtes entièrement textuelles ou combinez les deux dans des requêtes hybrides. Vous pouvez même créer vos propres requêtes vectorielles pour bénéficier d’un contrôle total. Suivez le <a href="https://www.elastic.co/docs/solutions/vector-database/vector-full-text-search">guide de démarrage rapide de la recherche sémantique</a> dans la documentation pour obtenir toutes les instructions.</p><h2>Quelle est la suite pour la recherche vectorielle dans Elasticsearch</h2><p>Nous travaillons déjà sur les prochaines améliorations :</p><ul><li><p><strong>Meilleure prise en charge de la mutualisation :</strong> si vos données doivent rester séparées par entité, nous vous donnons les moyens de le faire plus rapidement et avec moins de code.</p></li><li><p><strong>Optimisation automatique des index :</strong> d’un « tout nouvel index » à « entièrement optimisé », avec le moins d’ajustements possible.</p></li><li><p><strong>Améliorations continues de l’infrastructure :</strong> ajustement continu des paramètres et de l’infrastructure de la base vectorielle afin que vous bénéficiiez toujours du meilleur débit et des réponses les plus rapides.</p></li></ul><h2>Essayez la base vectorielle Elasticsearch sur Elastic Cloud Serverless</h2><p>Passez d’un projet vide à une requête vectorielle hybride et filtrée en quelques minutes, avec des réglages par défaut prêts pour la production qui s’ajustent pour vous. Créez des applications d'IA rapides et scalables, pas de l'infrastructure.</p><p>Commencez sur <a href="https://cloud.elastic.co/registration?onboarding_token=vector">Elastic Cloud Serverless</a>, ou plongez dans la <a href="https://www.elastic.co/docs/solutions/vector-database">documentation complète </a>et la <a href="https://www.elastic.co/docs/api/doc/elastic-cloud-serverless/group/endpoint-vectordb-projects">référence de l’API.</a></p>]]></content:encoded>
    <link>https://www.elastic.co/search-labs/blog/vector-database-rag-serverless</link>
    <guid isPermaLink="true">https://www.elastic.co/search-labs/blog/vector-database-rag-serverless</guid>
    <category><![CDATA[Base vectorielle]]></category>
    <category><![CDATA[Elastic Cloud Serverless]]></category>
    <category><![CDATA[Recherche hybride]]></category>
    <dc:creator><![CDATA[Dustin Coates]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt4def84aae6aff861/6aa10ab1ee57e53d9b05253c/cover.png" length="0" type="image/png"/>
    <pubDate>Wed, 09 Sep 2026 00:00:00 GMT</pubDate>
  </item>
  <item>
    <title><![CDATA[Une seule requête, plusieurs projets Elasticsearch Serverless : présentation de la recherche inter-projets]]></title>
    <description><![CDATA[La recherche inter-projets dans Elastic Cloud Serverless vous permet d’interroger des données à travers des projets isolés dans une seule requête Elasticsearch ou ES|QL : pas de duplication, pas de peering réseau, et aucun coût de sortie lié à la copie des logs.]]></description>
    <content:encoded><![CDATA[<p><a href="https://www.elastic.co/docs/explore-analyze/cross-project-search">La recherche inter-projets (CPS)</a> est désormais disponible dans Elastic Cloud Serverless. Avec une seule requête comme <code>FROM logs*</code>, vous pouvez rechercher des données sur plusieurs projets isolés : pas de peering réseau, pas de gestion de certificats, pas de duplication de données. Les projets restent dans leurs pays et clouds respectifs, seuls les résultats vous sont transmis. Pour les équipes confrontées à des exigences de résidence des données, à l’isolation des locataires ou à des coûts de sortie élevés liés à la copie des logs, CPS signifie que vos données peuvent rester exactement là où elles doivent être et être interrogées comme une seule entité.</p><p>Elastic Cloud Serverless vous permet déjà de gérer les mises à niveau de l’infrastructure et des versions. CPS va encore plus loin. Nous avons remplacé le peering réseau complexe et la gestion manuelle des certificats par un modèle simple de liaison. Désormais, vous pouvez considérer vos projets Elastic Cloud Serverless comme de simples espaces de noms pour vos données. Que vous soyez confronté à des lois strictes sur la résidence des données, à l’isolation des données des locataires ou que vous cherchiez simplement à éviter les frais de sortie réseau exorbitants liés à la duplication des logs, CPS vous permet de rechercher vos données exactement là où elles se trouvent en une seule requête.</p><p>Dans cet article, nous verrons comment fonctionne le CPS, comment contrôler les recherches à l’aide de balises de projet et en quoi ce nouveau modèle diffère de la <a href="https://www.elastic.co/docs/solutions/search/cross-cluster-search">recherche cross-cluster (CCS)</a> traditionnelle.</p><h2>Comment relier des projets pour une recherche inter-projets</h2><p>Pour commencer à utiliser la recherche inter-projets, reliez les projets dans la console Elastic Cloud ou dans l’API. La liaison est simple et unidirectionnelle : choisissez un projet d’origine, puis connectez les projets dans laquelle la recherche doit s’effectuer. Ces liens peuvent porter sur plusieurs pays, fournisseurs cloud et types de projets, afin que vos données restent là où elles doivent être, sans pour autant renoncer à une expérience de recherche unifiée.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt93c05224f74204d5/6a17ea0ae8fbce58793a1989/e3edbf5f9edc9ffde2e9b7f7dd61efad2a5650e6-1999x1004.png" alt="Console Elastic Cloud montrant l’option de recherche inter-projets dans la barre latérale du projet Serverless, avec un bouton Lier les projets mis en surbrillance sur la page d’aperçu du projet" /><p>Une fois le lien créé, il prend généralement effet en une minute environ. Si vous avez déjà Kibana ouvert, actualisez pour voir les nouvelles fonctionnalités de recherche inter-projets.</p><h2>Comment la recherche inter-projets interroge tous les projets liés par défaut</h2><p>Une fois les projets liés, la recherche inter-projets transforme des projets séparés en une seule surface logique de recherche. Si vos logs concernent plusieurs projets, une requête comme <code>FROM logs*</code> permet de rechercher le projet d’origine et tout projet lié contenant des données correspondantes. Vous n’avez pas besoin de nommer chaque cible distante à l’avance.</p><p>C’est une amélioration majeure par rapport à la recherche inter-clusters. Dans CCS, pour accéder à des données locales et distantes, il faut souvent écrire ce type de code : <code>FROM logs*,*:logs*</code>. Pour les utilisateurs, cela signifie une moindre complexité des requêtes. Pour les équipes, cela nous rapproche d’un véritable tableau de bord unique à travers des données distribuées.</p><p>Pour plus d’informations concernant ce sujet, consultez la documentation du <a href="https://www.elastic.co/docs/explore-analyze/cross-project-search/cross-project-search-search#cps-init-search-model">modèle de recherche CPS</a> .</p><p>Si vous souhaitez obtenir des détails techniques sur la façon dont nous avons construit ce système, consultez <a href="https://www.elastic.co/search-labs/blog/cross-project-search-elasticsearch-serverless">Comment la recherche inter-projets (CPS) fonctionne dans Elasticsearch Serverless</a>.</p><h2>Contrôle des recherches via le routage de projet</h2><p>La recherche par défaut dans tous les projets liés est pratique et utile pour de nombreux workflows, mais toutes les recherches ne doivent pas nécessairement s’étendre à l’ensemble. La recherche inter-projets introduit le <a href="https://www.elastic.co/docs/explore-analyze/cross-project-search/cross-project-search-project-routing"><strong>routage de projets</strong></a>, qui permet de limiter une requête à un sous-ensemble spécifique de projets.</p><p>Il fonctionne grâce aux <a href="https://www.elastic.co/docs/deploy-manage/deploy/elastic-cloud/project-settings#project-tags">balises de projet</a> définies dans Elastic Cloud. Chaque projet possède des attributs intégrés tels que son alias, son fournisseur cloud et sa région. Vous pouvez également ajouter vos propres tags pour refléter la façon dont votre organisation perçoit son domaine, comme <code>environment:prod, environment:test</code>, une unité commerciale ou un nom client. Elasticsearch peut alors utiliser ces métadonnées pour décider quels projets liés doivent participer à une rechercher.</p><p>Tous les <a href="https://www.elastic.co/docs/explore-analyze/cross-project-search#cps-supported-apis">endpoints Elasticsearch</a> qui prennent en charge la recherche inter-projets acceptent un paramètre <code>project_routing</code>. Dans l’aperçu technique, le routage est limité à l’utilisation d’alias de projet. Par exemple, si vous attribuez à project_routing la valeur <code>_alias:my-linked-project</code>, la requête est envoyée uniquement au projet lié, tandis que <code>_alias:_origin</code> maintient la requête sur le projet d’origine. Au fil du temps, ce modèle ouvre la porte à un routage beaucoup plus riche, où la portée de la recherche peut suivre la structure logique de votre organisation au lieu de la disposition physique de votre infrastructure.</p><p>Consultez les <a href="https://www.elastic.co/docs/explore-analyze/cross-project-search#project-routing-examples">documents de routage du projet</a> pour obtenir des exemples et plus de détails sur leur fonctionnement.</p><h2>Routage par défaut de projet au niveau spatial Kibana</h2><p>Par exemple, lorsque vous avez besoin de plus de précision pour le routage de recherche, la recherche dans tous les projets liés peut déclencher une multitude de faux positifs dans vos règles Kibana ou des résultats déroutants dans vos tableaux de bord existants. Pour corriger cela, vous pouvez définir une <a href="https://www.elastic.co/docs/explore-analyze/cross-project-search/cross-project-search-manage-scope">portée de projet par défaut au niveau spatial</a> dans Kibana. Il s’agit d’un préréglage sûr pour cet espace spécifique pour que tous les tableaux de bord, les sessions Discover et les règles d’alerting le respectent automatiquement. Les analystes peuvent toujours modifier manuellement la portée pendant une investigation s’ils ont besoin d’une vue plus large.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt7c970e153a5be138/6a17ea0c7f6f15900ec09b75/c34fe7e7b290981a0d1c2d61b22a42340a015049-1999x946.png" alt="Page des paramètres de l’espace Kibana montrant le panneau de portée par défaut de la recherche inter-projets, avec « Tous les projets » sélectionné et my-origin-project-a22105 sur GCP us-central1 listé comme projet actif" /><p>Cela est important pour les équipes partageant un projet central, telles que les MSP, les MSSP et les centres d’excellence : vous pouvez attribuer à chaque équipe son propre espace Kibana et le limiter à l’interrogation de leurs projets clients spécifiques, garantissant ainsi des expériences adaptées à chaque locataire. Les analystes peuvent toujours modifier manuellement la portée pendant une investigation s’ils ont besoin d’une vue plus large.</p><p>Vous pouvez configurer cet espace par défaut avant ou après avoir lié vos projets dans l’interface utilisateur du cloud. Mais comme CPS active immédiatement le comportement « rechercher tout » dès qu’un lien est créé, il est recommandé de définir d’abord les paramètres par défaut Kibana pour garantir que vos règles de détection existantes ne se retrouvent pas soudainement sur un immense ensemble de données globales et ne submergent pas votre équipe.</p><h2>Utilisation des balises dans les recherches</h2><p>En plus d’utiliser des balises pour le routage des projets, vous pouvez également utiliser des balises dans vos requêtes ES|QL et _search. Cela peut être utile pour identifier la provenance de chaque enregistrement ou ligne d’un ensemble de résultats, ou pour trier, filtrer ou agréger par ces balises.</p><p>Par exemple, si vous souhaitez savoir de quel projet provient chaque ligne d’une réponse ES|QL, vous pouvez ajouter la balise <code>_project._alias</code> à la requête ES|QL :</p><p>et cela vous permet d’utiliser _project._alias dans d’autres parties de la requête, y compris les clauses KEEP, afin de le voir dans le résultat final :</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt25542e1644a60e17/6a17ea0da29299830ed02cc5/e8969965c8cff25d916a3620d047975f4a28185d-1612x524.png" alt="Kibana Discover affichant des résultats de recherche avec la colonne _project._alias identifiant le projet Elastic Serverless d’où provient chaque entrée de logs" /><p>Pour plus d’exemples d’utilisation des balises dans les requêtes, consultez <a href="https://www.elastic.co/docs/explore-analyze/cross-project-search/cross-project-search-tags#tag-queries">ce document</a> qui décrit comment les utiliser à la fois dans les API de recherche et en ES|QL.</p><p>Si vous souhaitez en savoir plus sur les détails techniques concernant l’ajout de balises à Search et aux requêtes ES|QL, consultez <a href="https://www.elastic.co/search-labs/blog/serverless-cross-project-search-project-tags-routing">Recherche inter-projets plus rapide dans Elasticsearch Serverless avec balises de projet et routage</a>.</p><h2>Comment la recherche inter-projets gère les projets d’origine et les projets liés de manière égale</h2><p>Si vous avez utilisé CCS, vous savez peut-être que le cluster local est traité différemment des clusters distants à plusieurs égards.</p><ul><li><p>Les erreurs provenant du cluster local sont traitées différemment de celles provenant de clusters distants. En particulier, CCS utilise le paramètre <a href="https://www.elastic.co/docs/explore-analyze/cross-cluster-search#skip-unavailable-clusters">skip_unavailable</a> pour contrôler le comportement des erreurs provenant de clusters distants, mais ce paramètre n’existe pas pour le cluster local. </p></li><li><p>Le cluster local n’a pas d’« alias de cluster », donc l’expression d’indice <code>*:logs*</code> recherche tous les projets distants, mais saute le cluster local. Pour rechercher les deux, il faut utiliser l’expression d’indice <code>logs*,*:logs*</code>.</p></li></ul><p>Dans CPS, nous avons modifié ces deux comportements pour mettre le projet d’origine et les projets liés sur un pied d’égalité.</p><p>Premièrement, le paramètre <code>skip_unavailable</code> n’est pas utilisé dans Elastic Cloud Serverless. C’est vous qui décidez si vous souhaitez obtenir des résultats partiels lors d’une recherche via le paramètre <a href="https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-search#operation-search-allow_partial_search_results">allow_partial_search_results</a> dans _search ou _async_search ou le paramètre <a href="https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-esql-query#operation-esql-query-allow_partial_results">allow_partial_results</a> dans ES|QL.</p><p>Deuxièmement, dans Elastic Cloud Serverless, le projet d’origine a un alias de projet. Il est défini dans Elastic Cloud comme toutes les balises de projet. Ainsi, dans CPS, toutes les requêtes ci-dessous sont équivalentes, elles ciblent tous les projets avec un index « logs » :</p>POST logs/_search

POST *:logs/_search


POST logs/search 
{
  "project_routing": "_alias:*"
}
<p><em>Remarque :</em> il existe une différence importante entre l’expression <em>qualifiée</em> <code>*:logs</code> et l’expression <em>non qualifiée</em> <code>logs</code> en ce qui concerne la gestion des erreurs liées aux indices manquants. Pour plus de détails, consultez la rubrique consacrée aux <a href="https://www.elastic.co/docs/explore-analyze/cross-project-search/cross-project-search-search#search-expressions">expressions de recherche non qualifiées et qualifiées</a> dans la documentation publique.</p><h2>Modèle de contrôle d’accès et de sécurité pour la recherche inter-projets</h2><p>Elastic a créé un nouveau modèle de sécurité basé sur le cloud, <a href="https://www.elastic.co/docs/explore-analyze/cross-project-search#security">Universal Identity and Access Management</a> (UIAM), qui permet un principe clé pour la recherche inter-projets : <strong>les projets et les données auxquels vous pouvez accéder ne dépendent pas de l’endroit où vous y accédez</strong>.</p><p>Que vous lanciez une recherche à partir de votre projet principal d’observabilité ou d’un projet d’analyse ponctuel, votre accès aux données associées reste le même, puisque les droits d’accès ont été définis de manière centralisée. Le modèle d’authentification et d’autorisation basé sur le cloud utilise le service cloud UIAM pour garantir que vos autorisations d’accès sont uniformes, quel que soit le projet d’origine.</p><h2>Essayez la recherche inter-projets</h2><p>Finalement, Elastic Cloud Serverless et CPS permettent ensemble de <strong>réduire</strong> les difficultés opérationnelles et vous offrent des solutions supplémentaires pour organiser les données en fonction de critères logiques plutôt que physiques ou opérationnelles. La recherche inter-projets permet à vos utilisateurs de se concentrer uniquement sur l’organisation logique de leurs données, offrant ainsi une expérience de recherche unifiée sans les complexités physiques du passé.</p>]]></content:encoded>
    <link>https://www.elastic.co/search-labs/blog/elasticsearch-cross-project-search-serverless</link>
    <guid isPermaLink="true">https://www.elastic.co/search-labs/blog/elasticsearch-cross-project-search-serverless</guid>
    <category><![CDATA[Elastic Cloud Serverless]]></category>
    <dc:creator><![CDATA[Michael Peterson,Najwa Harif]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltc83356ff51c8c398/6a17ea080b0bed381fdd35e9/c43c52492a7d6158487958becc31f57cb81b168d-720x420.png" length="0" type="image/png"/>
    <pubDate>Mon, 18 May 2026 00:00:00 GMT</pubDate>
  </item>
  <item>
    <title><![CDATA[Présentation des clés API unifiées pour Elastic Cloud Serverless et Elasticsearch]]></title>
    <description><![CDATA[Découvrez comment Elastic unifie l’authentification des plans de contrôle et des plans de données dans Serverless grâce à une architecture IAM distribuée à l’échelle mondiale. Utilisez une seule clé API pour les API Cloud et Elasticsearch.]]></description>
    <content:encoded><![CDATA[<p>Imaginez que vous êtes ingénieur en fiabilité des sites (SRE) responsable d’un parc croissant de projets Elastic Cloud Serverless : Elastic Observability pour votre infrastructure de production, Elastic Security pour votre centre des opérations de sécurité (SOC) et Elasticsearch pour votre application orientée client. Chaque projet dispose de sa propre clé API Elasticsearch. Votre pipeline d’intégration continue et de déploiement continu (CI/CD) nécessite une clé API Cloud distincte pour provisionner et gérer ces projets. Chaque trimestre arrive le jour de rotation : vous parcourez chaque projet, générez de nouvelles clés, mettez à jour l’état Terraform, redéployez vos pipelines et espérez que rien ne passe entre les mailles du filet. Lorsqu’un incident survient à 2 h du matin et que vous devez révoquer rapidement des accès, vous consultez une feuille de calcul de secrets pour déterminer quelle clé correspond à quel projet et à quel service.</p><p>Aujourd’hui, tout devient beaucoup plus simple. Les <strong>clés API Elastic Cloud</strong> peuvent désormais être utilisées pour s’authentifier directement auprès des API <strong>Elasticsearch</strong> et <strong>Kibana</strong> dans <strong>Elastic Cloud Serverless</strong>. Vous pouvez désormais utiliser un seul identifiant pour gérer les ressources de votre organisation <em>et</em> exécuter des opérations sur les données, comme des requêtes Elasticsearch Query Language (ES|QL), l’ingestion de données et l’alerting.</p><p>Voyons pourquoi nous avons conçu cette solution, comment nous avons mis en place une couche d’identité distribuée à l’échelle mondiale pour la rendre possible, et comment elle pose les bases d’une recherche interprojets.</p><h2>Le fardeau de la gestion des secrets</h2><p>Mettre en place des pipelines CI/CD fiables, des workflows GitOps ou une automatisation Terraform autour des plateformes de données a un coût caché : la prolifération des secrets.</p><p>Dans le modèle précédent, les développeurs étaient confrontés à une gestion de l’authentification fragmentée :</p><ul><li><p><strong>Plan de contrôle (clés API Elastic Cloud) :</strong> clés au périmètre de l’organisation utilisées pour créer des projets, inviter des utilisateurs et gérer la facturation via l’<a href="https://www.elastic.co/docs/api/doc/cloud/">API Elastic Cloud</a>.</p></li><li><p><strong>Plan de données (clés API Elasticsearch) :</strong> Clés de portée projet créées <em>à l'intérieur</em> d'un projet Serverless spécifique pour interagir avec <a href="https://www.elastic.co/docs/api/doc/elasticsearch-serverless/">Elasticsearch</a> et <a href="https://www.elastic.co/docs/api/doc/serverless">Kibana</a> API.</p></li></ul><p>Cela signifiait que votre script de déploiement devait s’authentifier auprès d’Elastic Cloud, provisionner un projet Serverless, extraire une clé API Elasticsearch nouvellement générée depuis ce projet, puis injecter <em>cette</em> seconde clé dans l’application en aval ou l’outil d’automatisation, ce qui entraînait des pipelines complexes, des journaux d’audit fragmentés et un risque accru de fuite d’identifiants.</p><h2>Authentification unifiée dans Elastic Cloud Serverless</h2><p>Avec cette version, cette séparation disparaît pour les projets Serverless. Vous pouvez désormais créer une clé API Elastic Cloud explicitement autorisée pour les <strong>API Cloud, Elasticsearch et Kibana</strong>.</p><ul><li><p><strong>Avant :</strong> une clé API Elastic Cloud était strictement un jeton du plan de contrôle. Elle permettait de créer des projets, de gérer la facturation et d’inviter des utilisateurs, mais présentait une limite stricte : elle ne pouvait pas être utilisée pour appeler les API Elasticsearch ou Kibana au sein de ces projets. Vous aviez toujours besoin d’une seconde clé, spécifique au projet, pour les opérations sur les données.</p></li><li><p><strong>Maintenant :</strong> en optant pour l'accès aux <strong>API Cloud, Elasticsearch et Kibana</strong> lors de la création d'une clé API Elastic Cloud, la limite stricte est supprimée pour Serverless. Cette clé API devient un véritable identifiant unifié. Il conserve sa capacité à gérer l'infrastructure de votre organisation, tout en bénéficiant d'un accès natif pour interroger, ingérer et analyser les données de tout projet Serverless autorisé.</p></li></ul><p>En unifiant cela avec une seule clé API Elastic Cloud, vous disposez d’une identité unique pouvant être définie par périmètre, auditée, renouvelée et révoquée comme une seule entité. Chaque appel API, qu’il serve à provisionner un nouveau projet ou à exécuter une requête ES|QL, apparaît sous le même identifiant dans vos journaux d’audit, vous offrant une trace unique à suivre lors des enquêtes d’incident ou des audits de conformité. La rotation des identifiants devient une opération en une seule étape, au lieu d’une mise à jour coordonnée entre les secrets du plan de contrôle et du plan de données. Et comme les rôles sont attribués par projet, une seule clé peut couvrir plusieurs projets : gérer l’ingestion dans votre projet d’observabilité et exécuter des requêtes dans votre projet de sécurité, sans avoir à manipuler des identifiants distincts pour chacun.</p><p>Il est important de noter qu' <em>unifié</em> ne signifie pas <em>tout-puissant</em>. En utilisant le payload <code>role_assignments</code>, vous pouvez restreindre la portée d'une clé unifiée à un seul projet et à un rôle spécifique (lecture seule, par exemple), ce qui garantit que le rayon d'impact reste totalement contenu si un identifiant est exposé. En cas de départ d'un développeur ou de mise hors service d'une application, vous pouvez révoquer une seule clé depuis la console Elastic Cloud, ce qui met immédiatement fin à l'accès à la fois au plan de contrôle et à tous les projets Elasticsearch associés.</p><p><em>(Remarque : pour les déploiements Elastic Cloud Hosted/gérés, les clés API Cloud ne gèrent toujours que le plan de contrôle.) La prise en charge de l’extension aux API de la stack hébergée est prévue dans une prochaine version.)</em></p><h2>Automatiser vos workflows</h2><p>La mise en route est simple. Vous pouvez configurer cela entièrement via la console Elastic Cloud ou l'automatiser en utilisant l'<a href="https://www.elastic.co/docs/deploy-manage/api-keys/elastic-cloud-api-keys">API Elastic Cloud</a>.</p><p>Le processus de l'interface utilisateur reste le même, mais vous pouvez désormais sélectionner l'accès aux <strong>API Cloud, Elasticsearch et Kibana</strong> dans l'affectation des rôles du projet.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltda0a18945295aa84/6a1707bd509168fab4e1ba19/c4f802f130655290cd474b283001a954d14c3088-2801x1681.png" alt="Écran Elastic Cloud affichant la page des clés API avec une modale Créer une clé API ouverte, incluant des champs pour le nom, l'expiration et les attributions de rôles." /><p>Voici comment créer une clé unifiée de façon programmatique en utilisant l’API Elastic Cloud. Notez le tableau <code>application_roles</code>, car c’est ce qui donne à la clé un accès natif au plan de données Elasticsearch :</p>curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: ApiKey $EC_API_KEY" \
  "https://api.elastic-cloud.com/api/v1/users/auth/keys" \
  -d '{
    "description": "unified-automation-key",
    "expiration": "90d",
    "role_assignments": {
      "project": {
        "elasticsearch": [
          {
            "role_id": "elasticsearch-admin",
            "organization_id": "YOUR_ORG_ID",
            "all": false,
            "project_ids": ["YOUR_PROJECT_ID"],
            "application_roles": ["admin"]
          }
        ]
      }
    }
  }'<p>Une fois créée, il vous suffit de transmettre exactement la même clé dans l'en-tête <code>Authorization: ApiKey</code> à <code>api.elastic-cloud.com</code> et à vos points de terminaison Elasticsearch Serverless spécifiques.</p><h2>En coulisses : conception d’une couche d’identité distribuée</h2><p>Faire fonctionner une clé API Cloud à la fois sur le plan de contrôle et sur le plan de données ne se résume pas à transmettre un jeton. Cela nécessite de résoudre un défi fondamental des systèmes distribués.</p><p>Historiquement, les clés API Cloud étaient stockées dans un cluster de sécurité global centralisé. Cela fonctionne bien pour les opérations du plan de contrôle, où une latence plus élevée est acceptable. Cependant, les requêtes de données Elasticsearch nécessitent une latence extrêmement faible. Nous ne pouvons pas nous permettre un aller-retour à travers le globe vers un plan de contrôle central pour valider chaque requête de recherche ou d’ingestion.</p><p>Pour résoudre ce problème, nous avons introduit une nouvelle architecture d’authentification reposant sur un datastore distribué à l’échelle mondiale. Le diagramme de séquence suivant montre un client envoyant une requête Elasticsearch à l’aide d’une clé API Elastic Cloud, illustrant comment l’authentification s’effectue entièrement dans la région locale, sans aller-retour vers le plan de contrôle global. Elasticsearch délègue l’authentification au service IAM régional, qui valide la clé et résout ses attributions de rôles à partir d’une réplique locale de la base de données distribuée à l’échelle mondiale. Une fois autorisé, Elasticsearch exécute la requête et renvoie les résultats au client.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltf4fa84c3f33f88f7/6a1707baacf088989abe9a8e/3e38d7a862b9981523c5393c441b92eae13aeb90-2401x1351.webp" alt="Diagramme de séquence illustrant une requête client avec une clé API Cloud transitant par Elasticsearch Serverless, un service IAM régional et une réplique de base de données distribuée, avant le retour des résultats." /><h3>Persistance distribuée à l’échelle mondiale</h3><p>Au lieu de s’appuyer uniquement sur un cluster de sécurité centralisé, les clés API Elastic Cloud et leurs définitions de rôles associées sont désormais stockées dans une base de données distribuée à l’échelle mondiale et hautement disponible. Cette base de données synchronise les données de gestion des identités et des accès (IAM) entre le plan de contrôle global et les plans de données régionaux où vos projets Serverless s’exécutent réellement.</p><h3>Validation locale avec IAM régional</h3><p>Lorsque votre client envoie une requête à Elasticsearch à l’aide d’une clé API Elastic Cloud, la requête ne revient pas vers le plan de contrôle global. Elle est plutôt redirigée vers le nouveau service IAM régional. Celui-ci valide la clé à partir de la réplique locale de la base de données, garantissant une authentification avec une latence quasi nulle et totalement isolée des pannes du plan de contrôle global.</p><h3>Mappage dynamique des rôles</h3><p>L'authentification n'est que la moitié de la bataille ; le système doit également autoriser la demande. Le service IAM régional traduit instantanément vos attributions de rôles au niveau du cloud (par exemple, <code>application_roles</code>) en privilèges Elasticsearch natifs. Elasticsearch peut alors autoriser et exécuter la requête localement, sans jamais avoir besoin d’un index <code>.security</code> local.</p><h2>La base de la recherche interprojets</h2><p>Cette architecture d'identité distribuée est un élément fondamental pour l'avenir de la plateforme Elastic.</p><p>L'identité et l'accès étant désormais unifiés et synchronisés à l'échelle mondiale, nous disposons du framework nécessaire pour transmettre votre identité en toute sécurité entre différents projets. Cela permet d'activer les capacités de <strong>recherche inter-projets (CPS)</strong> à venir pour Serverless.</p><p>Avec CPS, vous pourrez interroger des données couvrant plusieurs projets Serverless distants, par exemple en combinant des charges de travail de sécurité et d’observabilité, aussi simplement que s’il s’agissait d’un seul jeu de données. En s’appuyant sur des clés API unifiées, le système peut automatiquement évaluer vos autorisations sur l’ensemble des projets simultanément, sans vous obliger à configurer des relations de confiance complexes, des certificats ou des identifiants dupliqués pour chaque projet cible.</p><h2>En savoir plus</h2><p>Êtes-vous prêt à simplifier votre stack ?</p><ul><li><p>Lisez la <a href="https://www.elastic.co/docs/deploy-manage/api-keys/elastic-cloud-api-keys">documentation sur les clés API d'Elastic Cloud</a> pour savoir comment attribuer l'accès à la pile.</p></li><li><p>Consultez la <a href="https://www.elastic.co/docs/api/doc/cloud/operation/operation-create-api-key">référence Create API key (Elastic Cloud API)</a> pour automatiser la génération de clés.</p></li><li><p>Consultez <a href="https://www.elastic.co/docs/deploy-manage/api-keys">les clés API Elastic</a> pour une comparaison complète des types de clés sur la plateforme Elastic.</p></li></ul><p>Commencez ou continuez à construire dans <a href="https://cloud.elastic.co/registration">Elastic Cloud</a> dès aujourd’hui.</p><h2>Avis de non-responsabilité</h2><p>La publication et la date de publication de toute fonctionnalité ou fonction décrite dans le présent article restent à la seule discrétion d'Elastic. Toute fonctionnalité ou fonction qui n'est actuellement pas disponible peut ne pas être livrée à temps ou ne pas être livrée du tout.</p>]]></content:encoded>
    <link>https://www.elastic.co/search-labs/blog/elastic-cloud-api-keys-unified-serverless</link>
    <guid isPermaLink="true">https://www.elastic.co/search-labs/blog/elastic-cloud-api-keys-unified-serverless</guid>
    <category><![CDATA[Elastic Cloud Serverless]]></category>
    <category><![CDATA[Expérience développeur]]></category>
    <dc:creator><![CDATA[ Alex Chalkias]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt16ca1a6af7e5bab8/6a1707b7a6c2b900abe7965b/864e229f00eb2018084f13dd7f0e390e18383ed4-1980x1188.png" length="0" type="image/png"/>
    <pubDate>Mon, 20 Apr 2026 00:00:00 GMT</pubDate>
  </item>
  <item>
    <title><![CDATA[Répliques Elasticsearch pour l'équilibrage de charge dans Serverless]]></title>
    <description><![CDATA[Découvrez comment Elastic Cloud Serverless ajuste automatiquement les répliques d'index en fonction de la charge de recherche, garantissant une performance optimale des requêtes sans configuration manuelle.]]></description>
    <content:encoded><![CDATA[<p>Dans Elastic Cloud Serverless, le nombre de répliques de vos index est automatiquement ajusté en fonction de la charge de recherche, garantissant ainsi des performances optimales pour vos requêtes, sans aucune configuration manuelle. Dans cet article, nous expliquons comment les répliques sont mises à l'échelle, à quel moment le système en ajoute ou en supprime, et quelles sont les conséquences pour vos index.</p><h2>La soirée commence à s'animer</h2><p>Vous organisez une fête de pizza. Vous avez quelques amis qui vous aident à servir, chacun posté à différents endroits dans la pièce. Vous offrez une pizza à chaque ami, et ils commencent à distribuer des tranches aux clients affamés à leur arrivée.</p><p>Au début, tout se passe bien. Les invités arrivent au compte-gouttes, vos amis servent des parts de pizza, tout le monde est content. Mais bientôt, la nouvelle de vos pizzas au levain se répand. On n'arrête pas de sonner à la porte. Les invités affluent. Très vite, une foule se forme autour de l'un de vos amis, celui qui tient la pizza pepperoni que tout le monde semble vouloir.</p><p>Votre ami avec la pizza au pepperoni est débordé. Les clients attendent, deviennent impatients et une longue file d'attente s'est formée. Pendant ce temps, votre ami avec la pizza margherita reste debout et presque personne ne lui demande une part.</p><p>Que faire ?</p><p>Vous commandez encore deux pizzas pepperoni et vous en distribuez à d'autres amis. Maintenant, trois amis ont de la pizza pepperoni au lieu d'un seul. La foule se disperse, et, tout à coup, vous pouvez servir trois fois plus d'invités à la fois.</p><p>Certains éléments deviennent clairs à mesure que vous organisez des fêtes :</p><ul><li><p><strong>Les pizzas n'ont pas toutes le même succès.</strong> Certaines sont très demandées, d'autres moins. Inutile de prévoir des "exemplaires" supplémentaires de celles qui sont peu appréciées. Il vous faut davantage de celles qui attirent les foules.</p></li><li><p><strong>Commandez d'autres pizzas avant que la file d'attente ne devienne trop longue.</strong> Si vous attendez que votre ami soit complètement dépassé et que les invités partent mécontents, vous avez attendu trop longtemps. Mieux vaut commander une pizza supplémentaire quand vous voyez une foule se former.</p></li><li><p><strong>Ne jetez pas les pizzas trop vite.</strong> Ce n'est pas parce que la foule autour de la pizza pepperoni s'est clairsemée pendant cinq minutes que l'affluence est terminée. Peut-être sont-ils simplement en train de se resservir à boire, ou même de discuter entre eux (est-ce que ça se fait encore ?). Prévoyez des pizzas supplémentaires. Si l'accalmie se prolonge, vous pourrez les mettre de côté.</p></li><li><p><strong>Vous ne pouvez distribuer autant de pizzas que vous avez d'amis qui vous aident.</strong> Si vous n'avez que quatre amis pour vous aider, dix pizzas ne changeront rien au résultat. Seules quatre peuvent être servies à la fois. Adaptez le nombre de pizzas à vos serveurs disponibles.</p></li><li><p><strong>Quand un ami s'en va, prenez sa pizza.</strong> Si l'un de vos amis doit partir, prenez sa pizza immédiatement. Vous ne pouvez pas laisser les pizzas sans surveillance. Donnez-la à quelqu'un d'autre, ou mettez-la de côté.</p></li></ul><h2>Des pizzas aux répliques</h2><p>Faisons le lien avec Elasticsearch.</p><p>Dans notre analogie, les pizzas sont des répliques (copies de vos shards d'index), vos amis qui aident à servir sont des nœuds de recherche, les invités affamés sont des requêtes de recherche, et cette pizza très prisée autour de laquelle se presse la foule correspond à un index très sollicité (hot) avec une charge de recherche élevée.</p><p>Lorsque le trafic de recherche augmente sur un indice donné, nous créons des répliques supplémentaires et les distribuons sur vos nœuds de recherche. Toute réplique peut traiter n'importe quelle requête pour cet index, tout comme un ami tenant une pizza pepperoni peut en distribuer des parts. Plus de répliques signifie un débit plus élevé : trois répliques peuvent traiter trois fois plus de requêtes par seconde qu'une seule réplique.</p><h2>Mesurer la faim</h2><p>Avant de décider du nombre de pizzas à commander, nous devons connaître l'appétit de la foule.</p><p>Elasticsearch suit la <strong>charge de recherche</strong> pour chaque partition. Cet indicateur mesure l'activité de recherche gérée par une partition. Nous agrégeons ces données pour l'ensemble des partitions d'un index afin d'appréhender la demande de recherche totale.</p><p>Ce qui importe le plus, c'est la <strong>charge de recherche relative</strong> : quelle proportion du trafic de recherche total de votre projet est allouée à chaque index ? Si un index reçoit 60 % des recherches tandis qu'un autre n'en reçoit que 5 %, nous savons où augmenter la capacité.</p><h2>Les mathématiques derrière les pizzas</h2><p>Nous calculons le nombre optimal de répliques en suivant cette formule :</p>desired_replicas = min(ceil(L × N / (S × X)), N)<p>Où :</p><ul><li><p><strong>L</strong> = la charge de recherche relative de l'index (entre 0 et 1).</p></li><li><p><strong>N</strong> = le nombre de nœuds de recherche souhaités dans votre projet.</p></li><li><p><strong>S</strong> = le nombre de partitions dans l'index.</p></li><li><p><strong>X</strong> = un seuil pour éviter les points chauds (0,5 par défaut).</p></li></ul><p>Un exemple : quatre nœuds de recherche, un index avec deux shards primaires recevant 80 % du trafic de recherche :</p>desired_replicas = min(ceil(0.8 × 4 / (2 × 0.5)), 4)
                 = min(4, 4)
                 = 4<p>Cet index hot obtient quatre répliques réparties sur les nœuds de recherche.</p><p>Le seuil X (0,5 par défaut) est important. Nous n'attendons pas qu'une réplique soit complètement saturée ; nous augmentons la capacité lorsqu'elle en est à la moitié. Distribuez les pizzas supplémentaires dès que vous voyez le monde arriver, et non lorsque les clients sont déjà partis.</p><h2>Augmenter la capacité rapidement, la réduire lentement</h2><p>Lorsque la charge de recherche augmente, nous ajoutons immédiatement des répliques. Inutile de faire attendre les utilisateurs.</p><p>Lorsque la charge de recherche diminue, nous attendons un peu avant d'agir. Nous devons observer une faible demande stable pendant environ 30 minutes avant de réduire le nombre de répliques. (Ceci afin de gérer les pics de trafic, où une période d'accalmie ne signifie pas que la charge est terminée.)</p><p>C'est important, car l'ajout d'une réplique a un coût. La nouvelle réplique copie les données et initialise ses caches avant de traiter efficacement les requêtes. Supprimer des répliques trop rapidement signifie payer constamment ce coût initial, car le trafic fluctue naturellement.</p><h2>Respecter les limites de la topologie</h2><p>Le nombre de répliques ne peut jamais dépasser le nombre de nœuds de recherche. Avoir plus de répliques que de nœuds n'apporte aucun avantage (vous ne pouvez servir qu'autant de pizzas que vous avez d'amis qui vous aident à en servir des parts).</p><p>Lorsque des nœuds sont retirés de votre projet, nous réduisons immédiatement le nombre de répliques en conséquence. Pas besoin d'attendre la fin du cooldown, car il ne peut y avoir de répliques non attribuées. Dès qu'un ami s'en va, nous retirons sa part.</p><h2>Une vision plus globale du Serverless</h2><p>Les répliques pour l'équilibrage de charge de recherche fonctionnent de pair avec d'autres systèmes d'autoscaling :</p><ul><li><p>L'<strong>autoscaling de la recherche</strong> ajuste le nombre de nœuds de recherche (combien d'amis aident).</p></li><li><p>Les <strong>répliques pour l'équilibrage de la charge de recherche</strong> distribuent le trafic en ajustant le nombre de répliques par index (le nombre de pizzas de chaque type dont nous avons besoin).</p></li><li><p>Le <strong>partitionnement automatique du flux de données</strong> optimise le nombre de partitions pour les écritures (comment découper chaque pizza, abordé dans l'<a href="https://www.elastic.co/search-labs/blog/datastream-autosharding-serverless">article précédent</a>).</p></li></ul><p>Un principe de conception important : les répliques pour l'équilibrage de charge ne déclenchent pas directement l'autoscaling de la recherche. En répartissant les requêtes de recherche sur un plus grand nombre de répliques, nous pouvons augmenter l'utilisation des ressources sur l'ensemble de vos nœuds de recherche. Cette utilisation accrue active ensuite notre logique d'autoscaling existante afin d'ajouter de la capacité si nécessaire. Les répliques pour l'équilibrage de charge permettent à l'autoscaling de remplir sa fonction, en garantissant que vos nœuds de recherche sont effectivement utilisés, au lieu de voir tout le trafic se concentrer sur une seule réplique tandis que les autres nœuds restent inactifs.</p><h2>Ce que cela signifie pour vous</h2><p>Vous n'avez pas besoin de prédire quels index seront les plus sollicités. Vous n'avez pas besoin d'ajuster manuellement les répliques lorsque les schémas de trafic changent. Vous n'avez pas besoin de vous réveiller à 3 heures du matin parce qu'un pic de trafic a saturé votre index le plus sollicité.</p><p>Le système surveille les zones d'affluence et commande des pizzas supplémentaires pour ces zones. Les index peu sollicités ne gaspillent pas de ressources en répliques inutiles. Les index très sollicités obtiennent la capacité dont ils ont besoin. Votre budget est ainsi investi là où c'est le plus important.</p><h2>Conclusion</h2><p>Dans l'<a href="https://www.elastic.co/search-labs/blog/datastream-autosharding-serverless">article sur le partitionnement automatique</a>, nous avons veillé à ce que vos pizzas soient découpées correctement. Désormais, grâce aux répliques pour l'équilibrage de charge de recherche, nous nous assurons que vous ayez suffisamment de pizzas, entre de bonnes mains, lorsque la foule affamée arrive.</p><p>Essayez <a href="https://www.elastic.co/cloud/serverless">Elastic Cloud Serverless</a> et laissez-nous nous occuper la logistique des pizzas.</p>]]></content:encoded>
    <link>https://www.elastic.co/search-labs/blog/elasticsearch-replicas-load-balancing-serverless</link>
    <guid isPermaLink="true">https://www.elastic.co/search-labs/blog/elasticsearch-replicas-load-balancing-serverless</guid>
    <category><![CDATA[Elastic Cloud Serverless]]></category>
    <dc:creator><![CDATA[Andrei Dan]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blte3b371b70b12b9ef/6a170f240e2e49999441a1de/3c4c1e99b892f026b7aba098973593f8298e2ea6-1280x717.png" length="0" type="image/png"/>
    <pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate>
  </item>
  <item>
    <title><![CDATA[Agent Builder est maintenant en disponibilité générale : créez des agents contextuels en quelques minutes]]></title>
    <description><![CDATA[Agent Builder est maintenant en disponibilité générale. Découvrez comment il vous permet de développer rapidement des agents d'IA contextuels.]]></description>
    <content:encoded><![CDATA[<p>Nous sommes ravis d'annoncer la disponibilité générale d'Agent Builder dans Elastic Cloud Serverless et dans la prochaine version 9.3. Agent Builder exploite la puissance d'Elasticsearch comme plateforme d'ingénierie du contexte pour développer rapidement des agents d'IA contextuels et axés sur les données.</p><p>Les agents gagnent du terrain en raison de leur potentiel d'amélioration de l'efficacité et de l'expérience client. Mais dans la pratique, il est difficile de fournir aux agents le bon contexte, en particulier lorsqu'ils travaillent sur des données d'entreprise hétérogènes et non structurées. Les développeurs doivent gérer les outils, les prompts, l'état, la logique de raisonnement, les modèles, et surtout récupérer un contexte pertinent à partir des sources métier pour garantir des résultats et des actions précis. Elastic Agent Builder fournit ces composants essentiels pour développer des agents sécurisés, fiables et contextuels.</p><h2>Fonctionnalités principales d'Agent Builder</h2><p>Agent Builder est le résultat des investissements à long terme d'Elastic dans la pertinence de la recherche et la génération augmentée par récupération, et contribue à faire d'Elasticsearch la meilleure base de données vectorielle pour simplifier le développement d'agents d'IA contextuels et axés sur les données.</p><p>Agent Builder vous permet de :</p><ul><li><p>Commencer immédiatement avec un agent conversationnel intégré capable de répondre aux questions, d'effectuer des analyses et de mener des investigations sur n'importe quelles données dans Elasticsearch.</p></li><li><p>Passer rapidement des données non structurées complexes à un agent personnalisé grâce à une expérience de développement basée sur la configuration.</p></li><li><p>Bénéficier de la pertinence d'une recherche hybride de pointe grâce à ES|QL intégré ou à des outils personnalisés pour améliorer la qualité du contexte et la fiabilité des agents.</p></li><li><p>Exécuter des workflows complexes (préversion) sous forme d'outils réutilisables pour enrichir les données, mettre à jour les enregistrements, envoyer des messages et plus encore pour l'automatisation basée sur des règles.</p></li><li><p>Vous connecter à des sources de données externes à Elasticsearch à l'aide de workflows et de MCP pour corréler et combiner le contexte pour les agents.</p></li><li><p>Intégrer à n'importe quel framework agentique ou d'application à l'aide d'outils intégrés et personnalisés exposés via MCP, et possibilité de se connecter à un MCP externe (préversion), prise en charge d'A2A et support technique API complet.</p></li><li><p>Étendre les capacités d'Agent Builder avec l'intégration de solutions tierces comme LlamaIndex pour le traitement complexe de documents ou Arcade.dev pour un accès sécurisé et structuré aux outils.</p></li></ul><p>Pour étendre les fonctionnalités d'Agent Builder, nous lançons Elastic Workflows, notre nouvelle solution d'automatisation basée sur des règles, actuellement disponible en préversion technique. Pour les tâches organisationnelles, les agents ont parfois besoin de la certitude et de la fiabilité des actions basées sur des règles, qui sont souvent nécessaires pour mettre en œuvre une logique métier spécifique. Elastic Workflows offre aux agents une méthode simple et déclarative pour orchestrer des systèmes internes et externes afin d'effectuer des actions, de collecter des données et du contexte, et de les transformer. Entièrement composables, pilotés par les événements et flexibles, les workflows peuvent être exposés comme outils à un agent via MCP.</p><h2>Passez des données à l'agent en quelques minutes</h2><p>Le développement d'agents peut prendre des semaines de travail préparatoire pour consolider des datastores distincts, construire des pipelines manuels, optimiser les requêtes et gérer une orchestration complexe. Agent Builder réduit le temps de développement des agents en supprimant le besoin de datastores séparés, de bases vectorielles, de pipelines RAG, de couches de recherche, de traducteurs de requêtes et d'orchestrateurs d'outils, vous permettant ainsi de vous concentrer sur la logique de l'agent et la livraison de l'application.</p><p>Agent Builder intègre nativement les primitives de la plateforme Elasticsearch pour accélérer le développement d'agents.</p><ul><li><p>Commencez avec un agent conversationnel intégré qui peut immédiatement discuter et raisonner avec vos données indexées.</p></li><li><p>Intégrez des agents dans des applications, des tableaux de bord ou des systèmes CI/CD avec un accès interactif via Kibana, des API, ou MCP et A2A.</p></li><li><p>Utilisez des outils par défaut pour comprendre la structure de vos données, sélectionner l'index approprié, générer des requêtes hybrides, sémantiques et structurées optimisées, et créer des visualisations configurables à l'aide d'ES|QL basées sur des prompts en langage naturel.</p></li></ul><p>Pour aller plus loin, essayez une <a href="https://www.elastic.co/search-labs/blog/ai-agent-builder-elasticsearch">procédure pas à pas</a> complète.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltd8def92028138672/6a17e086af47b60cd8cdde96/b55b63eae40f72952967cc8f3ea4df4cd62d7d70-1080x608.gif" alt="Guide pratique Elastic Agent Builder" /><h2>Développez sur Elasticsearch, une plateforme de données complète pour l'ingénierie du contexte</h2><p>En matière d'agents d'IA, la qualité du contexte est essentielle pour un raisonnement efficace et pour limiter les risques d'hallucinations. Dans de nombreux cas, les données métier nécessaires à l'exécution d'une tâche constituent l'élément de contexte le plus crucial. Elasticsearch, base de données vectorielle hautement scalable et leader en matière de pertinence, offre déjà de nombreuses primitives performantes d'ingénierie du contexte. L'ingénierie du contexte va au-delà de la simple génération augmentée par récupération : elle permet de personnaliser et de dimensionner la manière dont les données sont extraites, classées, filtrées et présentées aux agents, contribuant ainsi à réduire le bruit et l'ambiguïté.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltc4c10c1d09e9f81e/6a17e087577262feb31bcb4b/419b9b6f13739e0a8983249d8ac31478e73dac89-1600x901.png" alt="Schéma Agent Builder" /><p>Elasticsearch fournit un moteur de contexte qui combine la recherche lexicale, la recherche vectorielle et le filtrage structuré pour la récupération, ce qui <a href="https://www.elastic.co/search-labs/blog/context-engineering-relevance-ai-agents-elasticsearch">améliore considérablement les performances des LLM</a> en garantissant que le modèle opère sur un contexte pertinent et précis. Cette fonctionnalité est prise en charge par la récupération agentique, ainsi que par des outils intégrés et une logique de recherche qui sélectionnent automatiquement les index appropriés et transforment le langage naturel en requêtes optimisées pour le contexte.</p><p>Avec Agent Builder, vous avez l'assurance que les agents reçoivent en priorité le contexte le plus pertinent grâce à des options de contrôle de la pertinence et du classement afin d'affiner la logique de notation, de classement et de filtrage. Elasticsearch vous permet de contrôler ce qui est important, pourquoi c'est important et comment l'ordre de priorité est établi, au lieu de vous fier à un comportement de récupération opaque. L'ensemble repose sur Elasticsearch, une plateforme de données scalable qui permet de stocker et de gérer toutes vos données (texte, vecteurs, métadonnées, logs, etc.) sur une seule et même plateforme, simplifiant ainsi la gestion du contexte pour les agents.</p><h2>Exécutez des workflows complexes en tant qu'outils réutilisables</h2><p>Si les agents d'IA permettent de raisonner sur des tâches complexes, l'automatisation repose en grande partie sur l'exécution fiable d'actions basées sur des règles qui appliquent une logique métier spécifique. Elastic Workflows offre une méthode simple et déclarative pour orchestrer les systèmes internes et externes afin d'effectuer des actions, collecter du contexte ou des données et les intégrer aux agents. Définis en YAML, les workflows sont entièrement composables de manière à les rendre aussi simples ou complexes que l'exige la tâche à accomplir. Les agents disposent ainsi d'un moyen efficace d'interagir avec la plateforme et les solutions Elasticsearch, de même qu'avec des applications tierces.</p><p>L'intégration d'un workflow avec Agent Builder peut se faire en trois étapes (prérequis : activez les workflows avec les détails fournis <a href="https://github.com/elastic/workflows">ici</a>)</p><p>1. Créez et enregistrez un nouveau workflow à l'aide de l'éditeur simple basé sur YAML avec autocomplétion et tests intégrés.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt00585158429a3395/6a17e089e317916b122d5740/308888bf3d2fa013f9391a55be6a6fbd458b6dac-1600x998.png" alt="Workflow Agent Builder" /><p>2. Créez un nouvel outil dans Agent Builder avec le type "Workflow" et fournissez une description pour aider l'agent à déterminer quand utiliser l'outil de workflow.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt874b6a1ce3a2ac34/6a17e08be9ea87b1dea9c4d9/c04810d30d226112c3610bd58e208607b213fc3d-1600x945.png" alt="Créer un nouvel outil dans Agent Builder" /><p>3. Ajoutez l'outil de workflow à votre agent personnalisé.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt94a31cb60ef11ce6/6a17e08daf47b61f0dcdde9a/724cd4ac93c46efb0d339fd140e5caf138f8150f-1600x948.png" alt="Ajoutez l'outil de workflow à votre agent personnalisé." /><p>4. Et voilà ! L'agent peut maintenant déclencher le workflow directement depuis une conversation.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt5143f401a06e8ba2/6a17e08fdbb4ffcfc6fb55de/8dfdd726ab89e31c48b79372650ce33946713dca-1600x929.png" alt="Un agent IA a été créé avec Elastic Agent Builder" /><h2>Votre agent, vos règles</h2><p>Agent Builder ne vous enferme pas dans un seul paradigme de développement. Au contraire, il est conçu pour permettre des approches de développement ouvertes et flexibles pour les agents avec un contrôle total des données, de la pertinence, des modèles, de l'interopérabilité, de la sécurité et de la conception des agents.</p><p>Les définitions d'agents personnalisés vous permettent de choisir précisément les outils auxquels un agent peut accéder, d'intégrer des prompts système personnalisés, d'adapter ses instructions et de définir des limites de sécurité. Les agents restent indépendants du modèle, ce qui vous permet de configurer avec flexibilité un LLM de votre choix, qu'il soit natif ou issu de l'écosystème étendu, sans être lié à un fournisseur unique.</p><p>Créez des outils extensibles qui encapsulent la logique spécifique au domaine (par exemple, des filtres d'index spécifiques, des jointures ES|QL, des pipelines analytiques) et sécurisez leur utilisation en production. La prise en charge API complète assure l'interopérabilité avec d'autres frameworks d'agents, grâce à une compatibilité native avec le protocole MCP (Model Context Protocol). L'intégration A2A vous permet d'exposer vos agents Elastic à d'autres frameworks, services et applications clientes, en réutilisant la même logique d'ingénierie des données et du contexte.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt309a0b3dd4cc367b/6a17e090ec0f8932045a6550/5e903ba24ffb3f40231e901f63bd494c89cb7757-1600x1004.png" alt="Configuration de l'agent IA avec Elastic Agent Builder" /><p>Agent Builder permet un développement flexible et ouvert, et il est conçu pour s'intégrer facilement aux frameworks et plateformes d'agents les plus populaires. Ces intégrations peuvent être essentielles pour fournir des agents efficaces. Comme l'explique <strong>Sam Partee, cofondateur d'Arcade.dev</strong>,</p><p><em>"Les systèmes agentiques échouent aujourd'hui, car la connexion de l'IA aux outils et aux données est complexe. Elastic Agent Builder avec Arcade.dev offre aux développeurs un moyen structuré et sécurisé de gérer la manière dont les agents récupèrent le contexte, raisonnent et agissent, permettant ainsi de passer de la démo à la phase de production."</em></p><p>Agent Builder tire également parti de l'extensibilité d'Elasticsearch pour gérer des données complexes. Comme le décrit <strong>Jerry Liu, PDG de LlamaIndex </strong>,</p><p><em>"L'extraction du contexte d'entreprise à partir de sources de données non structurées est essentielle à la création d'agents performants. Elastic Agent Builder, associé au traitement de documents complexes de LlamaIndex, renforce la couche de contexte critique, aidant les équipes à récupérer, traiter et préparer les données afin que les agents puissent raisonner avec plus de précision et obtenir de meilleurs résultats."</em></p><h2>Que pouvez-vous construire ?</h2><p>Agent Builder est déjà exploité dans de nombreux cas d'utilisation. Vous trouverez ci-dessous quelques exemples et architectures de référence pour vous familiariser avec les agents :</p><ul><li><p><strong>Automatiser l'infrastructure</strong> : dans les scénarios de support, les agents sont utilisés pour lire, analyser et dialoguer, mais jusqu'à présent, ils ne peuvent pas interagir directement avec l'infrastructure qu'ils sont appelés à gérer. L'équipe d'ingénierie d'Elastic a développé un agent pour la <a href="https://www.elastic.co/search-labs/blog/agent-builder-augmented-infrastructure">gestion automatisée de l'infrastructure</a> dans le cadre d'un hackathon. L'agent enquête activement sur les problèmes liés à l'infrastructure des applications et prend des mesures automatisées. Il utilise des workflows pour optimiser les configurations, répondre aux problèmes et scaler les ressources, le tout basé sur une compréhension intelligente des logs d'infrastructure.</p></li><li><p><strong>Analyse des menaces de sécurité</strong> : un agent de vulnérabilité de sécurité a été développé avec Elastic Agent Builder, MCP et Elasticsearch. Il automatise l'analyse des menaces en corrélant les données de sécurité internes avec les renseignements sur les menaces externes. L'agent effectue une recherche sémantique sur les incidents et configurations historiques, enrichit les résultats avec des données Internet en temps réel et applique un raisonnement LLM pour évaluer la pertinence environnementale, hiérarchiser les risques et proposer des mesures correctives concrètes. Voir l'<a href="https://www.elastic.co/search-labs/blog/agent-builder-mcp-reference-architecture-elasticsearch">architecture de référence</a><strong>.</strong></p></li><li><p><strong>Support technique client</strong> : les agents peuvent effectuer de nombreuses tâches de support, notamment la synthèse des cas, la déduplication et la création de tickets, ainsi que des investigations techniques approfondies. Agent Builder facilite ces opérations grâce à une recherche hybride en plusieurs étapes permettant de trouver uniquement les problèmes, solutions et procédures les plus pertinents, de formuler des hypothèses sur les causes profondes et de proposer des plans de remédiation. Agent Builder peut simplifier l'architecture des <a href="https://www.elastic.co/blog/generative-ai-customer-support-elastic-support-assistant">systèmes de support</a> complexes et accélérer les délais de livraison.</p></li><li><p><strong>Découverte de produits et de contenus</strong> : Agent Builder simplifie le processus d'<a href="https://www.elastic.co/search-labs/blog/build-voice-agents-elastic-agent-builder">exposition de catalogues produits complexes pour des expériences conversationnelles</a>, tout en permettant aux organisations de conserver la flexibilité nécessaire pour inclure leur propre logique métier et leurs propres exigences.</p></li><li><p><strong>Créez le vôtre</strong> : participez au <a href="https://elasticsearch.devpost.com/">hackathon Agent Builder,</a> qui se déroulera du 22 janvier au 27 février 2026. Collaborez avec la communauté pour créer des agents d'IA contextuels à plusieurs étapes qui combinent la recherche, les workflows, les outils et le raisonnement pour automatiser des tâches concrètes*</p></li></ul><h2>Commencez à créer des agents personnalisés dès maintenant</h2><p>Commencez avec un <a href="https://cloud.elastic.co/registration?onboarding_token=search&amp;pg=en-enterprise-search-page">essai Elastic Cloud</a>, et consultez la documentation <a href="https://www.elastic.co/docs/solutions/search/elastic-agent-builder">ici</a>. Pour les clients existants, Agent Builder est disponible dans Cloud Serverless et avec le niveau Enterprise dans Elastic Cloud Hosted et autogéré.</p><p>* <a href="https://elasticsearch.devpost.com/rules">Cliquez ici</a> pour connaître les modalités, conditions et critères d'éligibilité pour le hackathon</p>]]></content:encoded>
    <link>https://www.elastic.co/search-labs/blog/agent-builder-elastic-ga</link>
    <guid isPermaLink="true">https://www.elastic.co/search-labs/blog/agent-builder-elastic-ga</guid>
    <category><![CDATA[IA agentique]]></category>
    <category><![CDATA[Elastic Cloud Serverless]]></category>
    <dc:creator><![CDATA[Anish Mathur,Evan Castle]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blta5ffa581514d8b8c/6a17e092dbb4fff61afb55e2/6840eb7dbb884055ab0e965dcfd614fec54936af-2210x1440.png" length="0" type="image/png"/>
    <pubDate>Thu, 22 Jan 2026 00:00:00 GMT</pubDate>
  </item>
  <item>
    <title><![CDATA[Débit plus élevé et latence plus faible : Elastic Cloud Serverless sur AWS bénéficie d'une amélioration significative des performances–]]></title>
    <description><![CDATA[Nous avons mis à niveau l'infrastructure AWS pour Elasticsearch Serverless vers du matériel plus récent et plus performant. Découvrez comment cette amélioration considérable des performances permettent des requêtes plus rapides, une scalabilité plus réactive et des coûts réduits.]]></description>
    <content:encoded><![CDATA[<p>Elastic Cloud Serverless est déjà la solution de référence pour les développeurs souhaitant créer des applications de recherche et d'IA performantes sans se soucier de la gestion de l'infrastructure. Désormais, les performances de vos projets sans serveur atteignent un tout autre niveau.</p><p>Nous avons effectué une mise à niveau majeure de l'infrastructure pour tous les projets <a href="https://www.elastic.co/cloud/serverless">Elastic Cloud Serverless</a> exécutés sur AWS, en migrant vers du matériel plus récent et plus performant. Cette modification a été déployée automatiquement sur tous les projets sans serveur. Vous bénéficiez maintenant <strong>d'un débit plus élevé et d'une latence plus faible</strong> pour les projets sans serveur Elasticsearch, Elastic Observability et Elastic Security sur AWS.</p><h2><strong>Principaux avantages en termes de performances pour les développeurs</strong></h2><p>La nouvelle infrastructure matérielle d'AWS sous-tend tout ce que vous faites avec Elastic Cloud Serverless, ce qui se traduit par des avantages tangibles au niveau de la vitesse et de la réactivité de vos applications.</p><h3><strong>Latence des requêtes réduite… débit accru</strong></h3><p>Le matériel amélioré augmente considérablement la vitesse des ressources de calcul ; vos requêtes de recherche sont ainsi traitées plus rapidement que jamais.</p><ul><li><p><strong>Recherche et recherche vectorielle</strong> : que vous exécutiez des recherches full text traditionnelles ou que vous utilisiez la recherche vectorielle de pointe pour vos <a href="https://www.elastic.co/generative-ai">applications d'IA générative et de génération augmentée par récupération (RAG)</a>, vous constaterez une diminution notable de la latence. Une analyse comparative interne a révélé une diminution moyenne de 35 % de la latence de recherche.</p></li><li><p><strong>Indexation plus rapide</strong> : les taux d'ingestion de données sont optimisés, vous permettant d'indexer d'énormes volumes de données et des documents complexes avec un débit accru. Ceci est crucial pour les applications qui nécessitent une visibilité des données en temps quasi‑réel. L'évaluation comparative interne a montré une augmentation moyenne de 26 % du débit d'indexation.</p></li></ul><h3><strong>Performances constantes sous charge</strong></h3><p>Elastic Cloud Serverless est conçu pour s'adapter automatiquement et dynamiquement en temps réel à la demande, minimisant ainsi la latence, quelle que soit votre charge de travail. Grâce à cette amélioration matérielle, le scaling est désormais plus performant et réactif.</p><ul><li><p><strong>Gestion facile des pics de charge</strong> : qu'il s'agisse d'une augmentation soudaine du trafic utilisateur ou d'une ingestion massive de données par lots, la nouvelle infrastructure garantit un scaling vertical plus efficace sur vos ressources de recherche et d'indexation afin de maintenir une latence faible de façon constante.</p></li><li><p><strong>Découplage optimisé calcul‑stockage</strong> : l'architecture sans serveur sépare le calcul et le stockage, ce qui permet aux charges de travail de scaler indépendamment pour des performances et une rentabilité optimales. Le matériel plus rapide améliore la couche de calcul, maximisant l'efficacité de cette conception découplée.</p></li></ul><h2><strong>Sous le capot : résultats des analyses comparatives internes</strong></h2><p>Pour quantifier l'impact de la mise à niveau de notre infrastructure AWS, l'équipe d'ingénierie d'Elastic a mené des tests de performance internes complets sur un large éventail de charges de travail sans serveur. Ces charges de travail ont fourni des preuves concrètes des améliorations de performances que vous pouvez attendre de vos applications, quel que soit votre cas d'utilisation.</p><h3><strong>L'approche d'analyse comparative</strong></h3><p>Nous avons concentré nos tests sur les indicateurs clés qui influencent directement l'expérience développeur et la réactivité des applications : le temps de réponse (c'est-à-dire la latence) et le débit lors des opérations de recherche et d'indexation.</p><ul><li><p><strong>Test des charges de travail</strong> : les tests comprenaient des opérations de recherche à haute simultanéité typiques des applications destinées aux utilisateurs, des requêtes de recherche vectorielle complexes et l'ingestion/l'indexation de données à fort volume pour des cas d'utilisation d'observabilité et de sécurité. Plus précisément, notre méthodologie de test a utilisé des ensembles de données <a href="https://github.com/elastic/rally-tracks/tree/master">accessibles au public</a> <a href="https://github.com/elastic/rally-tracks/tree/master">pour Rally</a>, l'outil d'évaluation comparative d'Elastic.</p><ul><li><p><a href="https://github.com/elastic/rally-tracks/tree/3bedd51/wikipedia"><code>wikipedia</code></a>: Un ensemble de données issu d'un instantané du contenu textuel de Wikipédia, pour mesurer les performances de recherche textuelle à usage général.</p></li><li><p><a href="https://github.com/elastic/rally-tracks/tree/3bedd51/msmarco-passage-ranking"><code>MSMARCO-Passage-Ranking</code></a>: Un ensemble de données issu de Microsoft Machine Reading Comprehension (MS MARCO), pour mesurer les performances de recherche sur des champs vectoriels épars.</p></li><li><p><a href="https://github.com/elastic/rally-tracks/tree/3bedd51/openai_vector"><code>OpenAI_Vector</code></a>: Un ensemble de données issu du NQ de BEIR et enrichi d'embeddings générés par le modèle <code>text-embedding-ada-002</code> d'OpenAI, pour évaluer les performances de recherche sur des champs vectoriels denses.</p></li></ul></li><li><p><strong>Mesure</strong> : nous avons comparé les performances de l'ancienne et de la nouvelle infrastructure, en mesurant la latence au 99e percentile (P99) afin de capturer les performances les plus mauvaises et le nombre d'opérations par seconde, en tenant compte de la latence de queue. Chaque piste a été exécutée cinq fois pour chaque profil de matériel afin de garantir la cohérence des résultats.</p></li><li><p><strong>L'objectif</strong> : Notre objectif était de valider la capacité de l'infrastructure à fournir <strong>des performances plus rapides et plus prévisibles</strong> de manière constante, même pendant les périodes d'autoscaling rapide.</p></li></ul><h3><strong>Résumé des données de performance</strong></h3><p>Les résultats confirment des gains d'efficacité et de rapidité significatifs. Ces gains se traduisent directement par des temps de réponse plus courts pour vos utilisateurs et par une réduction des coûts opérationnels grâce à la possibilité d'effectuer la même quantité de travail avec moins de ressources de calcul.</p><p>Les tableaux suivants décrivent en détail les améliorations quantitatives. Plus les valeurs sont élevées, meilleur est le débit ; plus les valeurs sont faibles, meilleure est la latence.</p><p><strong>Résultats des recherches de référence :</strong></p><p>Référence</p><p>Comparatif</p><p>Ancienne infrastructure</p><p>Nouvelle infrastructure</p><p>Différentiel</p><p>'wikipedia' (texte brut)</p><p>Débit des opérations de recherche (ops/s)</p><p>729</p><p>1107</p><p>+52 %</p><p>'wikipedia' (texte brut)</p><p>Latence des opérations de recherche (p99, ms)</p><p>56</p><p>35</p><p>-37 %</p><p>`MSMARCO-Passage-Ranking` (vecteurs épars)</p><p>Débit des opérations de recherche (ops/s)</p><p>22</p><p>31</p><p>+40 %</p><p>`MSMARCO-Passage-Ranking` (vecteurs épars)</p><p>Latence des opérations de recherche (p99, ms)</p><p>108</p><p>67</p><p>-38 %</p><p>'OpenAI_Vector' (vecteurs denses)</p><p>Débit des opérations de recherche (ops/s)</p><p>475</p><p>624</p><p>+31 %</p><p>'OpenAI_Vector' (vecteurs denses)</p><p>Latence des opérations de recherche (p99, ms)</p><p>35</p><p>22</p><p>-37 %</p><p><strong>Résultats de référence de l'indexation :</strong></p><p>Référence</p><p>Comparatif</p><p>Ancienne infrastructure</p><p>Nouvelle infrastructure</p><p>Différentiel</p><p>'wikipedia' (texte brut)</p><p>Débit des opérations de recherche (ops/s)</p><p>2 845</p><p>3 220</p><p>+13 %</p><p>'wikipedia' (texte brut)</p><p>Latence des opérations de recherche (p99, ms)</p><p>1769</p><p>1120</p><p>-37 %</p><p>`MSMARCO-Passage-Ranking` (vecteurs épars)</p><p>Débit des opérations de recherche (ops/s)</p><p>7087</p><p>8 900</p><p>+26 %</p><p>`MSMARCO-Passage-Ranking` (vecteurs épars)</p><p>Latence des opérations de recherche (p99, ms)</p><p>824</p><p>677</p><p>-18 %</p><p>'OpenAI_Vector' (vecteurs denses)</p><p>Débit des opérations de recherche (ops/s)</p><p>2972</p><p>3187</p><p>+7%</p><p>'OpenAI_Vector' (vecteurs denses)</p><p>Latence des opérations de recherche (p99, ms)</p><p>2946</p><p>2944</p><p>0 %</p><h2><strong>L'avantage supplémentaire : réduction des coûts</strong></h2><p>Bien que notre priorité soit de fournir des performances à faible latence, l'efficacité du nouveau matériel a également un impact direct et positif sur les coûts des projets Elasticsearch.</p><p>La <a href="https://www.elastic.co/pricing/serverless-search">tarification d'Elasticsearch Serverless</a> est basée sur l'utilisation : vous ne payez que pour les ressources d'ingestion et de recherche que vous consommez. Grâce à un matériel plus récent et plus rapide, vos charges de travail s'exécuteront souvent avec moins de ressources, ce qui se traduit par une réduction des coûts pour la plupart des projets. Vous bénéficiez ainsi de performances optimales sans le surcoût : l'efficacité par excellence.</p><h2><strong>Qu'est-ce que cela signifie pour vous, le développeur ?</strong></h2><p>Cette mise à niveau de l'infrastructure est entièrement gérée par Elastic ; vous n'avez donc rien à faire, aucune migration ni modification de configuration. L'amélioration est immédiate et automatique pour tous vos projets sans serveur sur AWS.</p><p>Cette mise à niveau vous permet de :</p><ul><li><p><strong>Créez des applications plus rapides</strong> : concentrez-vous sur la vélocité des fonctionnalités, en sachant que votre plateforme de recherche sous-jacente offre la vitesse exigée par vos utilisateurs.</p></li><li><p><strong>Innovez en confiance</strong> : déployez de nouvelles fonctionnalités de recherche, d'observabilité et de sécurité, y compris des capacités d'IA complexes telles que la recherche vectorielle et le classement par pertinence, sachant que la plateforme peut gérer la charge à des performances optimales.</p></li><li><p><strong>Simplifiez votre stack</strong> : utilisez un service entièrement géré qui prend en charge l'infrastructure, la planification de la capacité et le scaling, et concentrez‑vous sur votre code et vos données.
</p></li></ul>]]></content:encoded>
    <link>https://www.elastic.co/search-labs/blog/elasticsearch-serverless-aws-performance-boost</link>
    <guid isPermaLink="true">https://www.elastic.co/search-labs/blog/elasticsearch-serverless-aws-performance-boost</guid>
    <category><![CDATA[Elastic Cloud Serverless]]></category>
    <category><![CDATA[Opérations]]></category>
    <dc:creator><![CDATA[Pete Galeotti,Yuvraj Gupta,Rachel Forshee]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt399bcc5a2e55bfe0/6a1708b45091684557e1ba3c/3aa0b481994d2445ba979d3c79fff64c5ee6676a-720x420.jpg" length="0" type="image/jpeg"/>
    <pubDate>Wed, 14 Jan 2026 00:00:00 GMT</pubDate>
  </item>
  <item>
    <title><![CDATA[L'agent IA pour gérer les projets Elasticsearch Serverless]]></title>
    <description><![CDATA[Un agent d'IA alimenté par le langage naturel qui gère sans effort les projets Elasticsearch Serverless, permettant la création, la suppression et la vérification de l'état des projets.]]></description>
    <content:encoded><![CDATA[<h2>Comment utiliser un agent d'IA pour gérer des projets Elasticsearch sans serveur ?</h2><ol><li><p><strong>Clonez le dépôt :</strong> Téléchargez le code de l'outil depuis GitHub en utilisant <code>git clone https://github.com/elastic/elasticsearch-labs/supporting-blog-content/serverless-ai-agent</code> <code>a</code>et naviguez dans le répertoire avec <code>cd serverless-ai-agent</code>.</p></li><li><p><strong>Configurer l'environnement : </strong>Créez un environnement virtuel (facultatif) avec <code>python -m venv venv</code> et activez-le (<code>source venv/bin/activate</code> ou <code>venv\Scripts\activate</code> sous Windows). Ensuite, installez les paquets Python nécessaires à l'aide de <code>pip install -r requirements.txt</code>.</p></li><li><p><strong>Configurer les informations d'identification : </strong>Créez un fichier <code>.env</code> à la racine du projet et remplissez-le avec l'URL de votre API Elasticsearch (<code>ES_URL</code>), la clé API (<code>API_KEY</code>), la région (<code>REGION</code>) et la clé API OpenAI (<code>OPENAI_API_KEY</code>).</p></li><li><p><strong>Exécutez l'outil : </strong>Exécutez l'outil en lançant <code>python main.py</code> dans votre terminal. Cela démarre l'agent d'intelligence artificielle et présente une invite pour vos commandes.</p></li><li><p><strong>Gérer les projets en langage naturel :</strong> Interagissez avec l'outil en utilisant des commandes en langage naturel comme "Créer un projet sans serveur nommé mon_projet", "Obtenir le statut du projet sans serveur nommé mon_projet", ou "Supprimer le projet sans serveur nommé mon_projet". L'IA interprétera vos commandes et exécutera les fonctions correspondantes.</p></li></ol><h2>Arrière-plan</h2><p>Ce petit outil en ligne de commande vous permet de gérer vos <a href="https://www.elastic.co/guide/en/serverless/current/intro.html">projets Serverless Elasticsearch</a> en anglais simple. Il s'adresse à une IA (dans ce cas, OpenAI) pour comprendre ce que vous voulez dire et appeler les bonnes fonctions à l'aide de LlamaIndex !</p><h3>Que peut faire l'agent Elasticsearch Serverless AI ?</h3><ul><li><p><strong>Créer un projet</strong>: Créez un nouveau projet Serverless Elasticsearch.</p></li><li><p><strong>Supprimer un projet</strong>: Supprimer un projet existant (oui, il nettoie après vous).</p></li><li><p><strong>Obtenir l'état d'avancement du projet</strong>: Vérifiez l'état d'avancement de votre projet.</p></li><li><p><strong>Obtenir les détails du projet</strong>: Obtenez tous les détails croustillants de votre projet.</p></li></ul><p>Consultez le code sur <a href="https://github.com/elastic/elasticsearch-labs/tree/a65f7bc1e4a041765d1c0a45ac44b9cd9fc1589f/supporting-blog-content/serverless-ai-agent">GitHub</a>.</p><h3>Fonctionnement de l'agent Elasticsearch Serverless AI</h3><p>Lorsque vous tapez quelque chose comme :</p><p><em>"Créer un projet sans serveur nommé mon_projet."</em></p><p>...voici ce qui se passe en coulisses :</p><ul><li><p><strong>Entrée de l'utilisateur &amp; contexte :</strong> Votre commande en langage naturel est envoyée à l'agent d'intelligence artificielle.</p></li><li><p><strong>Description des fonctions :</strong> L'agent IA connaît déjà quelques fonctions, telles que create_ess_project, delete_ess_project, get_ess_project_status et get_ess_project_details, parce que nous lui avons fourni des descriptions détaillées. Ces descriptions indiquent à l'IA le rôle de chaque fonction et les paramètres dont elle a besoin.</p></li><li><p><strong>Traitement par le LLM :</strong> Votre demande et les informations relatives à la fonction sont envoyées au LLM. Cela signifie que l'IA voit :</p><ul><li><p><strong>La requête de l'utilisateur</strong>: Votre instruction en langage clair.</p></li><li><p><strong>Fonctions disponibles &amp; descriptions</strong>: Détails sur les fonctions de chaque outil afin de pouvoir choisir le bon.</p></li><li><p><strong>Contexte/Info historique de la conversation</strong>: Comme il s'agit d'une conversation, il se souvient de ce qui a été dit auparavant.</p></li></ul></li><li><p><strong>Appel de fonction &amp; réponse :</strong> L'IA détermine quelle fonction appeler, transmet les bons paramètres (comme le nom de votre projet), puis la fonction est exécutée. La réponse vous est renvoyée dans un format convivial.</p></li></ul><p>En bref, nous envoyons à la fois votre requête en langage naturel et une liste de descriptions détaillées d'outils au mécanisme d'apprentissage tout au long de la vie afin qu'il puisse "comprendre" et choisir l'action appropriée à votre demande.</p><h3>Mise en place de l'agent d'intelligence artificielle</h3><h4>Prérequis :</h4><p>Avant d'exécuter l'agent AI, assurez-vous que les éléments suivants sont en place :</p><ol><li><p><strong>Python (v3.7 ou plus récent)</strong> installé.</p></li><li><p><strong>Compte Elasticsearch serverless</strong> configuré sur Elastic Cloud.</p></li><li><p><strong>Compte OpenAI</strong> pour interagir avec le modèle linguistique.</p></li></ol><h4>Les étapes :</h4><p><strong>1. Clonez le référentiel :</strong></p>git clone https://github.com/elastic/elasticsearch-labs/supporting-blog-content/serverless-ai-agent
cd serverless-ai-agent<p><strong>2. Créer un environnement virtuel (facultatif mais recommandé) :</strong> Si vous êtes confronté à des problèmes liés à l'environnement, vous pouvez créer un environnement virtuel pour l'isoler :</p>python -m venv venv
source venv/bin/activate  # On Windows, use venv\Scripts\activate<p><strong>3. Installez les dépendances :</strong> Assurez-vous que toutes les dépendances requises sont installées en exécutant le programme :</p>pip install -r requirements.txt<p><strong>4. Configurez votre environnement :</strong> Créez un fichier .env à la racine du projet avec les variables suivantes. Voici un exemple de fichier <code>.env.example</code> pour vous aider :</p>ES_URL=your_elasticsearch_api_url  # The base URL for your Elasticsearch service (e.g., https://your-cluster-id.es.region.aws.elastic-cloud.com)
API_KEY=your_elasticsearch_api_key  # Your API key for Elasticsearch
REGION=your_region  # Example: aws-eu-west-1
OPENAI_API_KEY=your_openai_api_key  # Your OpenAI API key<p>Assurez-vous que vous disposez des valeurs correctes pour <code>ES_URL</code>, <code>API_KEY</code>, et <code>OPENAI_API_KEY</code>. Vous trouverez vos clés API dans les tableaux de bord respectifs des services.</p><p><strong>5. Fichier de projets :</strong> l'outil utilise un fichier <code>projects.json</code> pour stocker vos correspondances de projets (noms de projets et détails). Ce fichier sera créé automatiquement s'il n'existe pas déjà.</p><h3>Exécution de l'agent d'intelligence artificielle</h3>python main.py<p>Vous verrez apparaître une invite comme celle-ci :</p>Welcome to the Serverless Project AI Agent Tool!
You can ask things like:
 - 'Create a serverless project named my_project'
 - 'Delete the serverless project named my_project'
 - 'Get the status of the serverless project named my_project'
 - 'Get the details of the serverless project named my_project'<p>Tapez votre commande et l'agent d'intelligence artificielle fera son travail ! Lorsque vous avez terminé, tapez <code>exit</code> ou <code>quit</code> pour partir.</p><h3>Quelques détails supplémentaires</h3><ul><li><p><strong>Intégration du LLM</strong>: Le LLM reçoit à la fois votre requête et des descriptions détaillées de chaque fonction disponible. Cela l'aide à comprendre le contexte et à décider, par exemple, s'il faut appeler <code>create_ess_project</code> ou <code>delete_ess_project</code>.</p></li><li><p><strong>Description des outils</strong>: Chaque outil de fonction (créé à l'aide de FunctionTool.from_defaults) a une description sympathique. Cette description est incluse dans l'invite envoyée au LLM afin qu'il "sache" quelles actions sont disponibles et ce que chaque action attend.</p></li><li><p><strong>Persistance</strong>: Vos projets et leurs détails sont enregistrés dans projects.json, afin de ne pas avoir à ressaisir les informations à chaque fois.</p></li><li><p><strong>Journalisation verbeuse</strong>: L'agent est configuré en mode verbeux, ce qui est idéal pour le débogage et pour voir comment vos instructions sont traduites en appels de fonction.</p></li></ul><h3>Exemple d'utilisation d'un agent IA Elasticsearch</h3>python main.py 

Welcome to the Serverless Project AI Agent Tool!

You can ask things like:
 - 'Create a serverless project named my_project'
 - 'Delete the serverless project named my_project'
 - 'Get the status of the serverless project named my_project'
 - 'Get the details of the serverless project named my_project'

User: Create a serverless project named my-february-test
Added user message to memory: Create a serverless project named my-february-test

=== Calling Function ===
Calling function: create_ess_project with args: {"project_name":"my-february-test"}
========================


Agent: The serverless Elasticsearch project named "my-february-test" has been created successfully. Here are the details:

- **Project ID:** &lt;&gt;&gt;
- **Elasticsearch Endpoint:** [https://my-february-test-ccc399.es.eu-west-1.aws.qa.elastic.cloud](https://my-february-test-ccc399.es.eu-west-1.aws.qa.elastic.cloud)
- **Kibana Endpoint:** [https://my-february-test-ccc399.kb.eu-west-1.aws.qa.elastic.cloud](https://my-february-test-ccc399.kb.eu-west-1.aws.qa.elastic.cloud)

User: get my-february-test status
Added user message to memory: get my-february-test status

=== Calling Function ===
Calling function: get_ess_project_status with args: {"project_name":"my-february-test"}
========================

Agent: The status of the "my-february-test" project is currently **initializing**.

User: get my-february-test info
Added user message to memory: get my-february-test info

=== Calling Function ===
Calling function: get_ess_project_details with args: {"project_name":"my-february-test"}
========================

Agent: Here are the details for the "my-february-test" project:

- **Project Name:** my-february-test
- **Alias:** my-february-test-ccc399
- **Cloud ID:** ""
- **Project ID:** ""
- **Region ID:** aws-eu-west-1
- **Created At:** 2025-02-12T15:42:00.530177619Z
- **Created By:** 571213384
- **Organization ID:** ""
- **Type:** Elasticsearch
- **Optimized For:** General Purpose
- **Search Lake:**
  - **Boost Window:** 7
  - **Search Power:** 100
- **Endpoints:**
  - **Elasticsearch:** https://my-february-test-ccc399.es.eu-west-1.aws.qa.elastic.cloud
  - **Kibana:** https://my-february-test-ccc399.kb.eu-west-1.aws.qa.elastic.cloud
- **Credentials:**
  - **Username:** ""
  - **Password:** ""

Please ensure to keep the credentials secure.

User: please delete the my-february-test project
Added user message to memory: please delete the my-february-test project

=== Calling Function ===
Calling function: delete_ess_project with args: {"project_name":"my-february-test"}
========================

Agent: The "my-february-test" project has been deleted successfully.<p></p>]]></content:encoded>
    <link>https://www.elastic.co/search-labs/blog/serverless-elasticsearch-ai-agent</link>
    <guid isPermaLink="true">https://www.elastic.co/search-labs/blog/serverless-elasticsearch-ai-agent</guid>
    <category><![CDATA[Elastic Cloud Serverless]]></category>
    <category><![CDATA[IA agentique]]></category>
    <dc:creator><![CDATA[Fram Souza]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt88526af16bafdb7c/6a17d7807f6f15825dc0998d/d11e1ba058784ec92b8953fb8db62e1bad21c210-720x420.jpg" length="0" type="image/jpeg"/>
    <pubDate>Tue, 04 Mar 2025 00:00:00 GMT</pubDate>
  </item>
  <item>
    <title><![CDATA[Stateless - votre nouvel état de recherche avec Elasticsearch]]></title>
    <description><![CDATA[Découvrez Elasticsearch stateless et explorez l'architecture sans état, qui permet d'améliorer les performances et de réduire les coûts.]]></description>
    <content:encoded><![CDATA[<p>Avec Elasticsearch sans état, nous investissons dans la construction d'une nouvelle architecture entièrement native pour repousser les limites de l'échelle et de la vitesse. Dans ce blog, nous explorons notre point de départ, l'avenir d'Elasticsearch avec l'introduction d'une architecture sans état et les détails de cette architecture.</p><h2>Où nous avons commencé</h2><p>La première version d'<a href="https://www.elastic.co/what-is/elasticsearch">Elasticsearch</a> a été publiée en 2010 en tant que moteur de recherche évolutif distribué permettant aux utilisateurs de rechercher rapidement des informations critiques et de les faire remonter à la surface. Douze ans et plus de 65 000 modifications plus tard, Elasticsearch continue de fournir aux utilisateurs des solutions éprouvées à une grande variété de problèmes de recherche. Grâce aux efforts de plus de 1 500 contributeurs, dont des centaines d'employés d'Elastic à temps plein, Elasticsearch a constamment évolué pour relever les nouveaux défis qui se présentent dans le domaine de la recherche.</p><p>Au début de la vie d'Elasticsearch, lorsque des problèmes de perte de données ont été soulevés, l'équipe d'Elastic a entrepris un <a href="https://www.elastic.co/blog/a-new-era-for-cluster-coordination-in-elasticsearch">effort pluriannuel</a> pour réécrire le système de coordination des clusters afin de garantir que les données reconnues sont stockées en toute sécurité. Lorsqu'il est apparu clairement que la gestion des index dans les grands clusters était un problème, l'équipe a travaillé à la mise en œuvre d'une <a href="https://www.elastic.co/blog/elasticsearch-data-lifecycle-management-with-data-tiers">solution ILM</a> complète pour automatiser ce travail en permettant aux utilisateurs de prédéfinir des modèles d'index et des actions de cycle de vie. Les utilisateurs ayant constaté la nécessité de stocker des quantités importantes de données métriques et de séries chronologiques, diverses fonctionnalités telles qu'une meilleure compression ont été ajoutées afin de réduire la taille des données. Comme le coût de stockage pour la recherche de grandes quantités de données froides augmentait, nous avons investi dans la création d'<a href="https://www.elastic.co/blog/introducing-elasticsearch-searchable-snapshots">instantanés consultables (Searchable Snapshots</a> ) comme moyen de rechercher des données d'utilisateur directement sur des magasins d'objets à faible coût.</p><p>Ces investissements jettent les bases de la prochaine évolution d'Elasticsearch. Avec la croissance des services cloud-native et des nouveaux systèmes d'orchestration, nous avons décidé qu'il était temps de faire évoluer Elasticsearch pour améliorer l'expérience de travail avec les systèmes cloud-native. Nous pensons que ces changements offrent des possibilités d'amélioration des opérations, des performances et des coûts lors de l'exécution d'Elasticsearch sur <a href="https://www.elastic.co/cloud/">Elastic Cloud.</a></p><h2>Où nous allons - Adopter une architecture sans état</h2><p>L'une des principales difficultés rencontrées lors de l'exploitation ou de l'orchestration d'Elasticsearch réside dans le fait qu'il dépend de nombreux éléments d'état persistants, et qu'il s'agit donc d'un système avec état. Les trois éléments principaux sont le translog, le magasin d'index et les métadonnées de la grappe. Cet état signifie que le stockage doit être persistant et ne peut être perdu lors du redémarrage ou du remplacement d'un nœud.</p><p>L'architecture Elasticsearch existante sur Elastic Cloud doit dupliquer l'indexation sur plusieurs zones de disponibilité pour assurer la redondance en cas de panne. Nous avons l'intention de transférer la persistance de ces données des disques locaux vers un magasin d'objets, comme AWS S3. En nous appuyant sur des services externes pour le stockage de ces données, nous supprimerons le besoin de réplication de l'indexation, ce qui réduira considérablement le matériel associé à l'ingestion. Cette architecture offre également des garanties de durabilité très élevées grâce à la manière dont les magasins d'objets en nuage tels que AWS S3, GCP Cloud Storage et Azure Blob Storage répliquent les données à travers les zones de disponibilité.</p><p>Le fait de décharger le stockage de l'index dans un service externe nous permettra également de réarchitecturer Elasticsearch en séparant les responsabilités d'indexation et de recherche. Au lieu d'avoir des instances primaires et répliquées gérant les deux charges de travail, nous avons l'intention d'avoir un niveau d'indexation et un niveau de recherche. La séparation de ces charges de travail permettra de les dimensionner indépendamment et de mieux cibler le choix du matériel en fonction des cas d'utilisation respectifs. Il permet également de résoudre un problème de longue date, à savoir que la charge de recherche et la charge d'indexation peuvent avoir un impact l'une sur l'autre.</p><p>Après une phase expérimentale de plusieurs mois, nous sommes convaincus que ces services de stockage d'objets répondent aux exigences que nous envisageons pour le stockage des index et des métadonnées des grappes. Nos tests et benchmarks indiquent que ces services de stockage peuvent répondre aux besoins d'indexation élevés des plus grands clusters que nous avons vus dans Elastic Cloud. En outre, la sauvegarde des données dans le magasin d'objets réduit les coûts d'indexation et permet de régler facilement les performances de la recherche. Pour rechercher des données, Elasticsearch utilisera le modèle Searchable Snapshots, qui a fait ses preuves, dans lequel les données sont conservées en permanence dans le magasin d'objets natif du nuage et les disques locaux sont utilisés comme caches pour les données auxquelles on accède fréquemment.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltf17ddc7c69dc6e76/6a17d9f563baff2cc5741b02/e1d7b7b36bd1bbf906d50c3b873bfe2e1acd7fb3-1440x805.png" alt="" /><p>Pour faciliter la différenciation, nous décrivons notre modèle existant comme étant la réplication "de nœud à nœud". Dans l'étage chaud de ce modèle, l'étage primaire et l'étage réplique effectuent tous deux les mêmes tâches lourdes pour gérer l'ingestion et répondre aux demandes de recherche. Ces nœuds sont "stateful" en ce sens qu'ils s'appuient sur leurs disques locaux pour conserver en toute sécurité les données des ensembles qu'ils hébergent. En outre, les cartes primaires et les cartes répliques communiquent en permanence pour rester synchronisées. Pour ce faire, ils répliquent les opérations effectuées sur le groupe primaire vers le groupe réplique, ce qui signifie que le coût de ces opérations (CPU, principalement) est supporté pour chaque réplique spécifiée. Les mêmes unités de stockage et nœuds qui effectuent ce travail pour l'ingestion servent également à répondre aux demandes de recherche, de sorte que le dimensionnement et la mise à l'échelle doivent être effectués en tenant compte des deux charges de travail.</p><p>Au-delà de la recherche et de l'acquisition de données, les unités dans le modèle de réplication nœud à nœud gèrent d'autres responsabilités intensives, telles que la fusion de segments Lucene. Bien que cette conception ait ses mérites, nous avons vu beaucoup d'opportunités basées sur ce que nous avons appris avec nos clients au fil des ans et sur l'évolution de l'écosystème plus large de l'informatique dématérialisée.</p><p>La nouvelle architecture permet de nombreuses améliorations immédiates et futures :</p><ol><li><p>Il est possible d'augmenter considérablement le débit d'ingestion sur le même matériel ou, pour voir les choses autrement, d'améliorer considérablement l'efficacité pour la même charge de travail d'ingestion. Cette augmentation provient de la suppression de la duplication des opérations d'indexation pour chaque réplique. Les opérations d'indexation gourmandes en ressources humaines n'ont lieu qu'une seule fois au niveau de l'indexation, qui achemine ensuite les segments résultants vers un magasin d'objets. À partir de là, les données sont prêtes à être consommées telles quelles par le niveau de recherche.</p></li><li><p>Vous pouvez séparer le calcul du stockage pour simplifier la topologie de votre cluster. Aujourd'hui, Elasticsearch dispose de plusieurs niveaux de données (contenu, chaud, tiède, froid et gelé) pour faire correspondre les données au profil du matériel. Le niveau "chaud" est destiné à la recherche en temps quasi réel et le niveau "gelé" est destiné aux données moins fréquemment recherchées. Bien que ces niveaux apportent de la valeur, ils augmentent également la complexité. Dans la nouvelle architecture, les niveaux de données ne seront plus nécessaires, ce qui simplifiera la configuration et le fonctionnement d'Elasticsearch. Nous séparons également l'indexation de la recherche, ce qui réduit encore la complexité et nous permet de faire évoluer les deux charges de travail de manière indépendante.</p></li><li><p>Vous pouvez réduire les coûts de stockage au niveau de l'indexation en diminuant la quantité de données qui doivent être stockées sur un disque local. Actuellement, Elasticsearch doit stocker une copie complète du shard sur les nœuds chauds (à la fois primaires et répliqués) à des fins d'indexation. Avec l'approche sans état qui consiste à indexer directement le magasin d'objets, seule une partie de ces données locales est nécessaire. Pour les cas d'utilisation de type append only, seules certaines métadonnées devront être stockées pour l'indexation. Cela permettra de réduire considérablement le stockage local nécessaire à l'indexation.</p></li><li><p>Vous pouvez réduire les coûts de stockage associés aux requêtes de recherche. En faisant du modèle des instantanés consultables le mode natif de recherche des données, le coût de stockage associé aux requêtes de recherche diminuera de manière significative. En fonction des besoins des utilisateurs en matière de latence de recherche, Elasticsearch permettra des ajustements pour augmenter la mise en cache locale des données fréquemment demandées.</p></li></ol><h2>Analyse comparative - 75% amélioration du débit d'indexation</h2><p>Afin de valider cette approche, nous avons mis en œuvre une vaste démonstration de faisabilité dans laquelle les données n'étaient indexées que sur un seul nœud et la réplication était assurée par des magasins d'objets dans le nuage. Nous avons constaté que nous pouvions <strong>améliorer le débit d'indexation de 75%</strong> en supprimant la nécessité de dédier du matériel à la réplication de l'indexation. En outre, le coût de l'unité centrale associé à la simple extraction des données du magasin d'objets était bien inférieur à l'indexation des données et à leur écriture locale, comme c'est le cas aujourd'hui pour la couche chaude. Cela signifie que les nœuds de recherche pourront consacrer entièrement leur CPU à la recherche.</p><p>Ces tests de performance ont été réalisés sur un cluster de deux nœuds avec les trois principaux fournisseurs de clouds publics (AWS, GCP et Azure). Nous avons l'intention de continuer à développer des benchmarks plus importants au fur et à mesure de la mise en place d'une implémentation sans état de la production.</p><p><strong>Débit d'indexation</strong></p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt4a44b141e077a8cf/6a17d9f7445de982084cffa9/2c3c94b38a5c816a720112851b4a497b4176c285-593x270.png" alt="" /><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt8dfd035e67eaf0a8/6a17d9f9e3179127802d56d5/ee236cd455e8fa8f4af62a0f8557a5e907deffbf-596x270.png" alt="" /><p><strong>Utilisation de l'unité centrale</strong></p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt13df63861f1149a6/6a17d9fa414c643b05945026/76632a9211a4762e3559ab498beb5381b7d441d2-547x329.png" alt="" /><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltfd352e4ebd0a1417/6a17d9fcbe60863c0c0045e0/62dd9063a05d5841e196a5abf39db7e9c990fb01-547x326.png" alt="" /><h2>Apatrides pour nous, économies pour vous</h2><p>L'architecture sans état d'Elastic Cloud vous permettra de réduire la surcharge d'indexation, de faire évoluer indépendamment l'ingestion et la recherche, de simplifier la gestion des niveaux de données et d'accélérer les opérations, telles que la mise à l'échelle ou la mise à niveau. Il s'agit de la première étape vers une modernisation substantielle de la plateforme Elastic Cloud.</p><h2>Participez à notre vision d'Elasticsearch sans état d'âme</h2><p>Vous souhaitez tester cette solution avant tout le monde ? Vous pouvez nous contacter sur <a href="https://discuss.elastic.co/">discuss</a> ou sur le <a href="https://ela.st/slack">canal slack de notre communauté.</a> Nous serions ravis de recevoir vos commentaires pour nous aider à définir l'orientation de notre nouvelle architecture.</p>]]></content:encoded>
    <link>https://www.elastic.co/search-labs/blog/stateless-your-new-state-of-find-with-elasticsearch</link>
    <guid isPermaLink="true">https://www.elastic.co/search-labs/blog/stateless-your-new-state-of-find-with-elasticsearch</guid>
    <category><![CDATA[Recherche ML]]></category>
    <category><![CDATA[Elastic Cloud Serverless]]></category>
    <dc:creator><![CDATA[Leaf Lin,Tim Brooks,Quin Hoxie]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltcc6aaa7d1d08f8d5/6a17d9c94b055d1ca0432084/dd0e2f3d452a288a185558102c705c60fdf77ad9-1440x840.png" length="0" type="image/png"/>
    <pubDate>Thu, 06 Oct 2022 00:00:00 GMT</pubDate>
  </item>
  </channel>
</rss>