Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Meetup ElasticFR - KISS : Retour d’expérience sur l’utilisation d’elasticsearch chez Canal+

Meetup ElasticFR - KISS : Retour d’expérience sur l’utilisation d’elasticsearch chez Canal+

Retour d'expérience de l'utilisation d'elasticsearch dans le cadre du projet de refonte KISS de Canal plus
#elasticsearch #cloud #devops #ELK

Erwan Deruelle

August 07, 2015
Tweet

More Decks by Erwan Deruelle

Other Decks in Programming

Transcript

  1. INTERVENANTS CONTEXTE USE-CASE 1 : RECHERCHE AGENDA 1 REX «

    KISS » - MEETUP ELASTIC - 29/07/2015 USE-CASE 2 : SUPERVISION DÉPLOIEMENT BILAN
  2. LES REVENANTS INTERVENANTS Erwan DERUELLE Architecte Technique - Consultant Search

    [email protected] @d3rwan 2 Rémy TESTEMALE Architecte [email protected] REX « KISS » - MEETUP ELASTIC - 29/07/2015
  3. CONTEXTE : LE PROJET KISS REFONTE COMPLÈTE DU SYSTÈME D’INFORMATION

    DISTRIBUTION Auparavant sur mainframe IBM (Cobol, CICS, DB2) PÉRIMÈTRE Ensemble des outils relatifs à la relation client, la facturation, la gestion des offres, la logistique, la gestion et le commissionnement des points de vente et des canaux de distribution OBJECTIFS • Apporter de l’agilité au groupe Canal+: diviser par 2 le « Time to Market » de la DSI, c'est-à-dire réduire de moitié le temps de mise en production des nouvelles fonctionnalités. (~ 6 mois sur mainframe) 3 REX « KISS » - MEETUP ELASTIC - 29/07/2015 Apporter de l’agilité au groupe Canal+: diviser par 2 le « Time to Market » de la DSI, c'est-à-dire réduire de moitié le temps de mise en production des nouvelles fonctionnalités. (~ 6 mois sur mainframe) • Homogénéiser le SI en réduisant le nombre d’outils spécifiques par canal de vente. • Remise à plat la stratégie d’externalisation de l’informatique du groupe, ré-internalisation en partie de la compétence sur un SI (qui était externalisé à 80% environ). • Approches novatrices pour Canal+ : gestion de projet agile, utilisation des ressources cloud, stratégie devops… LE NOUVEAU SI « DISTRIBUTION » DU GROUPE CANAL+ EST EN PRODUCTION DEPUIS LE 18 MAI ET L’AGILITÉ ATTENDUE EST, SEMBLE-T-IL, AU RENDEZ-VOUS NOUS RÉALISONS AUJOURD’HUI 2 RELEASES PAR MOIS, ET NOUS MONTONS DES CORRECTIFS TOUS LES 2 JOURS.
  4. CONTEXTE : LE PROJET KISS 4 REX « KISS »

    - MEETUP ELASTIC - 29/07/2015
  5. RECHERCHE AU SEIN DES RÉFÉRENTIELS « ABONNÉS » DONNÉES PERSONNELLES,

    CONTRACTUELLES, MATÉRIELLES, FINANCIÈRES… BRIQUE À PART ENTIÈRE DANS L’ARCHITECTURE ORIENTÉE « MICRO-SERVICES » TRANSVERSE A PLUSIEURS BRIQUES DU SI RECHERCHE DU TYPE « SEARCH-AS-YOU-TYPE » MISE A JOUR DE LA LISTE DES RÉSULTATS EN TEMPS RÉEL LORS DE LA SAISIE UTILISATION DE FILTRES « N-GRAM » ET « EDGE-N-GRAM » TROUVETOUT 6 MISE A JOUR DE LA LISTE DES RÉSULTATS EN TEMPS RÉEL LORS DE LA SAISIE UTILISATION DE FILTRES « N-GRAM » ET « EDGE-N-GRAM » PERTINENCE DES RÉSULTATS PROPOSER LE MEILLEUR RÉSULTAT AUX CONSEILLERS EN FONCTION DES INFORMATIONS DONT ILS DISPOSENT SIMPLE PONDÉRATION DES CHAMPS DE RECHERCHE MISE A JOUR EN TEMPS RÉEL METTRE A DISPOSITION AU PLUS TÔT LES INFORMATIONS LES PLUS FRAICHES AUX CONSEILLERS REX « KISS » - MEETUP ELASTIC - 29/07/2015
  6. ALIMENTATION ETL « MAISON » DIFFÉRENTS CONNECTEURS TRAITEMENT VERS PIVOT

    INDEXATION VERS ES MODES FULL, DELTA, OU MANUEL TROUVETOUT 7 EXPOSITION API REST EN COUPURE VALIDATION DES PARAMÈTRES REQUÊTE VERS ES FORMATAGE DE LA RÉPONSE REX « KISS » - MEETUP ELASTIC - 29/07/2015
  7. ALIMENTATION EN MODE « PULL » PLUTÔT QU’EN « PUSH

    » LA DONNÉE EST MIS A JOUR DEPUIS DIFFÉRENTES SOURCES - CERTAINES DE CES SOURCES NE SONT PAS MODIFIABLES (COBOL, PL/SQL…) - LA BDD EST DONC LE SEUL ENDROIT DU SI OU LA DONNÉE EST TOUJOURS A JOUR UNE INDEXATION EVÈNEMENTIELLE ET TEMPS-RÉEL CHAQUE MODIFICATION DE LA DONNÉE EST MARQUÉE DANS UN TABLE D’ÉVÉNEMENTS - ALIMENTATION EN MODE « DELTA » DEPUIS LA DERNIÈRE INDEXATION DE LA VISION NORMALISÉE AU NOSQL TROUVETOUT 8 DE LA VISION NORMALISÉE AU NOSQL NÉCESSITE DE RECONSTRUIRE UNE VISION DÉNORMALISÉE DEPUIS UNE BASE MASSIVEMENT NORMALISÉE - COMPLEXIFIE LES REQUÊTES SQL EN ENTRÉE (JOINTURE OUVERTE) - OU NÉCESSITE DE CONSTRUIRE UN OBJET COMPLEXE EN MÉMOIRE - OU NÉCESSITE UNE MISE A JOUR INCRÉMENTALE ET COUTEUSE DE L’INDEX QUELQUES FACTEURS LIMITANT LATENCE RÉSEAU TEMPS DE REQUÊTAGE IMPACTS SUR LA BDD REX « KISS » - MEETUP ELASTIC - 29/07/2015 EN CHIFFRES 13 indexs 2.5 Milliards de données 700Go d’espace disque Réponse < 50 ms en moyenne 30 QPS en journée
  8. TROUVETOUT Configuration du Job Reader / Writer 9 Configuration Model

    REX « KISS » - MEETUP ELASTIC - 29/07/2015
  9. SUPERVISION TECHNIQUE EAVER EDIS LASTICSEARCH B R E 13 REX

    « KISS » - MEETUP ELASTIC - 29/07/2015 OGSTASH IBANA 4 E L K
  10. KIBANA VISUALISATION DES LOGS ELASTICSEARCH INDEXATION, RECHERCHE & ANALYTICS LOGSTASH

    INDEXER - RÉCUPÉRATION DES LOGS, MISE EN FORME, ENVOI VERS ELASTICSEARCH SUPERVISION TECHNIQUE 14 EN FORME, ENVOI VERS ELASTICSEARCH REDIS BROKER - COLLECTE LES LOGS AVANT LEUR TRAITEMENT PAR LOGSTASH BEAVER - NXLOG SHIPPER - AGENT INSTALLÉ SUR CHACUN DES SERVEURS APPLICATIFS CURATOR GESTION DES INDEXS REX « KISS » - MEETUP ELASTIC - 29/07/2015
  11. BEAVER ? AGENT PYTHON PERMETTANT DE « SHIPPER » LES

    LOGS MOINS GOURMAND QUE LOGSTASH LOGSTASH-FORWARDER ENVISAGÉ DANS UN PREMIER TEMPS NON-RETENU - NECESSITE L’UTILISATION D’UN CERTIFICAT (NON-BLOQUANT EN SOIT) - UN PROBLÈME COTE SERVEUR PEUT IMPACTER (VOIRE FAIRE TOMBER) LE SERVEUR LOGSTASH - BEAVER PERMET D’ENVOYER DIRECTEMENT VERS REDIS ELASTIC…CACHE LOGSTASH PERMET D’UTILISER DIRECTEMENT LA SOLUTION REDIS EN MODE SAAS D’AMAZON SUPERVISION TECHNIQUE 15 ELASTIC…CACHE LOGSTASH PERMET D’UTILISER DIRECTEMENT LA SOLUTION REDIS EN MODE SAAS D’AMAZON PERMET DE « SIMPLIFIER » L’ARCHITECTURE EN CHIFFRES Seulement 4applicatifs en production Jusqu’à 20M de lignes par jour 14 jours de rétention 7 jours en ligne 30 dashboards, 75 recherches et 200 graphiques sur Kibana REX « KISS » - MEETUP ELASTIC - 29/07/2015
  12. SUPERVISION OPÉRATIONNELLE UN « ELK » SANS « L »

    NI « K » APPLICATION « MAISON » ... … S’APPUYANT SUR LE MOTEUR ANALYTICS D’ELASTICSEARCH UTILISATION MASSIVE DES AGRÉGATIONS 16 UTILISATION MASSIVE DES AGRÉGATIONS SOURCES DE DONNÉES MULTIPLES BASÉ SUR L’ETL « TROUVETOUT » SGBDR (ORACLE), NOSQL (MONGODB), FICHIERS (LOGS, CSV) TABLEAUX DE BORD TEMPS-RÉEL ORIENTÉ BUSINESS PROMOTIONS, COMMANDES, PROSPECTS DASHBOARD PERSONNALISABLE CHOIX DES TYPES DE GRAPHIQUES, DES SOURCES, DES AXES REX « KISS » - MEETUP ELASTIC - 29/07/2015
  13. MACHINES HÉBERGÉES SUR LE CLOUD AMAZON AWS DÉPLOIEMENT MULTI-AZ («

    AVAILABILITY ZONE ») UTILISATION DU PLUGIN ELASTICSEARCH-AWS SOLUTION SCALABLE PAR NATURE SIZING « PRODUCTION » LE JOURNAL DU HARD(WARE) 18 SIZING « PRODUCTION » CLUSTER DE 3 MACHINES INSTANCE DE TYPE M3-XLARGE OU M4-XLARGE SIZING « HORS-PRODUCTION » CLUSTER DE 1 À 3 MACHINES INSTANCE DE TYPE T2-MEDIUM À M3-XLARGE REX « KISS » - MEETUP ELASTIC - 29/07/2015
  14. INSTALLATION & DÉPLOIEMENT AUTOMATISÉ MODULES « GÉNÉRIQUES » DÉVELOPPÉS PAR

    LA COMMUNAUTÉ APPROCHE DEV-OPS 19 DÉVELOPPEMENT DE MODULES POUR LE « SPÉCIFIQUE » DE KISS APPLICATIFS « MAISON » FICHIERS DE CONFIGURATION REX « KISS » - MEETUP ELASTIC - 29/07/2015
  15. APPROCHE DEV-OPS configuration Elasticsearch Configuration par environnement 20 Installation &

    configuratio Configuration par environnement REX « KISS » - MEETUP ELASTIC - 29/07/2015
  16. BREF. UN OUTIL DE RECHERCHE TRÈS EFFICACE PLÉBISCITÉ PAR LES

    UTILISATEURS, QUE CE SOIT PAR SA SIMPLICITÉ D’USAGE OU SES PERFORMANCES UNE APPLICATION ROBUSTE & FIABLE PAS D’INCIDENT MAJEUR DE PRODUCTION DEPUIS LE DÉMARRAGE UNE GRANDE CAPACITÉ D’ABSORPTION DE CHARGE SOULAGE LE BACK-OFFICE DE LA PLUPART DES REQUÊTES DE LECTURE 22 SOULAGE LE BACK-OFFICE DE LA PLUPART DES REQUÊTES DE LECTURE DE NOUVEAUX USAGES INITIALEMENT CONÇUE POUR UN USAGE IHM TÉLÉCONSEILLER, L’APPLICATION EST DÉSORMAIS UTILISÉE PAR LE SVI, LA TVI, LES SITES WEBS, ET PLUSIEURS BO) UN GAIN DE TEMPS SIGNIFICATIF DETECTION & ANALYSE DES PROBLÉMATIQUES TECHNIQUES EN TEMPS RÉEL GRÂCE À LA SUPERVISION TECHNIQUE & OPÉRATIONNELLE DU SYSTÈME REX « KISS » - MEETUP ELASTIC - 29/07/2015