BLOG X2i
L'actualité Magento et e-commerce vue par X2i
10 novembre 2016 - Publié par Marc - Gestion de l'information
Haute disponibilité et performance : ces deux concepts sont intimement liés, et l’amélioration de l’un passe souvent par l’optimisation de l’autre.
Pour améliorer la haute disponibilité, on utilise généralement une deuxième machine en “secours”. Il serait dommage de ne pas exploiter les ressources de cette deuxième machine pour améliorer les performances de votre plateforme.
Attention à bien faire la distinction entre deux aspects de la performance : temps de réponse et tenue en charge. L’ajout d’une nouvelle machine (nouveau front par exemple) n’a généralement pas d’impact immédiat sur le temps de réponse de votre site : il améliore sa tenue en charge, c’est à dire qu’il pourra servir votre site à plus d’utilisateurs en même temps (le temps de réponse se dégradera moins vite).
Pour améliorer le temps de réponse de votre site e-commerce, une optimisation applicative sera généralement beaucoup plus efficace qu’une optimisation matérielle (mais parfois plus coûteuse…).
Magento 2 se prête bien au Load Balancing : la charge applicative est générée par l’exécution du code PHP (ressource processeur), l’accès aux composants de données générant peu de charge. On peut donc améliorer la tenue en charge en ajoutant de nouveaux frontaux (scalabilité “horizontale”).
Le schéma suivant montre une infrastructure Magento 2 redondée, avec répartition de charge (“load balancing”).
Les mécanismes suivants sont utilisés sur cette infrastructure :
ElasticSearch possède un mécanisme de haute disponibilité natif. Il en est de même pour Redis, même si les données de session et de cache sont souvent jugées moins critiques.
Le partage de fichier peut être géré par NFS, voire un autre mécanisme proposé par votre hébergeur.
En ce qui concerne la réplication MySQL, nous recommandons d’utiliser le module Galera, implémenté dans Percona XtraDB Cluster ou MariaDB. Par rapport à une réplication MySQL classique, ce composant rend la réplication plus robuste et facilite grandement les bascules. Un lien réseau rapide est un prérequis à ce genre de réplication semi-synchrone.
Attention à l’augmentation de complexité liée aux mécanismes de haute disponibilité. Ces mécanismes doivent être testés régulièrement afin d’éviter les mauvaises surprises au moment où ils sont vraiment nécessaires.
Les processus de déploiement sont également à modifier pour livrer le code source sur tous les frontaux en même temps. L’outil Capistrano est très utile pour gérer les déploiement multi-fronts, ainsi que les rollbacks.
Le CDN (Content Delivery Network / Réseau de diffusion de contenu) a pour objectif de fournir un cache HTTP au plus proche des utilisateurs, afin d’optimiser les temps de téléchargement, et donc le temps de rendu des pages Web.
Le bénéfice de la mise en place d’un CDN pour votre boutique dépend de plusieurs facteurs :
De nombreuses solutions s’offrent à vous pour l’architecture d’une plateforme Magento 2. Ces choix dépendent du niveau de performance et de haute disponibilité désiré, mais aussi de votre budget.
Aussi, si vous rencontrez des difficultés avec votre architecture d’hébergement ou si vous souhaitez faire évoluer votre architecture pour optimiser les performances de votre plateforme Magento, n’hésitez pas à nous écrire !
Magento lance Magento Business Intelligence Essentials ! Tour d’horizon de cette solution complémentaire à Magento Analytics pensée pour aider les e-commerçants à rassembler et surveiller leurs datas sur le Cloud !
Suite de notre série d’articles sur l’expérience client en e-commerce : l’étape d’achat passée, concentrons-nous sur les moments qui suivent le passage de commande, souvent négligés !
Grâce à la Magento DevBox Beta, une nouvelle option d’environnement de développement, il devient plus facile et rapide de développer sur Magento 2. On vous explique pourquoi et comment !
Recevez en exclusivité notre actualité par e-mail :
conseils, nouveautés Magento, événements e-commerce, livres blancs...
Laisser un commentaire