De l'architecture de WMaker...

Bernardini federi le Mercredi 29 Septembre 2010

L'architecture de WMaker c'est l'ensemble des serveurs communiquant entre eux afin de fournir une réponse globale; cela peut être l'affichage de la homepage, la configuration de la page design dans le backoffice, l'envoi de la newsletter, l'accès aux albums de la galerie ou l'affichage d'une vidéo.
C'est Gregory qui est chargé de penser, réaliser et suivre cette architecture, aidé par Samir et Jérôme.
Cette architecture est basée dans un DataCenter sur Paris.


Les serveurs de l'architecture

Baies accueillant les serveurs
WMaker possède plus d'une centaine de serveurs physiques et virtuels. On compte plus de 160 disques durs. Les OS utilisés sont Linux et Solaris.

Les serveurs sont des machines qui exécutent une tache spécifique (base de données, page web, mails, etc...)

Les différents serveurs de l'architecture sont les serveurs :

- Web : ils fournissent les pages qui s'affichent sur votre navigateur
- back : ils fournissent spécifiquement les pages de vos backoffice.
- SQL : ils fournissent le contenu des pages stockés en base de données (MySQL et PostgreSQL)
- Mail : ils gèrent les envois et réception des mails
- Vidéos : ils gèrent le streaming, l'encodage et le stockage des vidéos
- Reverse Proxy : ils gèrent la circulation de toutes les données entre les serveurs, ce sont eux qui reçoivent votre demande et sollicitent les autres serveurs, enfin ils vous renvoient le tout.
- De cache : ils stockent une copie des pages ou partie des pages demandées afin de les fournir ultérieurement pour une plus grande rapidité.
- De Stats : ils calculent et fournissent quotidiennement les stats.
- De fichiers : ils fournissent les scripts nécessaires au fonctionnement des sites (Php, Python, etc...), mais aussi des images, des documents en téléchargement, vidéo ou même des mails.
- De taches : ils effectuent des taches quotidiennes, génération des vignettes, encodage, calculs

Surveillance, maintenance et panne

Toutes les données contenues sur l'ensemble des sites sont sauvegardées en permanence vers 2 autres sites.

Les serveurs sont monitorés en permanences par 3 systèmes :

- un système interne qui alerte plusieurs personnes par mail en cas de problème
- système externe géré par WMaker, Nagios, qui surveille et prévient en cas de problème
- une société tierce qui surveille aussi l'architecture.

Sur une telle architecture, les problèmes arrivent, ce sont donc les serveurs Reverse Proxy qui aiguillent alors vers les serveurs redondants.
De notre côté une fois alertés nous relançons le serveur qui pose problème et si nous sommes devant une panne physique (disque dur qui lâche par exemple) nous nous rendons sur place changer le disque défectueux.
De plus les serveurs sont redondés, c'est à dire que si un serveur tombe en panne ou s'arrête, un autre prend le relais automatiquement afin de ne pas couper le service et nous permet d'intervenir.
Greg configurant les nouveaux serveurs

De www.wmaker.net à la page qui s'affiche dans votre navigateur

Schéma architecture WMaker
Quand vous entrez cette adresse dans votre navigateur, les serveur DNS vous renvoient vers notre architecture.
La un serveur Reverse Proxy prend en charge votre demande, il demande alors au serveur Web la structure de la page, au serveur SQL le contenu, au serveur Static toutes les images et les feuilles CSS, au serveur vidéo les vidéos.
Mais il vérifie aussi qu'une telle page n'a pas déjà été créée et disponible sur un serveur de cache, auquel cas il la récupère (plus rapide). Enfin il vous renvoie la page ainsi constituée.