Internet & Geek Blog
Tech News

Server: architettura, servizi, affidabilita e sicurezza

Un server (detto in italiano anche servente o serviente) è una componente informatica che fornisce servizi ad altre componenti (tipicamente chiamate client) attraverso una rete. Si noti che il termine server, così come pure il termine client, possono essere riferiti sia alla componente software che alla componente hardware.

Pertanto è comune riferirsi ad un computer di alte prestazioni ed alta affidabilità dedicato primariamente a fornire servizi chiamandolo server. È altrettanto comune usare lo stesso termine per riferirsi ad un processo (ovvero un programma software in esecuzione) che fornisca servizi ad altri processi (es. Server FTP).

Architettura client-server o N-tier

Il complesso logico formato da (uno o più) server e (tipicamente molti) client è chiamato Modello client-server. Negli anni recenti è stato esteso alla ‘interazione tra più macchine o servizi eterogenei, e in tal caso si parla di architettura a 3-tier (o più in generale ad N-tier).

Il server riceve dai client delle richieste di servizio, e restituisce loro i risultati dopo averne effettuato l’elaborazione relativa. Questo permette di concentrare su una macchina centrale le risorse di elaborazione, il software, la manutenzione, le informazioni critiche o sensibili, gli accorgimenti atti a garantire affidabilità (come i backup). I client, al contrario, possono in generale essere anche macchine con risorse e affidabilità inferiori, che hanno l’unico compito di interagire con l’utente, e che non contengono informazioni critiche o sensibili.

Si noti che dal punto di vista software un computer non è mai puramente un server, in quanto oltre ad erogare servizi ad altri si appoggia tipicamente su servizi ottenuti da terzi, e quindi è contemporaneamente server e client. Ad esempio, un server di posta elettronica tipicamente si appoggia ad altri server per ottenere informazioni sulla rete, e quindi è simultaneamente un server di e-mail ed un client per quanto riguarda il servizio DNS relativo alla gestione di rete.

Servizi

Tra i servizi che vengono tipicamente erogati da un server, si possono citare:

* file server, che permettono agli utenti di accedere ai file situati sul server come se fossero sul proprio calcolatore, agevolando la condivisione di informazioni
* database server
* web server
* application server, dove il server viene usato per far funzionare un programma applicativo e condividerne le funzionalità tra gli utenti
* print server, che permettono di mettere in comune una o più stampanti tra gli utenti di una rete con la eventuale gestione dei diritti di accesso,
* mail server, per la gestione della posta elettronica
* game server, che ospitano risorse per rendere possibili i giochi multiutente in linea
* gestione di una rete informatica, locale o geografica
o DHCP, per l’assegnazione automatica di indirizzi IP ai computer
o DNS server, che forniscono la risoluzione dei nomi dei siti (per esempio it.wikipedia.org) nei loro indirizzi IP
* server grafico o display server – vedere X Window System
* server di autenticazione, che permette di autenticare l’accesso ad altre risorse

Affidabilità e Sicurezza
Il server è un elemento fondamentale dell’infrastruttura IT di cui fa parte, in quanto i suoi malfunzionamenti si ripercuotono su tutti i client che lo usano. Pertanto, per i server si adottano accorgimenti volti a garantire affidabilità e sicurezza:

* utilizzo di hardware di classe superiore, con prestazioni elevate ed elementi ridondati (dischi RAID, alimentatori ridondati)
* protezione dell’alimentazione elettrica mediante gruppo di continuità
* protezione fisica mediante localizzazione in un locale apposito ad accesso ristretto (“sala server”) o in housing presso una server farm
* connessione di rete preferenziale, di capacità superiore, ridondata
* climatizzazione
* configurazioni del sistema operativo volte a garantire maggiore affidabilità e sicurezza (hardening)
* gestione da parte di sistemisti esperti

I computer progettati per essere usati come server in una sala server di dimensioni medio-grandi vengono realizzati in modo da poter essere montati in un armadio rack.

I maggiori investimenti richiesti da questi accorgimenti sono motivati dall’importanza che il buon funzionamento del server ha per i suoi utenti.

Cluster

Se il carico di richieste è eccessivo per un solo server, o se sono necessari alti livelli di affidabilità, più server possono suddividersi il compito di erogare un servizio o un gruppo di servizi. In questo caso si dice che i server formano un’unica risorsa computazionale definita come server cluster, che può continuare a funzionare anche se un certo numero delle macchine componenti viene messa fuori linea, anche se ovviamente la risorsa subisce un degrado delle prestazioni generali. Questo richiede che siano dotati di un sistema operativo adeguato, e/o collegati attraverso specifiche configurazioni di rete.