Een server is een computer of een programma dat diensten verleent aan clients. In de eerste betekenis wordt met server de fysieke computer aangeduid waarop een programma draait dat deze diensten verleent.
In de praktijk komen er verschillende combinaties van hardware en serverprogramma's voor:
Dedicated server: op een computer draait één serverprogramma. Dit zal vooral het geval zijn voor taken die veel bronnen vragen, zoals een database.
Clustered server: een aantal aan elkaar gekoppelde computers (een cluster) draait een serverprogramma. Dit zal over het algemeen gebeuren om veel clients tegelijk te kunnen bedienen. Een typisch voorbeeld hiervan is een webserver voor een veelbezochte website.
Een server waarop meerdere serverprogramma's draaien. Dit is vrij algemeen het geval bij UNIX systemen.
Een computer die zowel client- als servertaken vervult.
Een cloud server dat met al de computers die erop aangesloten zijn een soort 'wolk van computers' vormt, waarbij de eindgebruiker niet weet op hoeveel of welke computer(s) de software draait of waar die precies staan.
Andere termen die gebruikt worden voor serverprogramma's zijn daemon (UNIX) en service (Windows).
Hardware
Over het algemeen worden servers voorzien van aangepaste hardware, andere dan bijvoorbeeld bij computers voor thuisgebruik. Verschillen zijn over het algemeen:
Voeding: Dit is meestal een ATX-voeding, soms is er ook een extra voeding aanwezig die dient als back-up. Beide voedingen kunnen hot-swappable zijn.
Werkgeheugen: In servers wordt meestal ECC-geheugen gebruikt. Vaak gaat dit gepaard met grote hoeveelheden RAM-geheugen.
Processor: Het belangrijkste onderdeel van de server. Hierbij wordt vaak gebruikt van een IntelXeon Processor, of een AMDOpteron Processor of een AMD Epyc Processor hoewel soms ook meer gangbare processoren voor reguliere computers gebruikt worden.
Harde schijf: Meestal het oude SCSI of nieuwere SAS schijven op 10.000 of 15.000 RPM. Tegenwoordig worden ook wel SSD's gebruikt die zijn aangesloten via een Serial ATA connector, vanwege de lage toegangstijden en hogere snelheden.
Moederbord: Moederborden voor servers zijn veelal groter van formaat om 2 of zelfs 4 losse processoren te ondersteunen. Daarnaast is er vaak veel meer ruimte voor geheugen en ook wordt vaak ECC-geheugen ondersteund.
Behuizing: Omdat de meeste servers in een datacenter staan, worden vaak rackservers gebruikt. Deze servers kunnen in een rack geschoven worden, waardoor er zo veel mogelijk servers per vierkante meter kunnen staan. Toch bestaan er ook towerservers en bladeservers.