31 mai 2017 Sorties

Une nouvelle frontière pour Elasticsearch : Elastic Cloud Enterprise 1.0 GA

Par Haley EshaghBaha Azarmi

Elastic Cloud Enterprise (ECE) 1.0 est désormais officiellement disponible (GA). Ce nouveau produit vous permet de provisionner, surveiller et organiser une multitude de clusters Elasticsearch et d'instances Kibana comme vous le souhaitez, dans l'environnement de votre choix, à partir d'une console unique.

(Et si vous souhaitez vous lancer dès maintenant, essayez-le et faites-vous plaisir. Vous apprécierez aussi probablement notre webinar sur le sujet.)

En prévision de ce lancement, nous avons déjà parlé de l'architecture du produit, de ses avantages, et de l'audience à laquelle il se destine. À présent, nous souhaiterions examiner de plus près les raisons qui amènent les utilisateurs à adopter un produit tel que ECE.

Bon nombre de nos utilisateurs partagent les mêmes besoins. Un développeur de l'entreprise X planche sur un problème relatif aux données, tombe sur Elasticsearch, le télécharge, crée un cluster test, ingère quelques données, et hop : problème résolu. Puis un collègue en entend parler, ajoute ses données, qui, pour être prises en charge, nécessitent un plus grand cluster. Rapidement, l'entreprise X se retrouve avec des dizaines de nœuds Elasticsearch fonctionnant en production et assurant des fonctions stratégiques.

Et ceci n'est que le début.

Disons que l'entreprise X est une banque. Son cluster de production multi-nœuds prend actuellement en charge le logging pour de nombreuses applications, mais elle cherche désormais à s'équiper de nouvelles applications pour les analyses de sécurité et de transactions. De plus, les équipes marketing, des ressources humaines et SRE (ingénierie de la fiabilité du site) ont eu vent d'Elastic et ont demandé à l'essayer, ou qu'il soit mis en œuvre pour résoudre les problèmes inhérents à leur service.

C'est là que les choses deviennent intéressantes. Un problème à multiples facettes est apparu, en raison des désagréments qui découlent naturellement de la grande difficulté à gérer l'évolutivité au sein d'un cluster : cas d'utilisation multiples, utilisateurs multiples et toujours plus de données.elasticsearch-multitenant-multi-use-case-management-monitoring-orchestration.png

Cela dit, ces problèmes font partie des plus passionnants du métier, même s'ils n'en demeurent pas moins difficiles. Pour voir cela plus en détails, concentrons-nous sur deux questions (involontairement existentielles) : 1) Qui êtes-vous ? et 2) Qu'essayez-vous de faire ?

Première question : qui êtes-vous ? 

Si vous êtes utilisateur d'un cluster, les délais d'analyse et de valorisation de l’information, la rapidité de réponse, une expérience personnalisée et la satisfaction de vos attentes vous importent. Mais il est imprudent de supposer que tous les utilisateurs se ressemblent. En effet, ceux-ci ont des habitudes, des exigences et des besoins différents – chacun constituant une source potentielle de friction et de frustration.

  • Different profils d'accès. Les utilisateurs auront des cas d'utilisation différents. Certains pourront faire des recherches plein texte ou avoir besoin de suggestions et de conseils. D'autres pourront avoir besoin de réaliser de lourdes tâches d'agrégation, de logging ou de scan-and-scroll (extraction) sur des données de sécurité.

  • Differents accords de niveau de service (SLA). Lorsqu'une équipe de sécurité traque les menaces, elle préfère généralement que les résultats d'analyse ne se fassent pas attendre. Cependant, son requêtage intensif sur le cluster pourrait nuire aux attentes des autres utilisateurs en matière de niveau de service.
  • Différentes versions. Les utilisateurs n'utilisent pas tous les mêmes versions des produits Elastic. Il se peut que certains utilisent une version précise pour des raisons bien spécifiques, et les forcer à changer alors qu'ils ne sont pas prêts s'avère souvent contre-productif.

Il y a également d'autres éléments à prendre en compte, par exemple les différentes politiques de sauvegarde qui peuvent entraîner un surcroît de travail ou alourdir l'infrastructure. Ou il se peut que certains utilisateurs mettent en place de puissantes alertes conçues pour interroger une année de données, paralysant ainsi les clusters des autres utilisateurs.

Si vous êtes membre de l'équipe de production permettant à la magie Elastic d'opérer, nous tenons à vous offrir une excellente expérience utilisateur, à assurer le retour sur investissement de vos projets et services, et à veiller à ce que vous ne passiez pas votre temps à colmater les brèches. Dans cette optique, voici un ensemble de variables supplémentaires à prendre en compte.

  • Quand effectuer la maintenance. C'est l'éternelle question : quand faut-il effectuer la maintenance afin de minimiser les incidences sur le système et les utilisateurs ? Comment orchestrer les opérations en tenant compte des divers fuseaux horaires et des diverses formes d'utilisation ?
  • Mise à niveau. Un autre classique. La mise à niveau d'un utilisateur peut nuire aux performances d'un autre, qui pourrait ne pas avoir besoin (ou ne pas pouvoir effectuer) de mise à niveau.
  • L'utilisateur « bulldozer ». Il arrive que des clients internes signalent des problèmes d'accessibilité car un utilisateur exécute d'importantes requêtes et bloque ainsi l'ensemble du cluster.
  • Conformité en matière de sécurité. Certains utilisateurs ne peuvent héberger leurs données dans le même cluster que d'autres utilisateurs pour des raisons de sécurité.
  • Tout le monde aime Kibana. Actuellement, Kibana ne prend pas en charge l'architecture mutualisée. Les utilisateurs doivent donc faire tourner plusieurs instances Kibana, ce qui signifie des efforts de gestion supplémentaires.

Alors que faire ? 

Le logiciel fonctionne si bien et promet un si bel avenir à votre entreprise. Que doivent faire vos /quipes de production avant que le cluster (ou peut-être leur moral) ne s'effondre ?

elasticsearch-kibana-clusters-instances-at-scale-manage-monitor-elastic-cloud-enterprise.png

Parce que votre avenir en dépend désormais...

Une option (à vrai dire, une possibilité) : divisez le cluster. Le découper en plus petits morceaux permet d'éviter les problèmes dont nous avons parlé, mais cela a un coût.

Pour le déploiement et le provisionnement, il est fortement recommandé d'avoir recours à des outils de gestion de la configuration ou de pilotage, capables de gérer différentes versions d'Elastic sur chaque cluster (ce qui devient compliqué pour les versions antérieures à 5.x), de prendre en charge différents niveaux de services et peut-être même différents types d'infrastructure, etc.

Le terrain devient glissant : si un utilisateur obtient son propre cluster, les autres vont également vouloir le leur. Gérer les choses simples à plus petite échelle devient compliqué lorsque celles-ci se s'agglomèrent. L'équipe de production ne tardera pas à courir le risque de passer plus de temps à gérer les clusters qu'à effectuer le travail qu'elle avait initialement prévu.

Nous touchons au but. 

Voilà le genre de défis dont ECE ne fait qu'une bouchée. Il permet de répondre à tous les besoins possibles à partir d'une console unique tout en les simplifiant.

Créez un nouveau cluster, faites-le croître ou décroître à la demande, hébergez et mettez à niveau de nombreuses versions, activez Kibana et X-Pack – et il ne vous reste plus qu'à cliquer ou passer un appel API. Suivez l'intégralité du déploiement à partir d'un seul tableau de bord afin de veiller à la satisfaction de tous. Puis revenez à vos projets pour faire progresser votre entreprise.

Aujourd'hui, dès que quelqu'un souhaite essayer Elastic ou s'investir à fond dans la production, il n'y a rien de plus facile. Envie de voir si ça marche ? Créez un nouveau cluster. Vous avez besoin d'un environnement éphémère ? Pas de problème. Réclamer du matériel conforme aux normes de sécurité vous préoccupe ? Détendez-vous. (Pas besoin de vous procurer une nouvelle machine virtuelle ou une machine dédiée pour le test...) ECE gère déjà tout cela. Le projet nécessite plusieurs environnements pour gérer l'assurance qualité et la pré-production ? Parfait.

ECE a été conçu pour résoudre ces problèmes, et le fait bien. Le code source qui propulse ECE est le même que celui de notre service Elastic Cloud, avec à son actif la gestion de milliers de clusters depuis plusieurs années maintenant. Et enfin, ce produit convient parfaitement à tous ceux qui espèrent développer leur activité avec Elastic. D'ailleurs, l'un de nos premiers clients, qui possède seulement 5 clusters de production, trouve la gestion centralisée offerte par le produit avantageuse pour ses perspectives de développement futur.

Alors allez-y évaluez-le and et plongez dans les détails en consultant documentation détaillée.