Surprise comme il en arrive souvent: le reportage TV qui a été réalisé sur votre entreprise il y a 2 mois va être programmé demain soir. Ou bien, au cœur d’une thématique brûlante, votre produit va faire l’objet d’une pastille pendant le 20 h.
Le passage à la télé s’accorde toujours mal avec le web. Car lorsque vous dimensionnez vos infrastructures IT, c’est plutôt pour gérer votre croissance sur 3 ans. Sur une belle courbe montante, en général linéaire. Et quand il faut gérer un pic de trafic de 800%, votre architecture va se retrouver à genoux.
Sauf avec Clever Cloud. Configurer vos applications pour absorber un pic de trafic se règle avec quelques clics dans l’interface:
Mais en réalité, gérer le trafic d’un site, c’est simple si vous êtes déjà hébergé par Clever Cloud. Cependant si ce n’est pas le cas, il n’y a pas fatalité pour autant.
M6 diffusait hier l’émission “Qui veut être mon associé ?”. Et la jeune entreprise BioDemain, qui aide les producteurs agricoles au cours des trois années de leur transition bio, y participe alors. Hébergé sur une architecture traditionnelle, le risque de voir le service tomber est grand. Nous avons donc aidé BioDemain à migrer son site vers Clever Cloud, et ce en moins de 24 heures!
Comment Clever Cloud gère ces pics de trafic
Tout d’abord, le trafic va être géré côté Clever Cloud par des load-balancers (aussi appelés répartiteurs de charge en français) avant d’atteindre votre application. Ces load-balancers (autrefois des instances HAPRoxy, et désormais des instances de Sōzu, un logiciel maison) vont se répartir le trafic entre eux. Au même titre que vous aviez des ELB d’Amazon (Elastic Load Balancer), sauf qu’ici, c’est inclus par défaut, et déjà configuré.
Votre application va ensuite recevoir le trafic. En fonction de votre configuration de scaling, votre application va pouvoir déclencher des alertes à notre système de monitoring si CPU et RAM augmentent. Et donc multiplier le nombre d’instances. Des load-balancers et de multiples instances en quelques seconde: et vous voilà paré pour gérer le trafic de votre site.
La migration en soi
Pour passer aussi rapidement chez Clever Cloud, nous avons été mis en relation avec les équipes de BioDemain. Et c’est la formidable organisation du support qui a été à leurs côtés pour migrer leur site (ici un WordPress) d’une solution mutualisée à Clever Cloud. Malgré un timing plutôt… serré.
La recette du succès a été une migration très rapide. En effet, il y a deux façon de déployer votre WordPress sur Clever Cloud:
- Rapidement, avec un simple transfert FTP
- D’une façon plus élégante avec l’usage de git pour le code, de Cellar pour les médias et de Composer pour les plug-ins. Nous recommandons le boilerplate de Bedrock pour cela. Zileo a fait un tutorial Bedrock pour Clever Cloud.
Évidement on est partis sur la première solution dans le cas de BioDemain.
Après avoir pris contact avec le développeur, la première étape a été de transférer les fichiers entre l’ancien hébergeur, et Clever.
Plusieurs dizaines de milliers de ficher, donc en FTP ça prends du temps.
En attendant la fin de la transmission de fichiers, notre équipe et BioDemain on pu déployer deux autres instances pour la suite: MySQL et Redis. Puis est venue la configuration de l’application PHP en elle-même (toujours pendant le tranfert).
Ici il a fallu:
- Activer ProxySQL pour mutualiser les connections applications
- Configurer proxySQL via de simples variables d’environnements:
CC_ENABLE_MYSQL_PROXYSQL=true
pour activationCC_MYSQL_PROXYSQL_MAX_CONNECTIONS =15
pour mettre en place le nombre max de connections à gérerCC_MYSQL_PROXYSQL_USE_TLS=true
si besoin
- Faire un dump de la base MySQL originale et importer ce dump dans la nouvelle
- Activer les session Redis dans PHP via les variables d’environnement.
Les petits tips tech en plus
- Vous pouvez également activer le Varnish intégré dans Clever Cloud si vous le sentez
- Aussi, mettez en place un CDN. Si vous n’avez pas le temps d’optimiser au petits oignons votre site, les CDN sont là pour décharger une partie du trafic sur eux.
- Avant toute chose, baissez les TTL de vos enregistrements CNAME et A de votre nom de domaine. Les changements de conf se propagent sur 24 h. Vous allez trouver dommage de faire une migration si le trafic continue d’aller ailleurs.
- Et si jamais vous avez un down, redirigerez votre page d’accueil vers une application qui affiche un formulaire de contact. Ainsi les internautes pourront ainsi laisser un email pour être joints à nouveau.
Enfin, évaluez les performances. Le moment fatidique du passage TV ne souffre pas d’un seul oubli. Pour cela: JMeter en local (attention, ca demande des ressources), ou des services en ligne super bien comme Gatling.io.
Vous avez toutes les cartes en main pour la suite 🙂 Bon courage !