Gérer des pics de charge avec OVHcloud Dedicated Cloud

Cet article a été rédigé par OVHcloud

HostMe, spécialiste en infogérance, est le prestataire en charge de l’infrastructure de SOSav, site qui permet, via des guides en ligne et la vente de pièces détachées, de réparer smartphones, tablettes, ou encore consoles de jeux.

L’architecture mise en place par HostMe utilise le Dedicated Cloud OVHcloud, qui permet une haute disponibilité, une flexibilité maximale au niveau de la puissance des machines, et un déploiement extrêmement rapide.

Pour préparer le passage TV de SOSav dans l’émission CAPITAL de M6, l’infrastructure en place a dû être renforcée pour être capable de soutenir le pic de fréquentation.

L’objectif : 100% de disponibilité et aucun ralentissement.

Résistance à un pic de charge

Résistance à un pic de charge d'une intensité imprévisible

Déploiement et test de l'infrastructure

Déploiement et test de l'infrastructure en 5 jours

Conserver une  QoS compatible

Conserver une QoS compatible avec le e-commerce

Contraintes budgétaires

Contraintes budgétaires liés au besoin ponctuel de l'activité

Nombre de connectés multiplié par 10

Nombre de connectés multiplié par 10 en quelques secondes

+ de 3000 connectés

+ de 3000 connectés simultanés

UNE INFRASTRUCTURE N-TIERS POUR PLUS DE SOUPLESSE

infrastructure robuste

L’architecture, déployée en n-tiers, répond à des best-practices. Elle assure à la fois la disponibilité et la scalabilité de la plateforme, soit une adaptabilité des performances à tout instant. Les questions d’une montée en performance du système avaient été posées bien avant l’éventualité d’un passage TV, et la configuration en place a permis une évolution rapide et sans aucune interruption du site de SOSav.

Le découpage partage l’infrastructure en trois parties :

  • en tête d’architecture, une partie dédiée à la répartition de charge permet la redirection des visiteurs, composée de 4 VM, chacune sur un serveur virtuel HA Proxy (Load Balancers).
  • le second bloc dédié au Front-End se compose de 14 machines virtuelles réparties sur autant de hosts XL, hébergeant à la fois le site Internet, et la partie boutique basée sur le CMS Prestashop.
  • la troisième partie, le Back-End, concerne les bases de données au sein d’un cluster Galera MariaDB composé de 3 hosts XL, les images et les autres contenus.

Load balancing

Ici, la combinaison IP LB et HA Proxy permet en quelques clics ou en quelques lignes de commande API de rajouter des destinations en toute transparence et sans aucun impact pour les visiteurs.

Ensuite, l’utilisation des solutions VMware offre différentes possibilités pour redimensionner la plateforme : faire croître les VM existantes, ou en rajouter de nouvelles là où de potentiels goulots d’étranglement pourraient se former. Ici, HostMe a utilisé une combinaison des deux possibilités : des hosts plus puissants ont été rajoutés pour supporter le pic de charge, et les performances des machines virtuelles présentes dans la structure du départ ont été revues à la hausse.

Automatisation avec Puppet

L’application Puppet utilisée permet de déployer automatiquement la configuration souhaitée sur les nouveaux serveurs ajoutés : serveurs HA Proxy pour le Load Balancing et Nginx pour les serveurs web. Cette solution permet, lorsque l’on ajoute un serveur à un cluster, d’automatiser sa mise en production.

Puppet est une solution logicielle, écrite en Ruby permettant de maintenir dans un état cohérent un ensemble de serveurs cibles (virtuels, ou physiques). Il fait partie de la famille des outils de gestion de configuration – CMT : Configuration Management Tool.

Des manifestes sont utilisés pour déclarer les actions à effectuer ainsi que leurs relations, à l’aide d’une couche d’abstraction importante permettant de gérer avec les mêmes manifestes des serveurs cibles d’OS et/ou de versions différentes.

Pour les fichiers de configurations, des templates peuvent être utilisés, couplés à une l’utilisation de variables d’environnement – les facts, afin d’épouser quasiment n’importe quelle plateforme.

Ressources à l'heure

Le déploiement de Hosts et Datastores supplémentaires ou plus puissants ne prend que quelques minutes. Facturées à l’heure, ces ressources peuvent être supprimées de l’infrastructure dès le pic de charge terminé. Cela permet de réaliser d’importantes économies, comparé au coût de serveurs physiques supplémentaires loués au mois ou à la semaine pour n'être utilisés que ponctuellement.

Le Dedicated Cloud est le seul produit dédié qui permet une telle liberté en termes d’ajout et de suppression de ressources physiques, et c’est ce qui intéressait HostMe. En effet, les machines virtuelles ont été déployées sur des hosts dédiés afin que toutes les ressources physiques soient allouées à une seule VM à la fois.

Cluster Galera

Cluster Galera

Galera est une technologie basée sur Maria DB comme moteur de bases de données et fonctionnant en Multi-Master, en opposition aux modes traditionnels par couple Master-Slave ou Master-Master.

En pratique, cela se traduit par la lecture, ou l’écriture possible depuis n’importe quel nœud du cluster, assurant élasticité, performance, et haute disponibilité de cette partie de la plateforme.

La réplication fonctionne en mode synchrone et, avantage notable, un serveur défectueux est automatiquement évincé du cluster, tandis qu’un nouveau serveur peut y être intégré automatiquement en quelques instants.

Les éléments de l'infrastructure

  • Dedicated Cloud : 21 hosts XL au moment du pic
  • Infrastructure n-tiers
  • Cluster de base de données Galera
  • vLAN pour l’isolation des clients présents sur le Dedicated Cloud
  • Une machine physique par machine virtuelle

RETOUR D'EXPÉRIENCE

retour d'expérience

Pourquoi avoir choisi le Dedicated Cloud ?

Nous utilisons la solution Dedicated Cloud depuis juin 2012, et ce pour plusieurs raisons. Tout d’abord, nous avions besoin de centraliser la gestion des serveurs que nous avions en charge sur divers ESXi, ainsi que quelques serveurs dédiés physiques. La solution était aussi un moyen idéal de consolider l’utilisation de notre infrastructure tout en gagnant un temps considérable grâce aux fonctionnalités apportées par les technologies VMware (DRS, vMotion). L’apport de la haute disponibilité et la possibilité d’augmenter sans difficultés les performances du matériel au fil des générations étaient également des plus, qui nous ont permis de bénéficier de deux générations de Dedicated Cloud AMD, puis de l’actuelle gamme Intel, sans avoir à réinstaller complétement les serveurs virtuels comme nous aurions eu à le faire sur du matériel physique

Par ailleurs, la possibilité d’ajouter des ressources à la demande à l’heure ou au mois en quelques clics était indispensable pour nos clients, notamment dans l’optique de besoins de courte durée tel qu’un passage télévisé comme ce fut le cas avec SOSav. Ce choix a été fructueux sur le long terme, nous permettant de vraiment nous concentrer sur l’optimisation du service apporté à nos clients.

Comment avez-vous implémenté la solution Dedicated Cloud dans votre activité ?

Notre Dedicated Cloud héberge différents clients. Certains disposent de serveurs virtuels très simples, d’autres possèdent une infrastructure plus élaborée comme c’est le cas ici. L’apport du vLAN permet d’isoler le trafic entre les serveurs d’un même client, et donc de faire cohabiter en toute sécurité plusieurs clients sur un même cluster.

Quel a été le plus gros challenge pour préparer l’infrastructure de SOSav à ce pic de charge ?

Le principal défi a été d’automatiser un maximum les tâches à réaliser grâce à Puppet : déploiement des nouvelles machines virtuelles depuis un template et configuration automatique du réseau.

Ceci a pu être réalisé sans difficulté, notamment avec l’apport de l’API vSphere (SDK VMware), au moyen de simples scripts Perl, en nous basant sur les scripts disponibles sur le forum OVH.

Comment procéderiez-vous si la situation se présentait à nouveau ?

Si c’était à refaire, nous procéderions de la même manière. Nous avons pu constater qu’il est rapide de déployer automatiquement des VM supplémentaires sur notre Dedicated Cloud et de les répartir sur des hosts à l’heure souscris au préalable.

De plus, cette tarification des serveurs à l’heure du Dedicated Cloud nous permet de disposer d’une infrastructure dimensionnée de façon adéquate, pour une courte période et à un tarif très raisonnable.

Mathieu CAUSERO
Co-fondateur de HostMe

L'avis de OVH

L'avis de OVH

Le Dedicated Cloud a été pensé pour apporter de la souplesse dans la gestion quotidienne des infrastructures. Les situations de montées en charge progressives ou ponctuelles (pics de charge) font partie du cycle de vie d’une infrastructure et pour cela, nous avons développé des processus automatiques qui permettent aux clients d’être autonomes dans la gestion des ressources de leur Dedicated Cloud. Directement depuis leur espace client ou leur interface vSphere (plugins développés par OVH), les ressources supplémentaires (Hosts et Datastores) sont livrées automatiquement dans le Dedicated Cloud, configurées dans le vCenter, et donc prêtes à l’emploi. Le haut niveau d’industrialisation en place nous permet de livrer ces ressources supplémentaires en 5 minutes avec une facturation au mois ou à l’heure. La suppression de ressources se réalise aussi simplement, en 1 clic.

Le design n-tiers de l’infrastructure mise en place par HostMe facilite la scalabilité horizontale. Avec des machines virtuelles spécialisées, il est plus simple de dupliquer les VM afin d’augmenter le pool de chaque Tiers. Pour des activités critiques, le design n-tiers autorise également une tolérance à la panne optimisée (en complément de la répartition de charge). HAproxy est utilisé très régulièrement dans les infrastructures de nos clients car il présente l’avantage de se déployer facilement et de distribuer le trafic sur des IP privées en définissant simplement les IP dans le fichier de configuration d’HAproxy.

La configuration de certaines VM dans un ou plusieurs vLAN apporte la garantie d’isoler ces machines du réseau public. La seule porte d’entrée devient l’IP Load Balancing et rend inaccessible le reste de l’infrastructure depuis Internet, grâce à une stricte politique de configuration de ces VM (via la console, VM VPN, règles de firewall, sauts de connexions SSL, etc.)

Pour finir, l’utilisation de Puppet permet d’orchestrer l’automatisation du déploiement des nouvelles VM, et conserver une cohérence dans la configuration de l’existant. Il est intéressant de passer du temps à configurer cette solution lorsque votre infrastructure fait régulièrement face à des pics de charge. Puppet est donc très souvent utilisé pour gérer le déploiement automatisé de VM pour les infrastructures du secteur du e-commerce.

Mehdi BEKKAI
Chef de produit Dedicated Cloud