Les architectures web – le serveur dédié
Cet article fait suite à l’introduction sur les architectures web. La dernière fois, nous nous sommes intéressés aux composants d’une architecture web ainsi qu’à une installation basique mais limitée à un unique serveur virtuel. Nous allons maintenant nous placer dans une nouvelle situation plus exigeante. En effet, le site que vous hébergiez dans un premier temps sur un serveur virtuel est à l’étroit. Votre site a gagné en popularité et votre serveur virtuel ne vous suffit plus en terme de performances.
Regard en arrière
Afin de pouvoir étudier les possibilités d’évolution, il est intéressant de se pencher sur l’offre que vous possédez actuellement, le serveur virtuel. En effet, le serveur virtuel est une machine virtuelle hébergée sur le même serveur physique de nombreuses autres en utilisant des technologies de virtualisation telles que VMWare ou Xen. L’inconvénient majeur de ce type de solution est, selon moi, la mutualisation des ressources de disque dur.
Les disques dur à plateau sont aujourd’hui le composant informatique qui a évolué le plus lentement en terme de performances. Ceci s’explique assez simplement par des contraintes physiques extrêmement complexes liées aux composants mécaniques de très haute précision. Si en plus, vous vous retrouvez mutualisés sur un jeu de disques dur à plateau, ça commence à devenir vraiment léger en terme de performances. Évidemment, les technologies telles que le RAID10 permettent d’obtenir des performances accrues mais ça reste assez modeste par rapport ce que peuvent offrir des SSD.
Les offres de machines virtuelles hébergées sur des machines physiques dotées de SSD existent mais elles sont assez rares et souvent onéreuses.
En avant !
La première solution qui se présente à vous lorsque vous souhaitez disposer de plus de performances est la solution du serveur dédié. En effet, au lieu de partager des ressources avec vos voisins, vous allez pouvoir tout garder pour vous.
En terme de choix, vous allez avoir face à vous une offre pléthorique. Vous aurez le choix entre de très nombreux fournisseurs différents disposant de très nombreuses offres. En terme de prix, l’entrée de gamme des serveurs dédies est tout à fait abordable même pour un particulier. Si vous acceptez de mettre un budget légèrement supérieur à l’entrée de gamme, vous accéderez rapidement à une puissance de calcul tout à fait conséquente.
Le choix de l’hébergeur est à faire en fonction des critères de prix et des fonctionnalités qui vous sont proposées. Une bonne solution pour avoir des retours est d’interroger des amis qui ont eu l’occasion de louer un serveur dédié. Vous allez ainsi pouvoir avoir un retour d’expérience concret vous permettant de vous faire une idée.
Lors de cette phase, le choix du serveur se fera probablement en fonction du budget dont vous disposez. Je ne peux que vous recommander de vous pencher sur le choix d’un serveur disposant de SSD. En effet, vous allez héberger sur un même serveur toute votre architecture web ce qui va générer des IO aléatoires et concurrents importants. Or, il s’agit d’un point sur lesquels les SSD sont très significativement plus performants que les disques dur à plateau.
Au niveau du choix du système d’exploitation, je ne peux que vous recommander de choisir le système d’exploitation avec lequel vous êtes le plus à l’aise si votre objectif est d’avoir une architecture stable. Il y a tout de même une nuance à apporter à ceci. Le choix d’une distribution de type « rolling release » telle que Arch Linux ou Gentoo bien qu’agréable à utiliser car disposant de versions très récentes des applications vous rajoutera un travail d’administration conséquent. En effet, le suivi des mises à jour de sécurité et des applications a besoin d’être très régulier. De plus, contrairement à des distributions telles que Debian ou CentOS, les versions de logiciels disponibles dans les dépôts ont fait l’objet d’une procédure de test moins approfondie. Pour résumer, c’est donc à vous de voir en fonction des vos objectifs et des vos sensibilités. Il n’y a pas vraiment de bon ou de mauvais choix, tout dépend de ce que vous souhaitez réaliser.
Les spécificités
Au niveau du système d’exploitation, il y aura peu de différences entre un serveur virtuel et un serveur dédié. Toute votre pile applicative sera hébergée dans un même système d’exploitation.
Les quelques différences se situent au niveau de l’interface avec le matériel physique. Tout d’abord, vous allez devoir gérer le RAID logiciel qui sera probablement fourni avec votre serveur. La mise en place du RAID sera probablement faite par défaut par votre hébergeur ou par vous-même à travers l’interface de gestion. Je ne peux que vous recommander de vous interroger sur le schéma de partitionnement avec lequel votre serveur sera livré car il correspondra peut être pas à ce que vous souhaitez. Il serait dommage de s’en rendre compte une fois que vous aurez tout installé.
La fonctionnalité la plus intéressante à activer au niveau de mdadm est l’activation des alertes par email en cas de défaillance du RAID. Il s’agit réellement d’une fonctionnalité indispensable car découvrir que votre RAID est mort lorsque vous commencez à avoir des erreurs de disque ou des kernel panic n’est pas très agréable. Vous disposez également d’un autre outil qui vous permettra de suivre la santé de vos disques. Il s’agit de SMART. Vous avez à votre disposition sous Linux le paquet « smartmontools » qui vous permettra d’exécuter des tests manuels mais aussi de mettre en place des tests réguliers avec envoi d’alertes email si jamais les choses ne se passent pas comme elles le devraient.
Bilan
Le passage du serveur virtuel vers le serveur dédié est le premier grand pas. En effet, vous êtes désormais libres de faire ce que vous souhaitez avec le matériel mis à disposition. Vous devrez rapidement remarquer une amélioration des performances de votre site ainsi qu’une capacité d’accueil de visiteurs assoiffés de contenu accrue.
Néanmoins, votre serveur dédié reste un SPOF conséquent car vous ne disposez que de très peu de redondance dans un serveur dédié. De plus, la cohabitation entre tous les composants de votre architecture dans un même système d’exploitation peut se passer plus ou moins bien. Dans le prochain article, nous allons donc nous intéresser à la prochaine étape de l’évolution de votre architecture, le passage vers plusieurs serveurs.