Besoin de rien Envie de Search - Presentation Lucene Solr ElasticSearchfrancelabs
Cette présentation donne un comparatif sur les technologie de recherche open source que sont Apache Solr et ElasticSearch. Après avoir introduit brièvement les notions de moteur de recherche open source pour entreprise, Lucene, Solr et ElasticSearch seront expliqués.
Besoin de rien Envie de Search - Presentation Lucene Solr ElasticSearchfrancelabs
Cette présentation donne un comparatif sur les technologie de recherche open source que sont Apache Solr et ElasticSearch. Après avoir introduit brièvement les notions de moteur de recherche open source pour entreprise, Lucene, Solr et ElasticSearch seront expliqués.
[Breizhcamp 2015] MongoDB et Elastic, meilleurs ennemis ?Sébastien Prunier
MongoDB ? Elastic ? Ces technologies sont elles faites pour être concurrentes ?
C'est l'histoire d'une rencontre entre deux technologies. A l'occasion de cette conférence vous apprendrez comment MongoDB et Elastic peuvent se compléter, comment tirer partie du meilleur de chaque monde : "le bon outil pour le bon usage".
Enfin, nous vous présenterons les principaux patterns d'architecture permettant d'intégrer ces deux technologies.
Oxalide Workshop #3 - Elasticearch, an overviewLudovic Piot
Après les 2 précédents ateliers Varnish, c’est au tour d’ElasticSearch de passer entre les mains Ludovic Piot (Oxalide) avec Edouard Fajnzilberg (Kernel42) . Ils ont déroulé le sujet avec les points de vue Syadmin et Dev.
Subject: Oxalide's workshop about an overview of elasticsearch.
Date: 10-mar-2016
Speakers: Edouard Fajnzilberg (Kernel42) and Ludovic Piot (Oxalide)
Language: french
Video capture: https://youtu.be/3bPoeVoUdFI
Main topics:
When do we use elasticsearch?
Why is it cool?
Introduction to Head plugin
Introduction to the REST API
Introduction to the Query DSL and the JSON document
How to configure a cluster?
How does it compare to a SGBD-R?
How does a reversed-index work?
An explaination of Lucene Segments
An explaination of the cluster architecture
An overview of the mappings (principles, dynamic mapping and templates)
An overview of the aggregations (buckets, metrics, multiple, nestable, sortable, aggregation types, use cases, pipelines)
An overview of the ecosystem (Sense, Logstash, Beats, Kibana, TimeLion, Marvel, Watcher, Shield, Head, Kopf, HQ, Inquisitor, BigDesk, SegmentSpy)
Solr + Hadoop - Fouillez facilement dans votre système Big Datafrancelabs
Un système Hadoop a pour but de facilement gérer le Big Data, que ce soit en termes de stockage comme en termes de calculs. Il ne se focalise pas sur l’exploration des données qu’il héberge. Le moteur de recherche Apache Solr devient l’outil de recherche de référence dans l’écosystème Hadoop, adopté par Cloudera et HortonWorks. Dans cette intervention, ils présentent d’abord un historique des 2 projets, pour bien comprendre leurs liens. Ils expliquent ensuite les différents niveaux d’intégrations possibles, et ils terminent par une démonstration d’intégration, afin de comprendre les avantages d’utiliser Solr pour explorer le big data d’un Hadoop.
Recherche full-text et recommandation, deux mondes à part? Nous verrons qu’il est possible de marier Lucene (Elastic Search/Solr) et filtrage collaboratif afin de produire un système de recommandation flexible et scalable. Cela passera par un aperçu des dernières sorties : la plateforme Confluent (Kafka) ainsi que Mahout 0.10 (avec Samsara).
Objectif général : Découvrir l'un des SGBDs noSQL les plus utilisés
Objectifs spécifiques :
Installer et démarrer un serveur et un client mongo
Créer une base de données dans un serveur mongo
Créer une collection dans une base de données mongo
Connaître les principaux types de données
Insérer des données
Consulter des données
Modifier des données
Supprimer des données
Un Voyage dans le Cloud: Les Meilleures Pratiques Pour Démarrer Dans Le Cloud...Amazon Web Services
Cette présentation propose une vue d'ensemble sur l'utilisation du Cloud AWS dans le but de rendre vos infrastructures plus flexibles, disponibles et économiques tout en améliorant la sécurité de vos applications.
[Breizhcamp 2015] MongoDB et Elastic, meilleurs ennemis ?Sébastien Prunier
MongoDB ? Elastic ? Ces technologies sont elles faites pour être concurrentes ?
C'est l'histoire d'une rencontre entre deux technologies. A l'occasion de cette conférence vous apprendrez comment MongoDB et Elastic peuvent se compléter, comment tirer partie du meilleur de chaque monde : "le bon outil pour le bon usage".
Enfin, nous vous présenterons les principaux patterns d'architecture permettant d'intégrer ces deux technologies.
Oxalide Workshop #3 - Elasticearch, an overviewLudovic Piot
Après les 2 précédents ateliers Varnish, c’est au tour d’ElasticSearch de passer entre les mains Ludovic Piot (Oxalide) avec Edouard Fajnzilberg (Kernel42) . Ils ont déroulé le sujet avec les points de vue Syadmin et Dev.
Subject: Oxalide's workshop about an overview of elasticsearch.
Date: 10-mar-2016
Speakers: Edouard Fajnzilberg (Kernel42) and Ludovic Piot (Oxalide)
Language: french
Video capture: https://youtu.be/3bPoeVoUdFI
Main topics:
When do we use elasticsearch?
Why is it cool?
Introduction to Head plugin
Introduction to the REST API
Introduction to the Query DSL and the JSON document
How to configure a cluster?
How does it compare to a SGBD-R?
How does a reversed-index work?
An explaination of Lucene Segments
An explaination of the cluster architecture
An overview of the mappings (principles, dynamic mapping and templates)
An overview of the aggregations (buckets, metrics, multiple, nestable, sortable, aggregation types, use cases, pipelines)
An overview of the ecosystem (Sense, Logstash, Beats, Kibana, TimeLion, Marvel, Watcher, Shield, Head, Kopf, HQ, Inquisitor, BigDesk, SegmentSpy)
Solr + Hadoop - Fouillez facilement dans votre système Big Datafrancelabs
Un système Hadoop a pour but de facilement gérer le Big Data, que ce soit en termes de stockage comme en termes de calculs. Il ne se focalise pas sur l’exploration des données qu’il héberge. Le moteur de recherche Apache Solr devient l’outil de recherche de référence dans l’écosystème Hadoop, adopté par Cloudera et HortonWorks. Dans cette intervention, ils présentent d’abord un historique des 2 projets, pour bien comprendre leurs liens. Ils expliquent ensuite les différents niveaux d’intégrations possibles, et ils terminent par une démonstration d’intégration, afin de comprendre les avantages d’utiliser Solr pour explorer le big data d’un Hadoop.
Recherche full-text et recommandation, deux mondes à part? Nous verrons qu’il est possible de marier Lucene (Elastic Search/Solr) et filtrage collaboratif afin de produire un système de recommandation flexible et scalable. Cela passera par un aperçu des dernières sorties : la plateforme Confluent (Kafka) ainsi que Mahout 0.10 (avec Samsara).
Objectif général : Découvrir l'un des SGBDs noSQL les plus utilisés
Objectifs spécifiques :
Installer et démarrer un serveur et un client mongo
Créer une base de données dans un serveur mongo
Créer une collection dans une base de données mongo
Connaître les principaux types de données
Insérer des données
Consulter des données
Modifier des données
Supprimer des données
Un Voyage dans le Cloud: Les Meilleures Pratiques Pour Démarrer Dans Le Cloud...Amazon Web Services
Cette présentation propose une vue d'ensemble sur l'utilisation du Cloud AWS dans le but de rendre vos infrastructures plus flexibles, disponibles et économiques tout en améliorant la sécurité de vos applications.
Dans le cadre du projet Stream for Good
MIAGE Sorbonne -- Atelier de Veille technologique
Steeven Alliel, Abdel Benamara, David Ekchajzer, Philippe Fidalgo, Mathieu Ridet, Sophia Yalap
Pour vraiment profité des avantages du Cloud nous devons revoir comment concevoir nos applications. Heureusement il est possible d’obtenir une architecture efficace rapidement en suivant quelques bons conseils. Dans cette présentation je vais montrer quelques Design Patterns qui permettront à vos applications d’être plus performantes en général (et pas seulement sur le Cloud!).
AWS Summit Paris - Track 2 - Session 2 - Préparez-vous à l'imprévuAmazon Web Services
Le Cloud Computing offre de nombreux avantages, tels que la possibilité de passer vos applications à l'échelle en fonction de vos besoins. Si vous avez une nouvelle application et que vous souhaitez utiliser le Cloud AWS, vous serez amené à vous poser la question suivante : "Par où dois-je commencer ?". Rejoignez-nous sur cette session pour comprendre les bonnes pratiques qui vous permettront de passer de 0 à plusieurs millions d'utilisateurs. Nous vous montrerons comment combiner au mieux les services AWS, prendre les bonnes décisions pour architecturer vos applications et déployer des infrastructure scalables dans le Cloud.
Devops is partially a technology change. But what's its future ? BigData ? analytics ? does security will kill it? let's took 5 minutes to think about the challenges.
Retour d'expérience sur le passage d'une architecture monolithique à une architecture en microservice, les problèmes rencontrés et ce qu'il aurait fallu savoir et mettre en place avant de se lancer :)
http://joind.in/talk/view/11245
Dans notre économie numérique, ce n’est pas les gros qui mangent les petits, c’est les rapides qui mangent les lents. Les méthodes de gestion de projets informatiques traditionnelles ont mené à des échecs spectaculaires en termes de délais et de gestion de risque. En parallèle, des leaders du web tels qu’Amazon, Netflix ou Google ont atteint une vélocité incroyable grâce à une implémentation audacieuse des principes d’agilité. Parmi ces différents mouvements agiles, DevOps rassemble des experts du développement et de l’opérationnel sur la manière dont doit être implémentée l’agilité, de la conception technique jusqu’à la mise en production, pour atteindre une vélocité maximale. Dans cette conférence, je partagerai l’expérience de Theodo sur plusieurs projets de grande envergure (jusqu’à 15 développeurs). Je présenterai ce que DevOps signifie pour nous et comment il nous aide à livrer nos projets de manière plus rapide et plus fiable. Nous passerons en revue les challenges auxquels nous avons été confrontée, tant d’un point de vue management, technique ou culturel et présenterons les solutions que nous avons trouvées, basées sur des technologies puissantes : Symfony2, OpenStack, Puppet, Vagrant, Capifony, Jenkins, Behat et d’autres…
"J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi...Microsoft
Windows Azure est la solution de Cloud Public de Microsoft, ouverte à tous les systèmes d'exploitation Windows ou Linux et à tous les langages: Java, PHP, Python, .Net etc. L'objectif de cette session est de montrer au travers d'un cas concret l'ouverture de Windows Azure à des solutions non Microsoft. Venez découvrir comment Kompass International, leader de l'information marketing B2B, a migré l'ensemble de ses applications business, codées en Java sur Windows Azure.
Speakers : Pierrick PETAIN (Kompass), Thomas Conté (Microsoft)
2. CrossKnowlegde
Qui sommes nous ?
CrossKnowledge est un leader mondial de la formation à distance pour le développement des
compétences en leadership et en management, en s'appuyant sur les nouvelles technologies.
Fondée en 2000, CrossKnowledge est une société internationale avec plus de 350 personnes.
Le département R&D se trouve à Sophia et compte près de 100 personnes.
Nous avons des bureaux en Belgique, Brésil, France, Allemagne, Italie, Pays-Bas, Espagne, Suisse,
Royaume-Uni, États-Unis, et des partenariats stratégiques au Maroc, la Finlande, l'Inde, la Chine, le
Japon, le Canada et beaucoup d'autres.
Depuis le 1er mai 2014, CrossKnowledge fait partie du groupe Wiley.
4. CrossKnowlegde
Notre produit
CrossKnowledge fournit une suite elearning en mode ‘Software As A Service’.
Il s'agit d'une application PHP basée sur LAMP permettant d’établir des parcours et des sessions pour
des apprenants, avec mise à disposition de contenus fournis par CrossKnowledge ou par le client.
5. Besoins
Le moteur de recherche inclu dans l'application CKLS s'appuyait, avant 05/2015, sur des requêtes SQL
effectuées directement dans la base de données dédiée au client. Il existait, en option, un moteur de
recherche basé sur un backend Solr standalone.
Pour accompagner notre croissance nous devions satisfaire certains critères :
➢ Respecter un environnement multi langues (19 langues officiellement supportés et en tout une 40aine de
langues ou localisations existantes sur le parc de clients) et une haute disponibilité du service car il
devait être implémenté non plus sous forme d'option mais comme une fonctionnalité du coeur de
l'application.
➢ Le cloisonement entre chaque client devait lui aussi être satisfait. Il existe des restrictions de visibilités
(certains contenus ne doivent pas être vus par certains apprenants (Ex. la stratégie de licenciement de
3000 personnes).
➢ La pertinence des recherches.
6. Choix de la solution
Audit
Nous avons effectué un audit des solutions disponibles sur le marché :
CloudSearch (Amazon): choix orienté SaaS qui a vite été éliminé pour des raisons de
limitations.
Elasticsearch: produit éliminé pour sa jeunesse (v1.0 sortie 2014) et sa communauté peu
développée à cette époque.
SolrCloud: choix final car la solution répondait à nos exigences en terme de HA et profitait par
ailleurs d’une communauté conséquente.
7. Proof Of Concept
Une fois le choix établi, nous avons donc élaboré une plateforme de POC en partant du principe que
notre base client (~500) devait doubler assez rapidement.
Le POC a donc eu lieu sur un maximum de 1200 collections chacune chargée dans un premier temps
à vide et ensuite avec les données de notre plus gros client en terme de contenus.
Nos infrastructures s’appuyant essentiellement sur des fournisseurs d’IaaS, notre choix s’est porté
vers AWS d’Amazon repondant déjà à nos exigences de disponibilité, de certification et de
géolocalisation.
8. Proof Of Concept
Problématiques rencontrées
➢ Obligation de passer par le mode asynchrone pour créer ou effacer des collections en masse (à
cause des timeout ).
➢ Temps de chargement des collections (d'un node) > 20min.
➢ Le reload de collections avec un nombre important de collections n'est pas préconisé car cela est
très gourmand et créé des timeout. Du coup il est impossible de savoir quelles collections ont été
rechargées.
➢ Lors d'un redémarrage des box certains shards restent en état « down » : obligation de faire une
requête WS (REQUESTRECOVERY) sur les shards impliqués. Ceci engendre l'ecriture de scripts.
(problème de cohérence du fichier clusterstate.json)
9. Proof Of Concept
Problématiques rencontrées
➢ Il y a une des situations où Zookeeper a déconnecté des cores. Dans cette situation particulière
ce qui peut se passer est que la taille de l'objet de l'overseer est devenu trop grande et
Zookeeper déconnecte toute connexion tentant de regarder cet objet, dans ce cas là il a fallu:
- se connecter au leader ZK.
- augmenter la taille du buffer (znode = 1M par défaut) de la JMV « -Djute.maxbuffer » pour
pouvoir lire le fichier /overseer/queue et ensuite l'effacer (rmr /overseer/queue).
- redémarrer les solr.
10. Proof Of Concept
Problématiques rencontrées
➢ Fonctionalités internes de type « status » du quorum (ZK) indisponibles à cause du trop grand nombre de collections.
➢ Beaucoup d'opérations manuelles lors de l'ajout d'un node :
- requête WS (addreplica) * le nombre de collections * nombre de shards.
- obligation de scripter l'ajout d'un node.
➢ Crash du quorum lorsque la JVM avoisine 95% d’utilisation.
➢ Problématique sur l'utilisation de dictionnaires, celui-ci n'est pas mutualisé entre les collections, donc chaque
collection charge le/les dictionnaires ce qui abouti à un crash de la JVM. Cependant les dictionnaire sont très difficiles
à obtenir surement très chers et très lourds ( problématique au niveau znode) et non partagés sur le web.
➢ Problématique au niveau des requêtes sur Solr, nous avons été obligé d'augmenter la valeur du paramètre
« maxBooleanClauses » (maximum number of clauses in a boolean query).
11. Architecture
Architecture finale de production :
1 x Elastic Load balancer qui porte le certificat et assure l’équilibrage de
charge.
3 x t2.medium (2 x vCPU + 4G RAM) assurant les fonctions Zookeeper.
3 x m4.4xlarge (16 x vCPU + 64G RAM) assurant les fonctions Solr (JVM 32G).
614 collections, entre 200 et 300 r/s en moyenne.
12. Solr cloud architecture
SOLR 2SOLR 1
Zone 1 Zone 2 Zone 3
SOLR 3
http http
ZK1 ZK2 ZK3
Quorum
zookeeper
Load Balancerinternet
http http
https
Clients requests
http http
16. Conclusion
Malgré les problématiques rencontrées tout au long du POC, la solution SolrCloud répond à nos besoins :
➢ Séparation des données
➢ Performances (beaucoup de clients)
➢ Haute disponibilité