Lecture 11 minutes
Idée reçue #2 : Magento est complexe à héberger
Quand on veut mettre un site internet en ligne, vient forcément la question de l'hébergement. Les sites e-commerce ne dérogent pas à la règle et doivent reposer sur une infrastructure capable de répondre à toutes les exigences des clients.
Dans le cadre d'Adobe Commerce (ex Magento 2), l'hébergement ne peut être confié à n'importe qui. En effet, les architectures logicielles actuelles reposent sur une multitude de services (Redis, Varnish, Opensearch...) ayant pour objectif d'augmenter la résilience et de répartir une partie de la charge applicative. C'est pourquoi mettre en place et optimiser l'architecture nécessaire à l'accueil d'une plateforme Adobe Commerce peut vite tourner au casse-tête pour des intégrateurs/hébergeurs non avertis. Alors, concrètement Adobe Commerce (ex Magento 2) est-il plus complexe à héberger que d’autres solutions ?
Quels sont les prérequis pour héberger un site Adobe Commerce ?
Le pire scénario serait de négliger l’hébergement, et de confier cet aspect à des personnes non expérimentées, qui vont "bricoler" un hébergement basique, “tant que ça fonctionne". Elles feraient l'impasse sur des composantes très importantes d'un hébergement digne de ce nom :
-
La qualité
Il est important de pouvoir tester les modifications apportées à votre site avant de les mettre définitivement en ligne. Des environnements de test sont donc indispensables pour maintenir un niveau de qualité optimal sur votre site.
-
La performance
Certaines configurations, que ce soit au niveau serveur, au niveau applicatif, voire même au niveau des choix structurants (mise en place d’un CDN, d’un DAM, etc.) peuvent faire défaut si on ne se pose pas les bonnes questions.
-
La scalabilité
C'est la capacité de l'infrastructure à s'adapter à la demande. Par exemple, il y a de très grandes chances que le premier jour des soldes ou le black friday soient des moments forts de l'année, qui attireront beaucoup de clients. Il ne faut pas que l'hébergement soit un frein à la vente ou pire, que le site ne soit plus accessible.
-
La maintenabilité
Monter une infrastructure c'est bien, la maintenir c'est mieux, et même indispensable ! Tous les jours, de nouvelles optimisations sont faites sur tous les composants d'un hébergement, à tous les niveaux. Il est primordial de rester à jour pour en profiter.
-
La sécurité
Malheureusement il existe toujours des personnes dont le but est de pirater les sites. La sécurité de votre site passe avant tout par le suivi de tous les composants de celui-ci : du petit logo "sécurisé" en haut (https), jusqu'à l’application Adobe Commerce elle-même, en passant bien sûr par tous les composants de l'hébergement.
-
La résilience
Si on ne fait pas attention, un seul petit grain de sable dans l'engrenage peut mettre le site en péril. En termes d'hébergement, la résilience consiste à anticiper les pannes possibles, en ayant toujours un système de fallback prêt à prendre le relais en cas de défaillance d’un des composants.
-
La gestion de crise
Malgré toutes les précautions prises par tous les intervenants, il peut arriver qu'une livraison ait des répercussions néfastes sur votre site. Il est important de pouvoir agir dans ces cas-là, notamment avec la mise en place d'un archivage régulier des données.
Afin de bien répondre à cette liste d’enjeux cruciaux, deux solutions efficientes d’hébergement s’offrent aux marchands :
- L’hébergement éditeur : Adobe Commerce Cloud
- Le choix d’un hébergeur expert sur Adobe Commerce
L'hébergement fourni par l'éditeur, Adobe Commerce Cloud
Depuis quelques années maintenant, Adobe propose un hébergement clé en main, basé sur une architecture PaaS (Platform as a Service). Dans les faits, cela se matérialise par une abstraction de toute la partie DevOps, qui n’est donc plus une compétence nécessaire pour les intégrateurs. Plus de besoin impérieux de savoir ce que sont nginx, glusterfs, varnish opcache...
Tout peut être paramétré et réalisé par des développeurs, dont le seul travail est alors de demander la version du langage de programmation (en l'occurrence PHP) compatible avec le site développé. Tous les autres logiciels (MySQL, Redis, Fastly CDN, RabbitMQ, etc) sont pré-installés et paramétrés de manière optimale pour fonctionner avec Adobe Commerce.
Si l'on reprend les principaux "points d'attention" pour un hébergement adapté :
La qualité
Adobe Commerce Cloud propose à tous les utilisateurs au minimum trois environnements :
- le premier est un environnement d'intégration, permettant de tester des fonctionnalités dès qu'elles sont développées ;
- le deuxième est environnement de staging, exacte copie du site actuellement en ligne, permettant de tester toutes les fonctionnalités en conditions réelles ;
- et le dernier, un environnement de production auquel accèdent les clients finaux.
La performance
Adobe Commerce Cloud repose, au choix, sur l'un des deux plus gros fournisseurs de cloud public au monde : AWS et Azure. Leur fiabilité et leur performance ne sont plus à démontrer. Les aspects "cache" et CDN sont gérés par Fastly, service externe permettant de disposer de toutes les pages en moins de 50 ms une fois mises en cache.
La scalabilité
La puissance des machines peut être modifiée à chaud, sans aucune interruption de service, par une simple demande au support. Ce qui permet de prévoir au mieux les pics de trafic sur votre site, on parle ici de "scaling vertical”. Il est également possible, pour gérer d'énormes volumétries, d'ajouter des machines à la volée. On parle alors de "scaling horizontal".
La maintenabilité
La mise à jour de tous les services se fait directement dans des fichiers de configuration, à chaque livraison de l'instance. Aucune compétence "DevOps" n'est nécessaire.
La sécurité
Les patchs de sécurité importants de tous les logiciels de votre infrastructure sont appliqués automatiquement par le support Adobe, sans aucune interruption de service.
La résilience
Toutes les infrastructures Adobe Commerce Cloud sont composées d'au minimum trois nodes, chacun ayant tous les composants nécessaires au fonctionnement du site. C'est pour cela que si, par malheur, un des nodes vient à être hors service, les deux autres peuvent prendre le relais le temps de trouver la panne et de la réparer.
La gestion de crise
Tous les composants de votre site (code et données) sont sauvegardés une fois par heure le jour même, puis quatre fois par jour les jours suivants, et une fois par jour pendant un mois. Cela permet un rollback avec un minimum de perte de données si le moindre souci bloquant venait à apparaître.
En plus de tous ces points, Adobe Commerce Cloud propose nativement, en plus de Fastly, l'intégration de New Relic. C’est un outil extrêmement performant de monitoring d'infrastructure, permettant le suivi au quotidien de la santé du site. Il propose également Sendgrid, solution d'envoi d'e-mails permettant de ne jamais se préoccuper de la bonne délivrabilité de ceux-ci. En résumé, l'hébergement Adobe Commerce Cloud est parfait pour les personnes voulant être certaines de ne pas se tromper. Il a toutes les qualités requises pour parer à toutes les éventualités, tout en étant très simple à utiliser, parfaitement sécurisé et compétitif d’un point de vue tarifaire.
L'hébergement fourni par des prestataires spécialistes de la solution
L'autre moyen d'héberger son site sous Adobe Commerce est de faire confiance à des spécialistes de la gestion d'infrastructures de cette solution. Il est possible dans ce cas de choisir entre cloud public, cloud privé (réseau interne de machines virtuelles propres à l'hébergeur lui-même) ou encore machines physiques. Cet hébergement a la particularité d'être plus souple qu'Adobe Commerce Cloud. Il est construit en collaboration avec le client, le partenaire intégrateur et, bien sûr, l'hébergeur.
Sur ce type d'hébergement, il est par exemple possible d'ajouter un serveur nodejs, d'héberger son site WordPress dans un coin de l'infrastructure ou encore d'imaginer une solution d'auto-scaling. Cela permet à l'infrastructure de s'adapter en temps réel aux besoins de l'application en termes de charge.
Concernant les points d’attention, voici comment se positionne ce second type d’hébergement :
La qualité
Tous les hébergeurs sérieux vous proposeront au moins une instance de "staging" (payante la plupart du temps). Cela permet d'effectuer des tests avant livraison d'une nouvelle fonctionnalité. Cela peut suffire, mais il est plus confortable de disposer également d'un environnement d'intégration (également payant la plupart du temps).
La performance
Cela dépend des choix faits au départ. Tout est possible ici, en bien comme en mal. Il est ainsi possible d'avoir une infrastructure parfaitement proportionnée, et qui répond à toutes les attentes des clients en termes de performances. Mais il est également possible d'avoir une infrastructure sous-dimensionnée, risquant ainsi des mauvaises performances. Ou, au contraire, une infrastructure disproportionnée, engendrant des coûts énormes. En complément de la partie infrastructure, la performance dépend aussi de la configuration des différents services nécessaires au bon fonctionnement de l’application. La clé ici est l’expérience de l’hébergeur sur la solution. Un hébergeur expérimenté met en place des configurations optimisées garantissant une utilisation optimale des ressources et une plateforme performante.
La scalabilité
Cela dépend également de la manière dont est construite l'infrastructure. Il est par exemple très difficile de modifier les performances de machines physiques, celles-ci étant obligatoirement mises hors ligne le temps de la manipulation. D'un autre côté, et à l'inverse d'Adobe Commerce Cloud, il est possible d'opter pour un mécanisme d'auto-scaling. Le principe est d'ajouter des serveurs à la volée dès que certains paliers, paramétrés à l'avance, sont atteints. Cela permet de limiter les coûts en temps normal, et d’absorber les pics de charge sans souci.
La maintenabilité
Celle-ci est gérée par l'hébergeur lui-même. Certaines mises à jour nécessitent des interventions de l'hébergeur et de l'intégrateur, avec un temps de coupure qui, bien que minime, est à prendre en compte.
La sécurité
Elle est également garantie par l'hébergeur qui procède à l'application de patchs de sécurité dès que nécessaire.
La résilience
Là aussi, cela dépend de la manière dont est construit l'hébergement. Il est toujours préconisé d'avoir au minimum deux serveurs en parallèle. L'un peut prendre le relais de l'autre en cas de défaillance. En revanche, ceci représente un coût de mise en place ainsi qu’un coût récurrent.
La gestion de crise
Les sauvegardes sont bien sûr automatisées, suivant la demande du client. Il est par exemple possible d'en demander une toutes les demi-heures, ou seulement une par jour. Cela dépend de la criticité et du budget alloué sur ce point.
L'ajout de services externes, type New Relic ou CDN est bien sûr possible. Mais cela demande un travail de mise en place et d'adaptation de toutes les parties prenantes. Moins clé en main dans le cadre d’Adobe Commerce, et très dépendant de la qualité de l’hébergeur choisi, ce type d’hébergement peut cependant être une excellente solution dans certains contextes particuliers.
Adobe Commerce (ex Magento 2) est-il complexe à héberger ?
Notre réponse à cette question est non ! Magento n'est pas complexe à héberger si le client et l’intégrateur savent s’appuyer sur les bons partenaires !
L'hébergement d’un site sous Adobe Commerce est une étape cruciale de sa mise en place. Il peut déterminer le succès ou non du projet tout entier. Et même si mettre en place un hébergement pour Adobe Commerce n'est pas très compliqué, il est en revanche difficile de créer une infrastructure qui réunit toutes les qualités nécessaires au bon fonctionnement du site tout au long de sa vie. C'est pour cela qu'il est primordial de s'entourer de véritables experts ; que ce soit Adobe directement, au travers de ses partenaires intégrateurs, ou un hébergeur spécialisé pour l’hébergement de son site Adobe Commerce.