Un serveur est un ordinateur ou un système qui met des ressources, des données, des services ou des logiciels à la disposition d’autres ordinateurs, qualifiés de « clients », sur un réseau. En théorie, un ordinateur est considéré comme un serveur à partir du moment où il partage des ressources avec une machine cliente. Il existe de nombreux types de serveurs, notamment les serveurs web, les serveurs de messagerie ou encore les serveurs virtuels.al servers.
Un système x peut simultanément fournir des ressources à un système y et utiliser celles que ce dernier met à sa disposition. En d’autres termes, un périphérique peut agir à la fois comme serveur et comme client.
Parmi les tout premiers serveurs se trouvaient notamment les ordinateurs centraux et les mini-ordinateurs. Ces derniers étaient à l’époque bien plus compacts que les ordinateurs mainframe, d’où leur nom. Avec les progrès de la technologie, ils ont néanmoins fini par devenir bien plus imposants que les ordinateurs de bureau modernes, si bien que leur nom semble aujourd’hui grotesque.
À l’origine, les serveurs de ce type étaient connectés à des clients nommés « terminaux » qui n’effectuaient pas de calculs à proprement parler. Surnommés « terminaux idiots », ils avaient pour seule utilité d’accepter la saisie de données via un clavier ou un lecteur de cartes, et de renvoyer les résultats de calculs à un écran ou une imprimante. Ces calculs étaient en revanche effectués par le serveur.
Quelques années après, la plupart des serveurs étaient de puissants ordinateurs dédiés connectés via à un réseau à un ensemble de machines clientes de moindre puissance. Cette architecture réseau est souvent qualifiée d’environnement client-serveur, un modèle dans lequel l’ordinateur client et le serveur possèdent tous deux des capacités de calcul, mais où certaines tâches sont dévolues aux serveurs. Dans les modèles informatiques antérieurs, comme le duo mainframe-terminal, le mainframe faisait office de serveur sans en porter le nom pour autant.
La définition du serveur a ensuite évolué parallèlement au progrès technologique. De nos jours, un serveur est parfois un simple logiciel qui tourne sur un ou plusieurs dispositifs informatiques physiques, auquel cas on le qualifiera généralement de serveur virtuel. À l’origine, les serveurs de ce type permettaient d’étoffer le nombre de fonctions qu’un serveur physique était en mesure d’accomplir à lui seul. Aujourd’hui, les serveurs virtuels s’exécutent souvent sur le matériel d’un fournisseur tiers sur internet : on parle alors de cloud computing.
Un serveur peut être conçu pour effectuer une seule et même tâche. C’est le cas du serveur mail, ou serveur de messagerie, dont le rôle consiste à accepter et stocker des e-mails, avant de les mettre à la disposition du client qui les sollicite. D’autres serveurs sont capables d’assurer différentes tâches, comme un serveur de fichiers ou un serveur d’impression, qui va à la fois stocker les fichiers et accepter les tâches d’impression que lui confient les clients, puis les transmettre à une imprimante connectée au réseau.
Pour faire office de serveur, un périphérique doit être configuré pour écouter les requêtes que les clients lui transmettent via une connexion réseau. Cette fonction peut être disponible sur un système d’exploitation sous la forme d’une application ou d’un rôle installé, ou bien d’une combinaison des deux.
Par exemple, le système d’exploitation Windows Server de Microsoft intègre une fonctionnalité permettant d’écouter et de répondre aux requêtes clients. Les rôles ou services installés ont aussi pour fonction d’étoffer les types de requêtes clients auxquels le serveur est capable de répondre. Pour prendre un autre exemple, un serveur web Apache répond aux requêtes d’un navigateur via une application tierce (en l’occurrence Apache) installée sur un système d’exploitation.
Quand un client sollicite des données ou une fonctionnalité auprès d’un serveur, il envoie une requête sur le réseau. Le serveur la reçoit et y répond en communiquant l’information qui lui a été demandée. C’est le mode requête-réponse du modèle client-serveur.
Un serveur va souvent effectuer d’autres tâches dans le cadre d’une requête-réponse : vérifier l’identité de l’auteur de la requête, s’assurer que le client a l’autorisation d’accéder aux données ou ressources qu’il sollicite, et formater correctement ou renvoyer la réponse requise selon la méthode qui en est attendue.
Il existe des types de serveurs pour toutes sortes de fonctions. Beaucoup de réseaux contiennent au moins un ou deux types de serveurs d’usage courant :
Serveurs de fichiers
Les serveurs de fichiers hébergent et diffusent des fichiers que peuvent partager une multitude de clients ou d’utilisateurs. Grâce au stockage central des fichiers, il est plus simple d’effectuer des sauvegardes et de déployer des solutions de tolérance aux pannes que si on tentait d’assurer la sécurité et l’intégrité des fichiers sur chacun des appareils appartenant à une entreprise. La partie matérielle du serveur de fichiers est parfois conçue pour maximiser les vitesses de lecture et d’écriture afin d’optimiser les performances.
Serveurs d’impression
Le serveur d’impression permet d’administrer et de répartir les fonctions d’impression. Au lieu de connecter une imprimante à chaque poste de travail, on fait appel à un serveur commun qui va prendre en charge les demandes d’impression de beaucoup de clients. De nos jours, les modèles d’imprimantes les plus volumineux et sophistiqués intègrent parfois leur propre serveur d’impression, ce qui évite de recourir à un serveur informatisé. Ce serveur interne fonctionne comme les autres, en répondant aux demandes d’impression émanant d’un client.
Serveurs d’applications
Le serveur d’applications offre un contexte d’exécution aux ordinateurs clients pour leur éviter d’exécuter des applications localement. Les serveurs de ce type hébergent la plupart du temps des applications gourmandes en ressources que se partage une large communauté d’utilisateurs. Par ce biais, les clients ne sont plus tenus de disposer de ressources suffisantes pour faire tourner les applications, et il devient inutile d’installer et de garder à jour des logiciels sur une multitude de machines : on se contente de le faire sur le serveur, et tous les utilisateurs en bénéficient.
Serveurs DNS
Les serveurs DNS (pour Domain Name System) sont des serveurs d’applications utilisés pour résoudre les noms de domaines des ordinateurs clients, c’est-à-dire traduire des noms conçus pour être compris de l’homme en adresses IP exploitables par une machine. Le système DNS est une base de données largement répandue qui contient des noms et d’autres serveurs DNS dont chacun peut servir à demander le nom d’un ordinateur qui, autrement, resterait inconnu. Quand un client a besoin de l’adresse d’un système, il envoie à un serveur DNS une requête DNS portant le nom de la ressource visée. Le serveur DNS répond en lui fournissant l’adresse IP nécessaire, qu’il trouvera au sein de sa table de noms.
Serveurs de messagerie
Les serveurs de messagerie sont un des types de serveurs d’applications les plus répandus. Ils reçoivent les courriers électroniques adressés à un utilisateur et les gardent en mémoire jusqu’à ce qu’ils soient sollicités par un client au nom de l’intéressé. Posséder un serveur mail permet de configurer et de rattacher correctement une machine au réseau à tout moment. Elle sera alors prête à envoyer et recevoir des messages au lieu de demander à toutes les machines clientes de faire tourner en continu leur propre sous-système de messagerie.
Serveurs web
Les serveurs web comptent parmi les catégories de serveurs les plus répandues sur le marché à l’heure actuelle. Un serveur web est un genre de serveur d’applications qui héberge des logiciels et des données que les utilisateurs vont solliciter sur internet ou sur un intranet. Ces serveurs répondent aux demandes de pages web ou d’autres services web qui proviennent de navigateurs tournant sur des ordinateurs clients. Parmi les serveurs web les plus populaires, on peut citer ceux d’Apache, de Microsoft Internet Information Services (IIS) et les serveurs Nginx.
Serveurs de bases de données
Le volume de données utilisées par les entreprises, les utilisateurs, et les autres services est tout bonnement colossal. Beaucoup de ces données sont stockées dans des bases de données. Celles-ci doivent être accessibles à de nombreux clients à n’importe quel moment et peuvent mobiliser une gigantesque quantité d’espace disque. À ce titre, les serveurs sont une solution idéale pour héberger des bases de données. Les serveurs de bases de données exécutent des applications de bases de données et répondent aux nombreuses requêtes des clients. Les applications les plus répandues sur ce segment sont Oracle, Microsoft SQL Server, DB2, ou encore Informix.
Serveurs virtuels
Les serveurs virtuels sont en train de conquérir le monde de l’informatique. Contrairement aux serveurs classiques, qu’on installe comme un système d’exploitation sur une machine physique, les serveurs virtuels ne peuvent tourner que sur un logiciel spécialisé appelé hyperviseur. Chaque hyperviseur peut exécuter simultanément des centaines, voire des milliers de serveurs virtuels. L’hyperviseur présente le matériel virtuel au serveur comme s’il s’agissait de matériel physique. Le serveur virtuel utilise le matériel virtuel comme s’il s’agissait de hardware normal, et l’hyperviseur confie les tâches de calcul et de stockage à la machine sur laquelle il est installé, qui est commune à tous les autres serveurs virtuels.
Serveurs proxy
Un serveur proxy fait office d’intermédiaire entre un client et un serveur. Souvent utilisé pour isoler soit les clients, soit les serveurs, dans une optique de sécurité, un serveur proxy reçoit les requêtes que lui transmet le client. Au lieu de répondre à ce dernier, il transfère la demande à un autre serveur ou processus. Le serveur proxy reçoit la réponse émanant du deuxième serveur, puis répond au client d’origine comme si la réponse émanait de lui. De la sorte, le client et le serveur qui lui répond n’ont pas besoin d’être connectés l’un à l’autre.
Serveurs de supervision et d’administration
Certains serveurs ont pour vocation de superviser ou de gérer d’autres systèmes et clients. Il existe de nombreux types de serveurs de supervision. Certains écoutent le réseau et reçoivent l’ensemble des requêtes client et des réponses des serveurs, tandis que d’autres n’interrogent pas les données ni n’y répondent eux-mêmes. Cela permet au serveur de supervision de garder à l’œil tout le trafic du réseau et les requêtes et réponses des clients et serveurs, sans pour autant interférer avec ces opérations. Un serveur de supervision va répondre aux requêtes émanant de clients dédiés à la supervision, comme ceux qu’utilisent les administrateurs réseau soucieux de surveiller la santé du réseau.
Le concept de serveur est quasiment aussi ancien que celui de mise en réseau. Et cela n’a rien d’illogique, puisque la vocation d’un réseau est de permettre à une machine de communiquer avec une autre et de diffuser soit des tâches, soit des ressources. L’informatique a évolué depuis, donnant naissance à des serveurs reposant sur plusieurs types de structures et de hardware.
Mainframe ou mini-ordinateur (AS/400)
Les tout premiers serveurs, les ordinateurs mainframe, qui furent suivis quelques années après les mini-ordinateurs, assuraient quasiment toutes les fonctions informatiques, exception faite de l’interaction avec l’utilisateur par le biais de l’écran et du clavier, tâche qui restait dévolue au système client.
Serveurs informatiques
Le marché des serveurs a ensuite connu la vague des serveurs informatiques. À maints égards, ceux-ci n’étaient rien de plus que des ordinateurs de bureau plus grands et plus puissants. Généralement plus onéreux, ils disposaient de bien plus de mémoire et d’espace disque que la majorité des ordinateurs clients. Chaque serveur restait une unité autonome, dotée de sa propre carte mère, de son processeur, sa mémoire, ses lecteurs de disque et son alimentation électrique. Les serveurs de ce type étaient souvent installés dans des pièces climatisées appelées salles de serveurs, et furent par la suite montés dans des racks facilitant leur stockage et leur accessibilité.
Serveurs lames
À l’origine, le matériel serveur était volumineux et stocké dans des racks capables de supporter plusieurs centaines de kilos. Au fil du temps, l’émergence de solutions permettant de connecter du matériel plus vite a toutefois permis d’extraire certaines parties d’un serveur autonome. En en retirant les disques durs, en éliminant les systèmes de refroidissement interne et en poussant encore plus loin la miniaturisation des composants informatiques, il est devenu possible de réduire les serveurs en un serveur léger unique appelé serveur lame. Bien qu’ils soient toujours stockés dans des racks au sein de salles de serveurs, les serveurs lames sont plus compacts et peuvent être remplacés plus facilement.
Combinaisons de serveurs
Avant l’avènement de la virtualisation, les serveurs s’inspiraient du modèle standard consistant en un système d’exploitation spécialisé et autonome qui était installé sur une machine physique. L’émergence de technologies comme le stockage en réseau (NAS) a affranchi les serveurs de la nécessité de posséder leur propre dispositif de stockage. D’autres technologies, telles que le mirroring et le clustering, ont permis de combiner des composants matériels pour aboutir à des serveurs plus grands et plus puissants. Ceux-ci peuvent se composer de plusieurs lames, de plusieurs périphériques de stockage interconnectés et d’une alimentation électrique externe, et chaque élément peut être remplacé par un autre sans qu’il soit nécessaire d’interrompre le fonctionnement du serveur.
Serveurs virtuels
Les serveurs virtuels nécessitent toujours du matériel, mais ce dernier fait désormais tourner un processus différent baptisé hyperviseur. Dans certains cas, comme l’Hyper-V de Microsoft, un système d’exploitation à part entière continue de s’exécuter sur le hardware. Dans d’autres, on peut installer des hyperviseurs dits « bare metal » directement sur le matériel serveur. Dans les deux cas, le matériel lui-même est souvent réparti sur un ensemble de serveurs lames, de dispositifs de stockage en réseau et d’alimentation électrique, ce qui crée un environnement dans lequel il est impossible de savoir où un serveur se termine et où un autre commence.
Serveurs Microsoft Windows
On peut considérer que Windows for Workgroups a été le premier système d’exploitation que Microsoft a dédié aux serveurs. Sous cette version, les utilisateurs pouvaient configurer certains ordinateurs pour qu’ils se partagent des ressources et répondent aux requêtes des clients, ce qui les transformait de facto en serveurs. Le premier véritable système d’exploitation pour serveurs de Microsoft était Windows NT. Ses versions 3.5 et 3.51 tournaient sur bon nombre de réseaux d’entreprise jusqu’à ce que Microsoft sorte sa gamme Windows Server, qui existe encore à ce jour. La version la plus récente de l’OS, Windows Server 2016, prend en charge de nombreuses applications et bases de données et intègre un hyperviseur qui permet l’utilisation de serveurs virtuels.
Serveurs Linux / Unix
Linux/Unix est l’autre grand acteur de l’univers des systèmes d’exploitation pour serveurs. On trouve plusieurs versions et variantes de Linux/Unix, notamment Red Hat Enterprise Linux, Debian et CentOS. Comme il s’agit d’un système d’exploitation open source, Linux jouit d’une grande popularité en tant que serveur web. On y installe souvent le serveur d’applications web Apache.
NetWare
S’il n’est plus produit aujourd’hui, le système d’exploitation pour serveurs NetWare a connu un grand succès à une époque marquée par la démocratisation rapide du modèle client-serveur. Au bout du compte, NetWare a fait migrer son système d’exploitation vers un noyau reposant sur Linux, et l’a baptisé Novell Open Enterprise Server (OES).
Serveurs cloud
Les serveurs virtuels hébergés sur une infrastructure tierce connectée à un réseau ouvert, comme le web, sont qualifiés de serveurs cloud. Parmi les nombreux fournisseurs de serveurs cloud actuellement présents sur le marché, on peut citer la Cloud Platform de Google, Microsoft Azure, ou encore IBM Cloud.
Cependant, un des vrais pionniers du cloud computing destiné aux entreprises est la plateforme AWS d’Amazon. Initialement conçue pour tirer profit des capacités inutilisées des serveurs et réseaux du géant américain, AWS permet désormais à ses clients de créer quasi instantanément un serveur virtuel, puis de définir la quantité de ressources qu’un serveur peut utiliser à la volée.
Aujourd’hui, un serveur peut se résumer aux données d’un équipement physique qui se compose d’un grand nombre de processeurs, de lecteurs de disque, de mémoire, et de connexions réseau. Il n’en reste pas moins qu’un serveur n’est, aujourd’hui encore, rien d’autre qu’un système qui répond aux requêtes transmises par un client.
Références :
- Server definition - Webopedia
- Server - Wikipedia
- What is a server? - Computerhope
- Servers are the heart and lungs of the internet - Lifewire
- In the beginning: The history and evolution of device servers - ElectronicDesign
- Server operating systems: history and today's situation - 1&1 Digital Guide
- A comparison of different servers - 1&1 Digital Guide
- What is a server? - 1&1 Digital Guide