En informatique, un serveur est une pièce de matériel informatique ou un logiciel (programme informatique) qui fournit des fonctionnalités à d’autres programmes ou dispositifs, appelés « clients ». Cette architecture est appelée le modèle client-serveur.
Les serveurs peuvent fournir diverses fonctionnalités, souvent appelées « services », telles que le partage de données ou de ressources entre plusieurs clients, ou l’exécution de calculs pour un client.
Un seul serveur peut servir plusieurs clients, et un seul client peut utiliser plusieurs serveurs. Un processus client peut s’exécuter sur le même périphérique ou se connecter via un réseau à un serveur situé sur un périphérique différent.
Les serveurs typiques sont les serveurs de bases de données, les serveurs de fichiers, les serveurs de courrier, les serveurs d’impression, les serveurs web, les serveurs de jeux et les serveurs d’applications.
Les systèmes client-serveur sont aujourd’hui le plus souvent mis en œuvre par (et souvent identifiés avec) le modèle demande-réponse : un client envoie une demande au serveur, qui effectue une action et renvoie une réponse au client, généralement avec un résultat ou un accusé de réception.
La désignation d’un ordinateur comme « matériel de classe serveur » implique qu’il est spécialisé dans l’exécution de serveurs. Cela implique souvent qu’il est plus puissant et plus fiable que les ordinateurs personnels standard, mais il se peut aussi que de grandes grappes de calcul soient composées de nombreux composants de serveur relativement simples et remplaçables.
Vous êtes-vous déjà demandé où se trouvent toutes les données de l’internet ? Lorsque nous créons un site web, les informations qu’il contient sont stockées sur les serveurs fournis par notre fournisseur d’hébergement. Mais qu’est-ce qu’un serveur ? Si vous ne savez pas ce que c’est ou en quoi cela consiste, nous vous le dirons.
À l’ère de l’internet, nous savons tous utiliser notre ordinateur pour surfer, envoyer/recevoir des mails, aller sur les réseaux sociaux, etc. Sans serveurs, cela serait impossible. Mais à quoi servent donc les serveurs ?
Un serveur est avant tout un ordinateur, mais une machine souvent plus performante que la moyenne, avec plus de mémoire, plus d’espace disque, de meilleurs processeurs. La grosse différence entre un serveur et un simple ordinateur, c’est que le serveur est souvent affublé d’une fonction bien particulière : serveur de fichiers, serveur de messagerie, serveur de base de données, serveur de temps, etc.
En tant qu’utilisateurs, nous utilisons des ordinateurs. Pourtant, sans serveurs, nous ne ferions pas grand-chose.
De fait, en tant qu’utilisateurs, lorsqu’on surfe, envoie/reçois des mails, ou interagit avec les réseaux sociaux, ce sont des serveurs qui nous répondent.
Le concept de serveur est un concept complexe car lorsque nous faisons référence au serveur, nous pouvons parler de deux choses différentes, ce qui peut parfois entraîner une certaine confusion quant à savoir laquelle est correcte. Lorsque nous disons serveur, nous pouvons faire référence au matériel, c’est-à-dire à l’ordinateur lui-même, ou nous pouvons également appeler serveur un certain logiciel fonctionnant sur cet ordinateur.
Le terme serveur a deux significations dans le domaine informatique. Le premier fait référence à l’ordinateur qui met les ressources à disposition sur un réseau, et le second au programme qui fonctionne sur cet ordinateur. Par conséquent, il existe deux définitions du serveur :
Définition Serveur (matériel)
Un serveur (matériel) est une machine physique intégrée à un réseau informatique sur laquelle s’exécutent, outre le système d’exploitation, un ou plusieurs serveurs logiciels. Un autre terme pour désigner un serveur matériel est « hôte ». En principe, tout ordinateur peut être utilisé comme « hôte » avec le logiciel serveur correspondant.
Définition Serveur (logiciel)
Un serveur logiciel est un programme qui offre un service spécial que d’autres programmes appelés clients peuvent utiliser localement ou sur un réseau. Le type de service dépend du type de logiciel du serveur. La base de la communication est le modèle client-serveur et, en ce qui concerne l’échange de données, des protocoles de transmission spécifiques aux services entrent en jeu.
Comment fonctionne un serveur ?
La fourniture de services de serveur sur un réseau informatique repose sur le modèle client-serveur, un concept qui permet de répartir les tâches entre différents ordinateurs et de les rendre accessibles à plusieurs utilisateurs finaux de manière indépendante.
Chaque service disponible sur un réseau sera offert par un serveur (logiciel) qui est en permanence en veille. C’est le seul moyen de garantir que les clients tels que les navigateurs web ou les clients de messagerie électronique ont toujours la possibilité d’accéder activement au serveur et d’utiliser le service en fonction de leurs besoins.
Qu’est-ce qu’un serveur et à quoi sert-il ?
Un serveur est un ensemble de matériel et de logiciels conçu pour recevoir des demandes de différents types et y répondre, parfois en renvoyant des informations, comme un serveur web qui renvoie des pages web, des images, des vidéos, etc. ou en recevant des données, comme un serveur de courrier électronique.
Un serveur est un ordinateur qui reçoit des requêtes d’autres ordinateurs connectés au même réseau ou à l’Internet et qui est chargé de répondre à ces requêtes selon la fonction. Dans certains cas, il peut recevoir des requêtes afin de renvoyer des informations ou des données comme une page web ou être préparé à recevoir des informations comme un serveur de courrier.
Types de serveurs
Les différents types de serveurs peuvent remplir de multiples tâches, beaucoup d’entre eux sont bien connus car nous les entendons tous les jours, comme les serveurs web ou les serveurs de messagerie ou d’autres moins nommés mais tout aussi importants comme le serveur DHCP ou le serveur DNS que nous utilisons tous les jours sans le savoir.
Examinons maintenant les différents types de serveurs qui existent sur Internet :
Serveur de courrier électronique
L’un des services les plus connus est sans aucun doute le service de courrier électronique qui est responsable de la réception, du stockage et, bien sûr, de l’accès au courrier, il ne s’agit pas vraiment d’un seul service mais d’un groupe de services, au moins un service SMTP pour envoyer et recevoir le courrier et un serveur POP/IMAP pour le visualiser, il fonctionne aussi généralement en conjonction avec un antivirus et un antispam. Le serveur de messagerie est l’une des technologies Internet les plus utilisées aujourd’hui.
Serveur VOIP
C’est un serveur qui permet d’utiliser le réseau local de données IP pour canaliser le trafic téléphonique comme s’il s’agissait d’un réseau téléphonique classique et avec le matériel approprié pour s’interconnecter avec le central téléphonique PBX lui-même ou s’interconnecter via un service externe au réseau téléphonique classique.
Serveur de fax
C’est un service qui permet d’envoyer et de recevoir des documents, au lieu de les recevoir et de les envoyer à partir d’un document papier comme le FAX traditionnel, ce service de fax permet de le faire directement avec un document numérique, c’est-à-dire que lorsqu’un document arrive au lieu de laisser le papier du fax un fichier numérique est créé, dans le cas de l’envoi le document est envoyé directement par le système téléphonique comme s’il avait été scanné.
Serveur proxy
Un serveur proxy est un serveur qui permet d’accéder à d’autres réseaux par son intermédiaire. Il peut être utilisé dans un réseau local pour permettre aux ordinateurs de surfer sur Internet de manière contrôlée, par exemple en déterminant les pages qu’ils peuvent voir, celles qu’ils ne peuvent pas voir, à quelles heures, ainsi qu’en contrôlant quel utilisateur accède, où il surfe, quelles pages il visite, pendant combien de temps, etc.
Un proxy public peut être utilisé pour cacher l’IP d’origine, ce qui ne signifie pas qu’il ne peut pas être tracé.
Serveur VPN
Signifie Virtual Private Network (réseau privé virtuel) et est un service qui permet des communications sécurisées par un tunnel crypté à travers un réseau non sécurisé tel qu’Internet. Un lien VPN peut être utilisé soit pour joindre deux réseaux géographiquement séparés, soit comme mécanisme pour préserver la confidentialité et l’anonymat jusqu’à un certain point sur Internet.
Serveur web
Après le service de messagerie, le serveur web est le service le plus nommé, c’est celui qui permet de publier et de distribuer des pages web, des images et des vidéos sur internet, il permet également de donner des bases aux applications basées sur http. Comme serveurs web, nous avons Apache, Nginx, LiteSpeed ou IIS.
Serveur de base de données
L’un des grands problèmes de l’informatique a toujours été de savoir comment stocker des informations et des données de manière rapide, sûre et fiable, et de pouvoir les récupérer rapidement en cas de besoin. Les serveurs de base de données constituent la meilleure solution à cet égard.
Un gestionnaire de base de données nous permet d’insérer, de mettre à jour, de supprimer, de lister, de trier, de mesurer, de compter, de contrôler et de gérer facilement d’énormes quantités de données.
Serveur DNS
Le serveur de noms de domaine est un serveur similaire à une base de données qui nous permet de localiser le serveur qui héberge ce site web ou le système de messagerie d’un domaine Internet. Si vous voulez connaître en profondeur le fonctionnement de ce service, nous vous recommandons de lire le document sur le serveur DNS, où le fonctionnement est expliqué en détail.
Serveur DHCP
Ce service est presque inconnu de l’utilisateur commun, cependant c’est l’un des plus utilisés même sans s’en rendre compte, ce service est celui qui gère les adresses IP dans un réseau et lorsqu’on connecte un ordinateur au réseau ou un téléphone au WIFI il attribue une adresse IP unique dans le réseau.
C’est un service indispensable dans tout réseau pour gérer les IP de manière simple et sûre en évitant les conflits dans le réseau, c’est tellement important qu’en fait chaque routeur domestique inclut un serveur DHCP. S’il n’existait pas, nous devrions attribuer une IP à la main en nous assurant qu’elle n’est pas occupée, un processus lourd sans serveur DHCP.
Serveur FTP
L’un des plus anciens serveurs existants, il s’agit du protocole de transfert de fichiers, un protocole qui vous permet d’accéder à un serveur pour télécharger, mettre à jour ou supprimer des fichiers du serveur. Le serveur FTP est encore largement utilisé aujourd’hui car il permet, entre autres, d’accéder facilement et de manière sécurisée à un service d’hébergement pour gérer les fichiers d’un site web.
Serveur SSH
Signifie Secure SHell, un service qui permet d’accéder à distance à la console d’un serveur ou de n’importe quel PC sous une couche de cryptage qui garantit la sécurité et la confidentialité, fournit une console comme si on y accédait localement et permet d’exécuter toute commande nécessaire sur l’ordinateur, il peut également être utilisé pour transférer des fichiers en toute sécurité entre deux ordinateurs, qu’il s’agisse de serveurs ou de postes de travail.
Le serveur SSH est le plus souvent utilisé pour le chargement et le téléchargement de données, ainsi que pour l’exécution de commandes sur les serveurs.
Serveur de fichiers
C’est un serveur conçu pour stocker des fichiers et les rendre accessibles aux utilisateurs, soit sur un réseau local, soit sur Internet, il peut prendre différentes formes, il peut être mis en œuvre en utilisant différents protocoles, entre autres NFS, FTP ou SMB/CIFS dans les systèmes Microsoft ou Samba, son équivalent sous Linux, en bref, le serveur NAS typique.
Les pare-feu, parfois appelés firewalls, sont des services qui ajoutent une couche supplémentaire à la communication entre le réseau local et l’internet, comme un VPN ou un système de détection des intrusions.
Serveur d’impression
Le serveur d’impression est un service qui permet de gérer la file d’attente des documents en attente d’être imprimés dans une ou plusieurs imprimantes, il existe également un dispositif matériel indépendant appelé serveur d’impression qui remplit la même fonction, la différence est qu’il fonctionne indépendamment de tout PC ou serveur.
Serveur cache
Le serveur cache est un service qui permet de stocker des fichiers et même des résultats de requêtes de bases de données dans une zone d’accès rapide afin d’accélérer les applications et les pages web.
Par exemple, les fichiers fréquemment demandés sont stockés en mémoire où l’accès est beaucoup plus rapide que de les demander à partir du disque de stockage (HDD ou SSD) ou les résultats de requêtes SQL répétitives sont stockés en mémoire ou dans des fichiers au lieu d’être exécutés sur la base de données à un coût et un temps CPU inférieurs.
Serveur d’équilibrage de la charge
Il est chargé de répartir la charge sur les autres serveurs qui se trouvent derrière, assurant ainsi la stabilité des applications qui tournent sur eux, ou de leurs bases de données. Il s’agit généralement de matériel spécialisé dans ces tâches, ou de logiciels qui assurent l’équilibrage des charges une fois installés sur le système d’exploitation (comme dans le cas de Nginx).
Matériel de serveur
Lorsque l’on pense à un serveur, on pense généralement à un équipement de grande taille et puissant, mais il existe des serveurs de toutes tailles, depuis les gros ordinateurs qui occupent des pièces entières et exécutent des millions et des millions d’instructions par seconde jusqu’aux serveurs de la taille d’une pièce de dix cents dédiés à des tâches spécifiques.
Tout appareil doté d’un processeur, d’une mémoire et d’une capacité réseau peut être un serveur. Un appareil aussi petit qu’un Raspberry Pi peut parfaitement remplir les tâches d’un serveur web sur l’internet, même s’il n’est pas le plus puissant.
Il est évident que pour avoir un serveur rapide et capable d’absorber le trafic et les visites à l’aide d’un système d’exploitation et d’une pile web puissants, il faut beaucoup plus de stockage, de RAM et de ressources CPU qu’un Raspberry Pi.
Matériel minimum :
Pour faire fonctionner une pile LAMP ou LEMP classique (avec Nginx comme serveur web) et avoir une performance acceptable, nous recommandons :
- 2GB RAM
- 2 CPUS
- Disque SSD
Mais si vous pouvez dépenser un peu plus, nous vous le recommandons :
- 4 à 8 Go de RAM
- 4 CPU
- Disque SSD
Tout dépend du projet, des technologies que vous utilisez, des services que vous exécutez sur le serveur et de votre budget.
En théorie, un même dispositif physique peut accueillir différents types de serveurs. Toutefois, il est courant d’héberger chaque serveur sur un ordinateur distinct ou de répartir les serveurs sur plusieurs ordinateurs. Cela évite que l’utilisation du matériel d’un service n’ait un impact sur les performances des autres services.
De quel serveur ai-je réellement besoin ?
Dans le secteur de l’hébergement professionnel, il existe essentiellement trois types de serveurs : les serveurs partagés, les serveurs VPS en nuage et les serveurs dédiés, chacun couvrant un éventail de besoins pour différents types de clients.
Les serveurs partagés sont des serveurs où les clients hébergent leurs sites ou leurs applications sur le même serveur avec d’autres clients partageant le CPU, la RAM et le disque, où vous achetez une fraction des ressources totales d’un serveur, où le prix varie en fonction de la quantité de ressources de disque et de transfert mensuel que vous voulez acheter, en fait, au lieu de louer un serveur complet, vous ne louez que les ressources dont vous avez besoin.
Il s’agit du type d’hébergement le moins cher et il convient à la grande majorité des sites. En fait, c’est le plan le plus courant avec lequel chaque projet commence, il offre généralement une pile LAMP, c’est-à-dire Linux, Apache (ou LiteSpeed), MySQL et PHP, des exemples de ces plans peuvent être vus dans Plans d’hébergement Web.
Le tournant est pris lorsque vous dépassez un certain nombre de visites et que vous avez besoin de plus de ressources qu’un plan partagé ne peut plus offrir ou lorsque vous devez utiliser des technologies qui ne sont pas disponibles sur un serveur partagé.
Tant lorsque vous dépassez un certain nombre de visites que lorsque vous souhaitez mettre en œuvre quelque chose qui n’est pas pris en charge par LAMP, comme l’utilisation d’une base de données NoSQL comme MongoDB, Python, Ruby ou similaire, vous avez besoin d’un service Cloud VPS ou d’un serveur dédié.
La différence fondamentale entre les deux est que dans un serveur dédié vous avez le contrôle et 100% des ressources du serveur physique alors que dans un VPS en nuage c’est similaire, mais c’est une machine virtuelle et non physique.
Qu’est-ce que l’hébergement de serveurs ?
Alors qu’il est rentable pour les grandes entreprises d’acheter du matériel de serveur, les indépendants et les particuliers qui souhaitent développer des projets sur leur propre serveur ont généralement recours à la location.
Les fournisseurs spécialisés proposent différents modèles de serveurs en location où les utilisateurs n’ont pas à se soucier du fonctionnement de la machine physique.
La gamme de produits s’étend des serveurs dédiés dont les composants matériels sont mis à la disposition exclusive des utilisateurs, aux services d’hébergement partagé permettant d’héberger plusieurs clients virtuels sur une base matérielle commune.
Conclusion
Comme nous l’avons vu, il existe de nombreux types de serveurs, chacun étant spécialisé dans une tâche particulière. Cependant, à moins qu’il ne s’agisse d’un serveur dédié, il est normal qu’ils travaillent ensemble avec d’autres services, comme c’est le cas dans un serveur d’hébergement où l’on trouve un serveur web, un serveur de messagerie, un FTP, un DNS, une base de données, etc.