GLOBAL AGENCY : e-communication    e-technologie   e-systèmes




Publication instantanée et fort trafic
Comment dynamiser la presse en ligne
avec eZ Publish et Varnish ?

Découverte de la nouvelle extension eZ Accelerator




        eZ Accelerator                                    14/10/2011   1
SOMMAIRE
PROBLEMATIQUE ET OBJECTIFS
  !   Gérer une forte charge avec eZ Publish
  !   Obtenir la meilleure réactivité de publication


ETAT DE L’ART : LES SOLUTIONS EXISTANTES
  !   Solutions natives eZ
      !   Classique
      !   Cluster eZ DFS
      !   Cache statique
  !   Solution spécifique
      !   Publication statique spécifique
  !   Solution tierce
      !   Serveur de cache en amont (Varnish ou CDN)


LA SOLUTION NOVACTIVE: UNE NOUVELLE
  EXTENSION
  !   eZ Accelerator




           eZ Accelerator                              14/10/2011   2
Problématique et objectifs

La problématique
   !   eZ Publish est le CMS Open-Source le plus performant
       !   Satisfait tous les besoins de gestion de contenu
       !   Permet tous types de design
       !   Bénéficie d’une grande évolutivité
   !   Mais cette souplesse et performance a un prix : beaucoup de sollicitations de la base
       de données
   !   Cela peut créer des problèmes de tenue en charge en cas de forts pics de trafic


Nos objectifs
   !   Déployer eZ Publish pour des sites de presse à fort trafic
       !   En tenant la charge
       !   En préservant l’évolutivité du site
       !   En recherchant une instantanéité de la publication, challenge actuel de la presse en
           ligne
   !   Eviter de multiplier les développements spécifiques
       !   Longs et couteux
       !   Freins à l’évolutivité d’une plate-forme




           eZ Accelerator                                                    14/10/2011           3
Les solutions natives

eZ Publish 4.X




     eZ Accelerator     14/10/2011   4
1. Architecture Classique




     eZ Accelerator         14/10/2011   5
1. Architecture Classique

                                 Visiteurs




                        eZ
                                                 Contributeurs




                         MySQL




       eZ Accelerator                        14/10/2011          6
2. Architecture eZ DFS Classique




    eZ Accelerator                 14/10/2011   7
2. Architecture eZ DFS Classique

                                          Visiteurs




                          Load Balancer




  eZ                     eZ               eZ          eZ

                                                                      Contributeurs


                              eZ DFS




       NFS                                             MySQL



        eZ Accelerator                                         14/10/2011        8
2. Architecture Classique et eZ DFS


Avantages
   !   Gestion du cache optimale
   !   Publication instantanée



Inconvénients
   !   Induit une charge de base de données importante
   !   Performances liées aux choix de conception et à la qualité du code
   !   Très dépendant du nombre de contenus et d'utilisateurs/contributeurs



Cas d'utilisation
   !   Inadaptée pour des objectifs :
     !   > 100 pages/sec
     !   > 150 K objets eZ
   !   Adéquat pour des sites de trafic « limité »



         eZ Accelerator                                            14/10/2011   9
3. Architecture Classique + Cache
Statique




    eZ Accelerator                  14/10/2011   10
3. Architecture Classique + Cache Statique

                                   Visiteurs




                         Cache
                        statique



                        eZ
                                                  Contributeurs




                         MySQL



       eZ Accelerator                          14/10/2011         11
4. Architecture eZ DFS + Cache Statique




    eZ Accelerator              14/10/2011   12
4. Architecture eZ DFS Classique – Multi Front

                                                    Visiteurs



                                    Load Balancer



   Cache                       Cache                Cache              Cache
   statique                    statique            statique           statique


  eZ                       eZ                      eZ                 eZ                Contributeurs



                                          eZ DFS




                      NFS                                     MySQL



              eZ Accelerator                                                     14/10/2011        13
4. Architecture eZ DFS + Cache statique

Avantages
   !   Très bonne tenue en charge
   !   Ne nécessite pas de serveur de cache


Inconvénients
   !   Peu flexible : Ne propose pas de solution pour la gestion de blocs
       transverses (Ex : Menu du site / footer / ...)
   !   Vidages de cache très couteux et longs
   !   Ne génère pas toutes les vues potentielles d'un contenu
   !   Problématique en mode connecté (Full AJAX ou pas de cache)
   !   Apache reste très sollicité (et moins performant qu'un Varnish)


Cas d'utilisations
   !   Adaptée aux sites à fort trafic à contenu institutionnel
   !   Inadaptée aux sites ayant de nombreux blocs transverses et à forte
       contribution,
       comme les sites de Médias.



         eZ Accelerator                                             14/10/2011   14
Autre solution :
Ajout d’un serveur de cache en amont
Par exemple : Varnish




      eZ Accelerator           14/10/2011   15
1. Architecture Classique + Varnish




     eZ Accelerator               14/10/2011   16
1. Architecture Classique + Varnish

                                  Visiteurs




                        Varnish




                        eZ
                                                  Contributeurs




                         MySQL




       eZ Accelerator                         14/10/2011          17
2. Architecture eZ DFS + Varnish




    eZ Accelerator                 14/10/2011   18
2. Architecture eZ DFS + Varnish

                                Load Balancer



   Visiteurs
                     Varnish                    Varnish




  eZ                       eZ              eZ             eZ

                                                                          Contributeurs


                                 eZ DFS




        NFS                                                MySQL



          eZ Accelerator                                           14/10/2011        19
2. Architecture eZ DFS + Varnish

Avantages
   !   Aucun développement n'est à faire (hors partie connectée)
   !   Flexibilité de gestion du cache
   !   Transparence avec l'applicatif


Inconvénients
   !       Comment gérer la partie connectée ?
   !       Fonctionne sur un principe de TTL court (Time To Live)
   !       Retarde la publication de la durée de 2xTTL
   !       Induit des décalages de contenus
   !       Le dilemme permanent :
           !   + on augmente le TTL, - c'est réactif
           !   + on le réduit, - on tient la charge




               eZ Accelerator                                       14/10/2011   20
Comment faire mieux ?




    eZ Accelerator      14/10/2011   21
Les objectifs de Novactive


Réunir les avantages de chaque solution…
   !   Cluster eZ DFS Classique
     !   Gestion du cache optimale
     !   Publication instantanée

   !   Cluster eZ DFS - Cache statique
     !   Très bonne tenue en charge

   !   Serveur de cache
     !   Flexibilité de gestion du cache
     !   Transparence avec l'applicatif




…et s'affranchir des inconvénients




         eZ Accelerator                    14/10/2011   22
Notre solution

eZ Accelerator




     eZ Accelerator   14/10/2011   23
eZ Accelerator


         Un Connecteur entre Varnish et eZ Publish

Principe :
   !   Vider le cache Varnish de manière très ciblée lors de la publication.
   !   De toutes les URLs relatives :
      !   à ce contenu
      !   aux noeuds reliés par le cache de vue (et sa configuration)

   !   Autrement dit l'intégralité des règles du cache de vue natif sont gérées
       dans la purge de cache Varnish !




          eZ Accelerator                                                14/10/2011   24
eZ Accelerator

En détails eZ Accelerator c’est :
   !   une interface de contrôle pour vider des caches spécifiques
   !   la gestion du Multi-Varnish




         eZ Accelerator                                              14/10/2011   25
eZ Accelerator

En détails eZ Accelerator c’est aussi :
   !   la gestion des multi-siteaccess
   !   La purge des caches Varnish
     !   A la publication (prise en compte workflow),
     !   Ou manuellement via
        !   un nouveau bouton dans l'interface d'administration
        !   un script en ligne de commande




         eZ Accelerator                                           14/10/2011   26
eZ Accelerator




       eZ Accelerator   14/10/2011   27
eZ Accelerator




       eZ Accelerator   14/10/2011   28
eZ Accelerator

  !   Pas de ralentissement de la publication (daemon)

  !   La gestion du StaleCache pour ne pas cacher une page obsolète dans
  Varnish

  !   Quelques opérateurs de templates pour gérer les ESI


  !   Un fichier de configuration Varnish 3 optimisé pour eZ Publish

  !   Une interface disponible en FR et EN




         eZ Accelerator                                                14/10/2011   29
En résumé : sans eZ Accelerator

Processus sans l’extension
                                                             Visiteurs


                                                             TTL très court > charge la
                                           Varnish           BDD en cas de fort trafic



                                     eZ   eZ        eZ         eZ


                        Processus
 ViewCache                                 eZ DFS
                           de
  System               publication

                                                                               Contributeurs
                                          NFS        MySQL




                                             Purge
                                           ciblée des
                                           caches eZ


           eZ Accelerator                                               14/10/2011        30
En résumé : avec eZ Accelerator

Processus avec l’extension
                                                                    Visiteurs


                             Purge ciblée                           TTL très long > faible
eZ Accelerator                des caches          Varnish           charge BDD même en cas de
                               Varnish
                                                                    fort trafic


                                            eZ   eZ        eZ        eZ


                         Processus
 ViewCache                                        eZ DFS
                            de
   System               publication

                                                                                     Contributeurs
                                                 NFS        MySQL




                                                    Purge
                                                  ciblée des
                                                  caches eZ


            eZ Accelerator                                                    14/10/2011        31
Pour les sites simples, eZ Accelerator
fonctionne aussi avec un seul
serveur !




     eZ Accelerator               14/10/2011   32
eZ Accelerator

Une seul instance eZ Publish
   !   Un seul Apache
   !   N SiteAccess
   !   Une seule base de donnée                             Visiteurs
L’extension eZ Accelerator
   !   Configurée avec un seul Varnish
Un Varnish
   !   Un seul Varnish
   !   Des TTL très long
                                              Varnish
Pas de mode Cluster
Pas de NFS
                                         eZ Accelerator             Contributeurs


Une architecture simple                  eZ         MySQL




Et très efficace !!


         eZ Accelerator                                      14/10/2011       33
eZ Accelerator – Usage Avancée

  !   Gestion des cache-block

  !   Varnish devient un élément applicatif de la plate-forme


  !   Grâce au système d'ESI
    !   Suppression des cache-block au profit de vues ESI


  !   Mise à jour de ces caches (ancien cache-block) grâce au système de vue.


Exemple:
   !   Le menu de gauche est unique par noeud de niveau 2,
   !   Nous voulons :
     !   Générer ce menu une seule fois par noeud de niveau 2
     !   Mettre à jour ce menu directement quand une modification est effectuée




         eZ Accelerator                                                  14/10/2011   34
eZ Accelerator – Utilisation avancée

Pagelayout standard eZ Publish : Avec des cache-block
   Pagelayout

    Header (cache-block)

    Menu
    (cache-block)



                                           View




    Footer (cache-block)


        eZ Accelerator                                  14/10/2011   35
eZ Accelerator – Utilisation avancée

Pagelayout avec eZ Accelerator : Sans cache-block
   Pagelayout

    Header (/content/view/header/2)

    Menu
    (/content/view/menu/N)




                                           View




    Footer (/content/view/footer/2)


          eZ Accelerator                            14/10/2011   36
eZ Accelerator en Conclusion




    eZ Accelerator             14/10/2011   37
eZ Accelerator en Conclusion
Objectif atteint
   !   En production sur plusieurs sites, eZ Accelerator a déjà prouvé son efficacité
       sur des sites à fort trafic :
     ! Varnish met en cache 98% des requêtes
     !   Apache ne gère donc que 2% du trafic réel
     !   La BDD est dédiée au backoffice et à la génération du nouveau contenu
     !   On constate une très faible sollicitation du NFS
   !   Au-delà de la rapidité, une sécurité accrue : le Front est Up même en cas de
       problème sur un serveur

Une extension certifiée par eZ Systems
   !   Fonctionnelle ! (En production sur Sport24.com, en déploiement sur un site
       de quotidien)
   !   Facile d’installation
   !   Disponible dans le eZ Market depuis la mi-octobre 2011

Novactive, depuis Aout 2011, est partenaire Varnish certifié
   !   Assure le support sur l’extension eZ Accelerator
   !   Peut conseiller ou intervenir sur le paramétrage de vos serveurs Varnish


         eZ Accelerator                                                          14/10/2011   38
Adresse : 42-44, rue de Paradis
          75010 PARIS

Téléphone : 01.48.24.33.60
Fax : 01.48.24.33.54

Email : info@novactive.com
Site : www.novactive.com

SARL au capital de 132.576 euros
RCS Paris B 408 999 233




               eZ Accelerator      14/10/2011   39

eZ publish - Publication instantanée et fort trafic web

  • 1.
    GLOBAL AGENCY :e-communication e-technologie e-systèmes Publication instantanée et fort trafic Comment dynamiser la presse en ligne avec eZ Publish et Varnish ? Découverte de la nouvelle extension eZ Accelerator eZ Accelerator 14/10/2011 1
  • 2.
    SOMMAIRE PROBLEMATIQUE ET OBJECTIFS !   Gérer une forte charge avec eZ Publish !   Obtenir la meilleure réactivité de publication ETAT DE L’ART : LES SOLUTIONS EXISTANTES !   Solutions natives eZ !   Classique !   Cluster eZ DFS !   Cache statique !   Solution spécifique !   Publication statique spécifique !   Solution tierce !   Serveur de cache en amont (Varnish ou CDN) LA SOLUTION NOVACTIVE: UNE NOUVELLE EXTENSION ! eZ Accelerator eZ Accelerator 14/10/2011 2
  • 3.
    Problématique et objectifs Laproblématique ! eZ Publish est le CMS Open-Source le plus performant !   Satisfait tous les besoins de gestion de contenu !   Permet tous types de design !   Bénéficie d’une grande évolutivité !   Mais cette souplesse et performance a un prix : beaucoup de sollicitations de la base de données !   Cela peut créer des problèmes de tenue en charge en cas de forts pics de trafic Nos objectifs !   Déployer eZ Publish pour des sites de presse à fort trafic !   En tenant la charge !   En préservant l’évolutivité du site !   En recherchant une instantanéité de la publication, challenge actuel de la presse en ligne !   Eviter de multiplier les développements spécifiques !   Longs et couteux !   Freins à l’évolutivité d’une plate-forme eZ Accelerator 14/10/2011 3
  • 4.
    Les solutions natives eZPublish 4.X eZ Accelerator 14/10/2011 4
  • 5.
    1. Architecture Classique eZ Accelerator 14/10/2011 5
  • 6.
    1. Architecture Classique Visiteurs eZ Contributeurs MySQL eZ Accelerator 14/10/2011 6
  • 7.
    2. Architecture eZDFS Classique eZ Accelerator 14/10/2011 7
  • 8.
    2. Architecture eZDFS Classique Visiteurs Load Balancer eZ eZ eZ eZ Contributeurs eZ DFS NFS MySQL eZ Accelerator 14/10/2011 8
  • 9.
    2. Architecture Classiqueet eZ DFS Avantages !   Gestion du cache optimale !   Publication instantanée Inconvénients !   Induit une charge de base de données importante !   Performances liées aux choix de conception et à la qualité du code !   Très dépendant du nombre de contenus et d'utilisateurs/contributeurs Cas d'utilisation !   Inadaptée pour des objectifs : !   > 100 pages/sec !   > 150 K objets eZ !   Adéquat pour des sites de trafic « limité » eZ Accelerator 14/10/2011 9
  • 10.
    3. Architecture Classique+ Cache Statique eZ Accelerator 14/10/2011 10
  • 11.
    3. Architecture Classique+ Cache Statique Visiteurs Cache statique eZ Contributeurs MySQL eZ Accelerator 14/10/2011 11
  • 12.
    4. Architecture eZDFS + Cache Statique eZ Accelerator 14/10/2011 12
  • 13.
    4. Architecture eZDFS Classique – Multi Front Visiteurs Load Balancer Cache Cache Cache Cache statique statique statique statique eZ eZ eZ eZ Contributeurs eZ DFS NFS MySQL eZ Accelerator 14/10/2011 13
  • 14.
    4. Architecture eZDFS + Cache statique Avantages !   Très bonne tenue en charge !   Ne nécessite pas de serveur de cache Inconvénients !   Peu flexible : Ne propose pas de solution pour la gestion de blocs transverses (Ex : Menu du site / footer / ...) !   Vidages de cache très couteux et longs !   Ne génère pas toutes les vues potentielles d'un contenu !   Problématique en mode connecté (Full AJAX ou pas de cache) !   Apache reste très sollicité (et moins performant qu'un Varnish) Cas d'utilisations !   Adaptée aux sites à fort trafic à contenu institutionnel !   Inadaptée aux sites ayant de nombreux blocs transverses et à forte contribution, comme les sites de Médias. eZ Accelerator 14/10/2011 14
  • 15.
    Autre solution : Ajoutd’un serveur de cache en amont Par exemple : Varnish eZ Accelerator 14/10/2011 15
  • 16.
    1. Architecture Classique+ Varnish eZ Accelerator 14/10/2011 16
  • 17.
    1. Architecture Classique+ Varnish Visiteurs Varnish eZ Contributeurs MySQL eZ Accelerator 14/10/2011 17
  • 18.
    2. Architecture eZDFS + Varnish eZ Accelerator 14/10/2011 18
  • 19.
    2. Architecture eZDFS + Varnish Load Balancer Visiteurs Varnish Varnish eZ eZ eZ eZ Contributeurs eZ DFS NFS MySQL eZ Accelerator 14/10/2011 19
  • 20.
    2. Architecture eZDFS + Varnish Avantages !   Aucun développement n'est à faire (hors partie connectée) !   Flexibilité de gestion du cache !   Transparence avec l'applicatif Inconvénients !   Comment gérer la partie connectée ? !   Fonctionne sur un principe de TTL court (Time To Live) !   Retarde la publication de la durée de 2xTTL !   Induit des décalages de contenus !   Le dilemme permanent : !   + on augmente le TTL, - c'est réactif !   + on le réduit, - on tient la charge eZ Accelerator 14/10/2011 20
  • 21.
    Comment faire mieux? eZ Accelerator 14/10/2011 21
  • 22.
    Les objectifs deNovactive Réunir les avantages de chaque solution… !   Cluster eZ DFS Classique !   Gestion du cache optimale !   Publication instantanée !   Cluster eZ DFS - Cache statique !   Très bonne tenue en charge !   Serveur de cache !   Flexibilité de gestion du cache !   Transparence avec l'applicatif …et s'affranchir des inconvénients eZ Accelerator 14/10/2011 22
  • 23.
    Notre solution eZ Accelerator eZ Accelerator 14/10/2011 23
  • 24.
    eZ Accelerator Un Connecteur entre Varnish et eZ Publish Principe : !   Vider le cache Varnish de manière très ciblée lors de la publication. !   De toutes les URLs relatives : !   à ce contenu !   aux noeuds reliés par le cache de vue (et sa configuration) !   Autrement dit l'intégralité des règles du cache de vue natif sont gérées dans la purge de cache Varnish ! eZ Accelerator 14/10/2011 24
  • 25.
    eZ Accelerator En détailseZ Accelerator c’est : !   une interface de contrôle pour vider des caches spécifiques !   la gestion du Multi-Varnish eZ Accelerator 14/10/2011 25
  • 26.
    eZ Accelerator En détailseZ Accelerator c’est aussi : !   la gestion des multi-siteaccess !   La purge des caches Varnish !   A la publication (prise en compte workflow), !   Ou manuellement via !   un nouveau bouton dans l'interface d'administration !   un script en ligne de commande eZ Accelerator 14/10/2011 26
  • 27.
    eZ Accelerator eZ Accelerator 14/10/2011 27
  • 28.
    eZ Accelerator eZ Accelerator 14/10/2011 28
  • 29.
    eZ Accelerator !   Pas de ralentissement de la publication (daemon) !   La gestion du StaleCache pour ne pas cacher une page obsolète dans Varnish !   Quelques opérateurs de templates pour gérer les ESI !   Un fichier de configuration Varnish 3 optimisé pour eZ Publish !   Une interface disponible en FR et EN eZ Accelerator 14/10/2011 29
  • 30.
    En résumé :sans eZ Accelerator Processus sans l’extension Visiteurs TTL très court > charge la Varnish BDD en cas de fort trafic eZ eZ eZ eZ Processus ViewCache eZ DFS de System publication Contributeurs NFS MySQL Purge ciblée des caches eZ eZ Accelerator 14/10/2011 30
  • 31.
    En résumé :avec eZ Accelerator Processus avec l’extension Visiteurs Purge ciblée TTL très long > faible eZ Accelerator des caches Varnish charge BDD même en cas de Varnish fort trafic eZ eZ eZ eZ Processus ViewCache eZ DFS de System publication Contributeurs NFS MySQL Purge ciblée des caches eZ eZ Accelerator 14/10/2011 31
  • 32.
    Pour les sitessimples, eZ Accelerator fonctionne aussi avec un seul serveur ! eZ Accelerator 14/10/2011 32
  • 33.
    eZ Accelerator Une seulinstance eZ Publish !   Un seul Apache !   N SiteAccess !   Une seule base de donnée Visiteurs L’extension eZ Accelerator !   Configurée avec un seul Varnish Un Varnish !   Un seul Varnish !   Des TTL très long Varnish Pas de mode Cluster Pas de NFS eZ Accelerator Contributeurs Une architecture simple eZ MySQL Et très efficace !! eZ Accelerator 14/10/2011 33
  • 34.
    eZ Accelerator –Usage Avancée !   Gestion des cache-block !   Varnish devient un élément applicatif de la plate-forme !   Grâce au système d'ESI !   Suppression des cache-block au profit de vues ESI !   Mise à jour de ces caches (ancien cache-block) grâce au système de vue. Exemple: !   Le menu de gauche est unique par noeud de niveau 2, !   Nous voulons : !   Générer ce menu une seule fois par noeud de niveau 2 !   Mettre à jour ce menu directement quand une modification est effectuée eZ Accelerator 14/10/2011 34
  • 35.
    eZ Accelerator –Utilisation avancée Pagelayout standard eZ Publish : Avec des cache-block Pagelayout Header (cache-block) Menu (cache-block) View Footer (cache-block) eZ Accelerator 14/10/2011 35
  • 36.
    eZ Accelerator –Utilisation avancée Pagelayout avec eZ Accelerator : Sans cache-block Pagelayout Header (/content/view/header/2) Menu (/content/view/menu/N) View Footer (/content/view/footer/2) eZ Accelerator 14/10/2011 36
  • 37.
    eZ Accelerator enConclusion eZ Accelerator 14/10/2011 37
  • 38.
    eZ Accelerator enConclusion Objectif atteint !   En production sur plusieurs sites, eZ Accelerator a déjà prouvé son efficacité sur des sites à fort trafic : ! Varnish met en cache 98% des requêtes !   Apache ne gère donc que 2% du trafic réel !   La BDD est dédiée au backoffice et à la génération du nouveau contenu !   On constate une très faible sollicitation du NFS !   Au-delà de la rapidité, une sécurité accrue : le Front est Up même en cas de problème sur un serveur Une extension certifiée par eZ Systems !   Fonctionnelle ! (En production sur Sport24.com, en déploiement sur un site de quotidien) !   Facile d’installation !   Disponible dans le eZ Market depuis la mi-octobre 2011 Novactive, depuis Aout 2011, est partenaire Varnish certifié !   Assure le support sur l’extension eZ Accelerator !   Peut conseiller ou intervenir sur le paramétrage de vos serveurs Varnish eZ Accelerator 14/10/2011 38
  • 39.
    Adresse : 42-44,rue de Paradis 75010 PARIS Téléphone : 01.48.24.33.60 Fax : 01.48.24.33.54 Email : info@novactive.com Site : www.novactive.com SARL au capital de 132.576 euros RCS Paris B 408 999 233 eZ Accelerator 14/10/2011 39