BLOG X2i

L'actualité Magento et e-commerce vue par X2i

Architecture d’hébergement Magento : quelle architecture minimale ?

27 octobre 2016 - Publié par Bertrand - Gestion de l'information

quelle architecture d'hebergement minimale magento
Cet article inaugure une série d’articles qui aura pour but de vous décrire les différents types d’architecture possibles pour héberger votre plateforme e-commerce sous Magento. En effet, l’hébergement de Magento requiert une architecture spécifique mais vous laisse une certaine marge de manœuvre. Ainsi, plusieurs solutions s’offrent à vous, en fonction du niveau de performance et de disponibilité désiré, mais aussi et surtout en fonction de votre budget.

Aujourd’hui, nous allons vous présenter l’architecture minimale nécessaire au bon fonctionnement de Magento. Nous parlerons donc d’une infrastructure d’hébergement Magento 2 simple, et nous allons analyser les différents composants utilisés pour son fonctionnement.

Tous les composants sur une seule machine



L’infrastructure la plus simple regroupe tous les composants nécessaires au fonctionnement de Magento sur une seule machine.

Nous recommandons fortement l’utilisation d’une technologie de virtualisation, et ce même si vous disposez d’un serveur dédié. Même si votre serveur physique héberge une seule machine virtuelle (VM), la virtualisation vous rendra service à l’avenir : changement de matériel, migration, sauvegarde, accueil d’une nouvelle application…

Le schéma suivant montre les principaux composants d’une plateforme d’hébergement Magento 2, regroupés sur une machine virtuelle.

machine virtuelle plateforme hébergement magento 2

Les composants incontournables



Nous retrouvons généralement les composants suivants sur une plateforme Magento 2 :

  • Distribution Linux :
  • Parmi les principales, orientées pour une utilisation serveur : Ubuntu, Debian, RedHat, CentOS. Pour de l’hébergement Magento 2, nous donnons la préférence à Ubuntu Server 16.04, qui dispose de paquets natifs, dans les bonnes versions pour PHP 7, MySQL/Percona et Redis.

  • Serveur Web Apache :
  • Il est possible de se passer d’Apache au profit de Nginx, mais l’utilisation d’Apache est mieux documentée et répandue.

  • PHP 7 :
  • Incontournable et beaucoup plus performant que les versions précédentes.

  • Varnish Cache :
  • C’est un des mécanismes de cache HTTP les plus performants du marché. Ce composant est officiellement recommandé par Magento pour la production Magento 2.

  • Nginx :
  • Utilisé uniquement pour gérer le chiffrement SSL. Il doit être placé en amont de Varnish afin de bénéficier du cache HTTP pour les pages sécurisées également.

  • MySQL 5.6 :
  • Plusieurs solutions sont possibles : Oracle MySQL, Percona, MariaDB. Il est désormais préférable d’opter pour Percona ou MariaDB, dont les versions Open Source intègrent désormais plus d’optimisations et de correctifs que celle d’Oracle.

  • Redis Cache :
  • Permet d’optimiser le stockage du cache et des sessions Magento. Nous conseillons l’utilisation de 2 instances de Redis séparées, afin d’éviter que le cache n’invalide des sessions, et vice versa.

Autres composants intéressants :

  • ElasticSearch (version Magento Entreprise Edition uniquement) : moteur d’indexation pour la recherche. Permet d’améliorer les fonctionnalités et les performances de recherche.
  • ModSecurity : module pour transformer Apache en WAF (Web Application Firewall). Très intéressant pour protéger Magento des intrusions, exploitations de failles et autres injections. Travail d’intégration important à prévoir : à activer en mode “détection” dans un premier temps.



N’hésitez pas à consulter les derniers prérequis système Magento 2 (pour Magento 2.1 à la date d’écriture de cet article).

Une seule machine virtuelle : quelle haute disponibilité, quelle performance ?



Tout dépend de vos besoins, de votre budget, et de l’impact d’une indisponibilité/perte de données sur votre activité.

L’unique VM est la solution la plus économique. La virtualisation vous aidera à obtenir un niveau de haute disponibilité minimum, pour que les sauvegardes soient faites régulièrement.

Pour gérer le cas de la panne matérielle, plusieurs scénarios selon vos choix techniques :

  • Indisponibilité le temps d’attendre la réparation du matériel (ce scénario est rarement acceptable)
  • Restauration de la sauvegarde de la machine virtuelle sur un autre serveur physique (perte des données depuis la dernière sauvegarde)
  • Si les disques/données de la VM sont hébergés sur un stockage persistant, en mode cloud (SAN, Amazon EBS…), il suffira de relancer la VM sur un autre noeud.



Au niveau performance, l’unique machine offre peu de souplesse et d’extensibilité (“scalabilité”). Si plus de ressources sont nécessaires, il faudra augmenter les paramètres système de la VM ou la migrer sur un serveur plus puissant (on parle de “scalabilité verticale”).

Conclusion



L’hébergement de Magento 2 sur une seule machine virtuelle est une solution économique, mais elle reste limitée niveau haute disponibilité et performance. Or, ces contraintes deviennent handicapantes dès lors que votre boutique atteint une taille moyenne. Pour pallier ce problème, nous vous proposerons dans un prochain article une solution alternative avec une infrastructure plus évoluée qui s’adaptera davantage à un site e-commerce de grande ampleur.

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 !

A lire aussi

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Actualité

NEWSLETTER X2i

Recevez en exclusivité notre actualité par e-mail :
conseils, nouveautés Magento, événements e-commerce, livres blancs...