Les serveurs

Les serveurs

Pilotes de périphérique de serveur

Dans l'utilisation la plus courante, un serveur est un ordinateur physique (un système matériel informatique) dédié à exécuter un ou plusieurs services (en tant qu'hôte), pour répondre aux besoins des utilisateurs d'autres ordinateurs sur un réseau. Selon le service informatique proposé, il peut s'agir d'un serveur de base de données, d'un serveur de fichiers, d'un serveur de messagerie, d'un serveur d'impression, d'un serveur Web, d'un serveur de jeux ou de tout autre type de serveur.

Dans le contexte de l'architecture client-serveur, un serveur est un programme informatique exécuté pour répondre aux requêtes d'autres programmes, les « clients ». Ainsi, le « serveur » effectue une tâche de calcul pour le compte des « clients ». Les clients s'exécutent sur le même ordinateur ou se connectent via le réseau.

Dans le contexte des réseaux IP (Internet Protocol), un serveur est un programme qui fonctionne comme un écouteur de socket.

Les serveurs fournissent souvent des services essentiels sur un réseau, soit à des utilisateurs privés au sein d'une grande organisation, soit à des utilisateurs publics via Internet.

Le terme serveur est utilisé de manière assez large dans le domaine des technologies de l’information. Malgré les nombreux produits de marque serveur disponibles (tels que les versions serveur de matériel, de logiciels ou de systèmes d'exploitation), en théorie, tout processus informatisé partageant une ressource avec un ou plusieurs processus clients est un serveur. Pour illustrer cela, prenons l’exemple courant du partage de fichiers. Bien que l'existence de fichiers sur une machine ne la classe pas comme serveur, le mécanisme qui partage ces fichiers avec les clients par le système d'exploitation est le serveur.

De même, considérons une application de serveur Web (telle que le multiplateforme "Apache HTTP Server"). Ce logiciel de serveur Web peut être exécuté sur n’importe quel ordinateur compatible. Par exemple, bien qu'un ordinateur portable ou un ordinateur personnel ne soit généralement pas appelé serveur, ils peuvent dans ces situations remplir le rôle d'un tel serveur et donc être étiquetés comme tel. C'est dans ce cas le rôle de la machine qui la place dans la catégorie des serveurs.

Au sens matériel, le mot serveur désigne typiquement des modèles d'ordinateurs destinés à héberger des applications logicielles sous la forte sollicitation d'un environnement réseau. Dans cette configuration client-serveur, une ou plusieurs machines, soit un ordinateur, soit un appareil informatique, partagent des informations entre elles, l'une agissant en tant qu'hôte pour l'autre.

Alors que presque tous les ordinateurs personnels sont capables de faire office de serveur réseau, un serveur dédié contiendra des fonctionnalités le rendant plus adapté aux environnements de production. Ces fonctionnalités peuvent inclure un processeur plus rapide, une RAM hautes performances accrue et une capacité de stockage accrue sous la forme d'un disque dur plus grand ou de plusieurs disques durs. Les serveurs disposent également généralement de fonctionnalités de fiabilité, de disponibilité et de facilité d'entretien (RAS) et de tolérance aux pannes, telles que la redondance des alimentations électriques, du stockage (comme dans RAID) et des connexions réseau.

Les serveurs sont devenus courants au début des années 1990, alors que les entreprises ont commencé à utiliser de plus en plus d'ordinateurs personnels pour fournir des services auparavant hébergés sur des ordinateurs centraux ou des mini-ordinateurs plus grands. Les premiers serveurs de fichiers abritaient plusieurs lecteurs de CD-ROM, utilisés pour héberger de grandes applications de bases de données.

Entre les années 1990 et 2000, l'utilisation accrue de matériel dédié a vu l'avènement des serveurs autonomes. Un produit bien connu est Google Search Appliance, une unité qui combine matériel et logiciels dans un emballage prêt à l'emploi. Des exemples plus simples de tels appareils incluent les commutateurs, les routeurs, les passerelles et les serveurs d'impression, tous disponibles dans une configuration proche du plug-and-play.

Les systèmes d'exploitation modernes tels que les distributions Microsoft Windows ou Linux semblent à juste titre être conçus avec une architecture client-serveur à l'esprit. Ces systèmes d'exploitation tentent d'abstraire le matériel, permettant à une grande variété de logiciels de fonctionner avec les composants de l'ordinateur. Dans un certain sens, le système d'exploitation peut être considéré comme un matériel au service du logiciel, qui, dans tous les langages de programmation, sauf de bas niveau, doit interagir à l'aide d'une API.

Ces systèmes d'exploitation peuvent être capables d'exécuter des programmes en arrière-plan appelés services ou démons. De tels programmes, tels que le logiciel Apache HTTP Server susmentionné, peuvent attendre en état de veille que leur nécessité devienne apparente. Étant donné que tout logiciel fournissant des services peut être appelé serveur, les ordinateurs personnels modernes peuvent être considérés comme une forêt de serveurs et de clients fonctionnant en parallèle.

Internet lui-même est aussi une forêt de serveurs et de clients. Le simple fait de demander une page Web à quelques kilomètres de distance implique de satisfaire une pile de protocoles qui impliquent de nombreux exemples de serveurs matériels et logiciels. Les moindres d'entre eux sont les routeurs, les modems, les serveurs de noms de domaine et divers autres serveurs nécessaires pour nous fournir le World Wide Web.

L'introduction du Cloud computing permet de partager le stockage du serveur et d'autres ressources dans un pool et offre aux serveurs un degré plus élevé de tolérance aux pannes.

La configuration matérielle requise pour les serveurs varie en fonction de l'application serveur. La vitesse absolue du processeur n'est généralement pas aussi critique pour un serveur que pour un ordinateur de bureau[ citation nécessaire ]. Les tâches des serveurs consistant à fournir des services à de nombreux utilisateurs sur un réseau conduisent à différentes exigences telles que des connexions réseau rapides et un débit d'E/S élevé. Étant donné que les serveurs sont généralement accessibles via un réseau, ils peuvent fonctionner en mode sans tête, sans moniteur ni périphérique d'entrée. Les processus qui ne sont pas nécessaires au fonctionnement du serveur ne sont pas utilisés. De nombreux serveurs ne disposent pas d'interface utilisateur graphique (GUI), car elle est inutile et consomme des ressources qui pourraient être allouées ailleurs. De même, les interfaces audio et USB peuvent être omises.

Les serveurs fonctionnent souvent pendant de longues périodes sans interruption et la disponibilité doit souvent être très élevée, ce qui rend la fiabilité et la durabilité du matériel extrêmement importantes. Bien que les serveurs puissent être construits à partir de composants informatiques de base, les serveurs d'entreprise critiques sont idéalement très tolérants aux pannes et utilisent du matériel spécialisé avec de faibles taux de panne afin de maximiser la disponibilité, car même une panne à court terme peut coûter plus cher que l'achat et l'installation du système. . Par exemple, il suffit de quelques minutes d'arrêt dans une bourse nationale pour justifier les dépenses liées au remplacement complet du système par quelque chose de plus fiable. Les serveurs peuvent intégrer des disques durs plus rapides et de plus grande capacité, des ventilateurs d'ordinateur plus grands ou un refroidissement par eau pour aider à éliminer la chaleur, ainsi que des alimentations électriques sans interruption qui garantissent que les serveurs continuent de fonctionner en cas de panne de courant. Ces composants offrent des performances et une fiabilité supérieures à un prix proportionnellement plus élevé. La redondance matérielle (installation de plusieurs instances de modules tels que des blocs d'alimentation et des disques durs disposés de manière à ce qu'en cas de panne d'un autre soit automatiquement disponible) est largement utilisée. Des dispositifs de mémoire ECC qui détectent et corrigent les erreurs sont utilisés ; la mémoire non ECC est plus susceptible de provoquer une corruption des données.

Pour augmenter la fiabilité, la plupart des serveurs utilisent de la mémoire avec détection et correction des erreurs, des disques redondants, des alimentations redondantes, etc. Ces composants sont également fréquemment remplaçables à chaud, ce qui permet aux techniciens de les remplacer sur le serveur en cours d'exécution sans l'arrêter. Pour éviter la surchauffe, les serveurs disposent souvent de ventilateurs plus puissants. Comme les serveurs sont généralement administrés par des administrateurs système qualifiés, leurs systèmes d'exploitation sont également plus adaptés à la stabilité et aux performances qu'à la convivialité et à la facilité d'utilisation, Linux prenant un pourcentage sensiblement plus élevé que pour les ordinateurs de bureau .

Comme les serveurs nécessitent une alimentation électrique stable, un bon accès à Internet, une sécurité accrue et sont également bruyants, il est habituel de les stocker dans des centres de serveurs dédiés ou dans des salles spéciales. Cela nécessite de réduire la consommation d'énergie, car l'énergie supplémentaire utilisée génère plus de chaleur, ce qui fait que la température dans la pièce dépasse les limites acceptables ; c'est pourquoi normalement, les salles de serveurs sont équipées d'appareils de climatisation. Les boîtiers de serveur sont généralement plats et larges (généralement mesurés en « unités de rack »), adaptés pour stocker de nombreux appareils les uns à côté des autres dans un rack de serveur. Contrairement aux ordinateurs ordinaires, les serveurs peuvent généralement être configurés, mis sous tension ou redémarrés à distance, à l'aide d'une gestion hors bande, généralement basée sur IPMI.

De nombreux serveurs mettent beaucoup de temps à démarrer et à charger le système d'exploitation. Les serveurs effectuent souvent des tests approfondis de la mémoire avant le démarrage, ainsi qu'une vérification et un démarrage des services de gestion à distance. Les contrôleurs de disque dur démarrent ensuite les banques de disques de manière séquentielle, plutôt qu'en même temps, afin de ne pas surcharger l'alimentation électrique avec des surtensions de démarrage, puis lancent des vérifications préalables du système RAID pour vérifier le bon fonctionnement de la redondance. Il est courant qu’une machine mette plusieurs minutes à démarrer, mais il se peut qu’elle n’ait pas besoin d’être redémarrée avant des mois ou des années.