New Technologies In Live

Virtualisation d’une architecture web : haute disponibilité, évolutivité, et répartition de charge

Publié par   : Michael Bideau le  : Dimanche 18 octobre 2009

blue-architecture-cyanRichard Demongeot, un ami administrateur systèmes Unix, a conçu une architecture matérielle et logicielle taillée pour le web avec une forte résistance aux pannes et une qualité de service augmentée. Elle est fortement basée sur la virtualisation et peut donc être mise en place à partir de 2 serveurs (physiques). Son fonctionnement est illustré ci-dessous. Sur la page de l’auteur vous trouverez une liste détaillée des applications qui composent chaque service.

Scalable and Redundant Web Architecture : thank you Virtualization

Un mot sur la virtualisation

Les deux serveurs physiques disposent à eux seuls de l’ensemble des services nécessaires à une architecture web tout en offrant de la répartition de charge et de la redondance (de services). Cela est possible grâce à la virtualisation.

En effet sur le serveur n°1 comme sur le n°2 un système hôte (dom0) ajoute une couche qui abstrait l’accès aux ressources de la machine (CPU, RAM, DISK, etc.) et permet notamment de les découper en parts (inégales) que l’on redistribue ensuite à des systèmes virtualisés.

Un système virtualisé est un système d’exploitation complet qui est lancé tel une application du système hôte (pour simplifier fortement). Ainsi un système hôte peut lancer plusieurs systèmes d’exploitation sur une même machine physique et cela permet d’isoler les différents services pour plus de sécurité et une meilleure allocation des ressources de la machine grâce au système de parts virtuelles.

L’avantage le plus important de la virtualisation est la souplesse qu’elle apporte et ici cela se traduit par une évolutivité à toutes épreuves (ou presque).

Haute disponibilité : résistance aux pannes

Chaque service est redondé, c’est à dire présent en double, un sur chaque serveur physique. Si l’un des deux vient à bugger, le second prend la relève immédiatement (un temps infime est nécessaire pour basculer de l’un à l’autre) et assure ainsi la continuité du service. Cela est valable quelque soit le service : web, filer, mail, etc.

Qualité de service : répartition de charge

En plus d’être dupliqués pour garantir une disponibilité constante, les services qui le nécessitent (web, sql, et mail) sont gérés par un répartiteur de charge. Cela permet de distribuer le service de manière efficace entre deux serveurs virtuels (chacun situé sur une machine physique différente) qui rendent le même service. L’objectif étant d’assurer le traitement d’un maximum de requêtes en un minimum de temps.

Service Web efficace : séparation du contenu dynamique – statique

En plus de la répartition de charge, le service web est divisé en deux pour une meilleure efficacité, l’un dynamique et l’autre statique (tous deux “load balanced”).

Le premier traite tout le contenu dit “dynamique” ce qui correspond typiquement à la génération de code HTML (via PHP) pour afficher les pages web.

Le second est en charge de délivrer tout le contenu dit “statique”, ce qui peut se traduire par “tout fichier qui n’est pas généré dynamiquement”. En général on retrouve dans l’aspect statique, des fichiers tels que des images, des mp3, des vidéos, etc.On pourrait également mettre ici les fichiers CSS, JS, XML.

Reprise sur panne simplifiée : politique de sauvegarde pertinente

En plus de la duplication des filers, ce qui limite déjà fortement les pannes, un service de backup est présent afin de réaliser une sauvegarde de chacun des systèmes virtuels complets de chaque service provenant de l’autre machine physique. Ainsi, si une des deux machines vient à ne plus fonctionner, on peut reconstruire une nouvelle machine très simplement à partir du service de backup de la machine restante qui contient les données de celle qui est down.

A venir : aspect réseau

Il y a déjà énormément à dire sur cette architecture en l’état, c’est pourquoi Richard (et moi-même) ajouterons dans un deuxième temps tous les aspect réseaux.

A noter : ceci n’est (pour l’instant) que de la théorie

Cette architecture web n’a pour l’instant pas encore été réalisée par nos soins, et cela ne reste donc que de la théorie. Cependant très prochainement l’auteur, Richard Demongeot, aura l’occasion de la réaliser à titre personnel. Bien entendu, il ne manquera pas de nous faire partager ses retours d’expérience sur ce projet très INtéressant.

La société SIVIT.fr, dans laquelle il travaille, réalise déjà ce type d’infrastructure et je vous conseille, pour ceux qui sont intéressés, d’aller voir leurs offres à très bon rapport qualité / prix.

Stay tuned ;-)

La rédaction de cet article a nécessité 2h14.

Répondre

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Twitter picture

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Connexion à %s

Translate this blog English Français Español

Bienvenue

Blog ouvert sur les nouvelles technologies. Il sera souvent technique lorsque j'aborderai mon travail et ma passion: le développement web et système. Cependant j'essaierai de prendre du recul et d'évoquer d'autres thèmes plus généralistes tels que le matériel numérique, la gestion de projets, l'entreprenariat, l'informatique verte et les nouvelles sciences telles que les nanotechnologies et la robotique (qui m'intéressent particulièrement). Je vous souhaite une agréable lecture et espère pouvoir vous être utile ... Bon surf ;-)

Fréquence de publication

1 ou 2 articles par semaine
Création du blog: 31-07-2009

A propos de l’auteur

Je m'appelle Michael BIDEAU, j'ai 25 ans. Je vis à Marseille dans le sud de la France. Je suis diplômé de l'université de Dauphine (Paris) en Master MIAGE spécialité Nouvelles Technologies. Je suis en train de travailler à créer ma propre société dans le domaine des services informatiques. Le projet n'est pas encore concrétisé car il demande beaucoup d'études, de recherches et surtout de décisions ;-)
Si vous souhaitez entrer en contact avec moi voici les outils qui vous le permettront


Pour en savoir plus sur moi je vous recommande de visiter mon univers Netvibes (ci-dessous) afin de profiter de ma sélection des meilleurs flux d'informations sur le Web 2.0, le Développement Web et l'Entrepreneuriat.


Je bookmark donc je suis

Blog Stats

  • 4,058 hits

VCard

card.ly
Suivre

Get every new post delivered to your Inbox.