Per capire cos’è un server e come funziona, è necessario davvero leggere spiegazioni molto tecniche?
No.
In questa guida affronteremo l’argomento dalle basi.
Per cui anche se non hai conoscenze pregresse, ti sarà tutto chiaro.
Vedremo esempi pratici di utilizzo dei server dedicati e capiremo cosa li distingue dai computer tradizionali.
Table of Contents
Cos’è un server
Il server può essere definito come il dispositivo che fornisce un servizio.
Non a caso la parola server deriva dall’inglese “serviente, servitore, cameriere” (Wikipedia).
Quando si parla di server bisogna fare una prima distinzione.
Da una parte abbiamo il server fisico e dall’altra il server web.
Il server fisico è la vera e propria macchina, intesa come le sue componenti hardware.
Il web server, invece, è un programma che ha il compito di elaborare le richieste e rispondere ad esse.
Il termine server viene quindi utilizzato per fare riferimento sia alla componente hardware che a quella software.
Torniamo all’elaborazione delle richieste: come funziona?
La comunicazione nella rete avviene tra client e server: il client è il browser con cui gli utenti navigano, mentre i server sono le macchine che rispondono ai client fornendo le risorse richieste.
In realtà, il ragionamento che abbiamo appena visto è una semplificazione. Quando si parla di server inteso come macchina e non come programma, bisogna infatti fare un’altra distinzione ancora e capire che questa “macchina” può essere fisica o virtuale.
Un server fisico è a tutti gli effetti un computer collegato alla rete che viene utilizzato come server per rispondere alle richieste dei client.
Non a caso, quando si parla di server fisico si usa anche il termine bare metal server. Proprio per sottolineare che ci si riferisce all’hardware.
Quando questa funzione non viene affidata a una computer fisico, ma a una macchina virtuale, si parla proprio di server virtuali.
Un singolo server fisico può ospitare più macchine virtuali che vengono create attraverso un programma chiamato hypervisor.
L’hypervisor permette di creare tante macchine virtuali, ognuna delle quali funziona come se fosse un server separato e può avere quindi il suo sistema operativo e un certo quantitativo di risorse dedicate.
Ecco una rappresentazione visiva che ci aiuta a cogliere meglio le differenze tra server virtuale e fisico.
Ora che conosci le basi del funzionamento di un server, ti starai chiedendo per cosa può essere utilizzato nello specifico.
Andiamo a scoprirlo nel prossimo paragrafo.
A cosa serve
Un server può essere utilizzato per svariati tipi di servizi che includono la condivisione di dati e l’esecuzione di calcoli.
Vediamo alcuni esempi.
Hosting di siti web: i server possono essere utilizzati per ospitare i siti web. Quando visiti un sito, infatti, stai inviando una richiesta tramite il browser (client) al server su cui è ospitato il sito. Quando un solo server è riservato a una sola persona si parla di server dedicati. Per approfondire scopri cosa sono i server dedicati e quando sceglierne uno.
Condivisione o distribuzione dei file: i server si possono usare per condividere file, pensa per esempio a servizi come Google Drive. Inoltre anche i contenuti multimediali dei servizi come Netflix vengono distribuiti proprio grazie a dei server.
Applicazioni: i server vengono utilizzati anche per fornire applicazioni attraverso la rete, un esempio può essere dato da applicazioni come la suite Microsoft 365 che permette di utilizzare i programmi come Word o Excel direttamente da browser.
Servizi email: anche le email vengono distribuite e memorizzate all’interno dei server. Si parla, infatti, proprio di server di posta.
Soluzioni di backup e sicurezza: in alcuni casi i server vengono utilizzati per conservare copie di backup dei dati oppure per implementare sistemi di sicurezza come firewall o sistemi di cache. Un esempio è dato dai server proxy.
Database: i server possono essere utilizzati per memorizzare esclusivamente database.
Questi sono solo alcuni degli esempi più comuni di utilizzo dei server.
In generale i server ci permettono di:
- comunicare;
- collaborare attraverso lo scambio di dati;
- memorizzare dati;
- mettere in sicurezza dati e informazioni;
- implementare sistemi di disaster recovery per evitare di perdere informazioni importanti;
- usufruire di servizi come database e email;
- accedere a servizi di streaming di musica, film e videogiochi.
Ti è chiaro, quindi, che molti dei servizi che utilizzi ogni giorno funzionano proprio grazie ai server.
Quali sono le componenti di un server
Come avrai capito a questo punto per il funzionamento di un server è necessario che le componenti hardware e software lavorino insieme, allo stesso modo di quello che succede per un computer ordinario.
Fai attenzione però, c’è una differenza: un server ha delle componenti specifiche che vanno a creare tutta l’infrastruttura.
Innanzitutto dal punto di vista hardware sono composti da una scheda madre, un alimentatore, una o più CPU, le RAM, i sistemi di archiviazione dei dati (hard disk o SSD) e una scheda di rete. La scelta dell’hardware influisce sulle prestazioni e sul costo del server.
Parlavamo però di infrastruttura: in che senso?
Oltre al server ci sono dei sistemi aggiuntivi per la ridondanza e la continuità elettrica. Ad esempio alimentatori multipli e gruppo di continuità, oltre a sistemi per il raffreddamento.
A differenza di un computer ordinario, il server deve essere acceso e operativo 24 ore su 24. Questo vuol dire che è essenziale garantire l’affidabilità dell’infrastruttura.
In aggiunta ci sono poi tutte le componenti software, a partire dal sistema operativo che permette alle altre applicazioni di funzionare.
Vediamo nel dettaglio alcune delle componenti più importanti che abbiamo menzionato.
CPU
Come in un computer ordinario, la CPU di un server è una componente fondamentale perché è deputata all’esecuzione dei calcoli e all’elaborazione delle informazioni.
A differenza di un normale computer, in un server si utilizzano processori multi-core più potenti (per esempio 8, 16, 24 core) per garantire il massimo delle prestazioni.
RAM
La RAM è la memoria volatile. Avere più RAM permette di ridurre il tempo necessario a completare i processi.
Di conseguenza la RAM di un server permette a più utenti di accedere alle pagine web o alle applicazioni nello stesso momento.
Hard Disk
Lo spazio di archiviazione di un server permette di memorizzare i dati.
Man mano che la tecnologia si evolve, i server vengono equipaggiati con sistemi sempre più avanzati. I sistemi di archiviazione dei dati non fanno eccezione.
Se in passato si utilizzavano gli hard disk meccanici, ad oggi gli hosting più affidabili utilizzano i dischi SSD, per la loro maggiore velocità e affidabilità.
Nei server si possono anche utilizzare più dischi come se fossero uno unico, grazie al sistema RAID. Questi sistemi permettono di migliorare la ridondanza e l’affidabilità.
Sistemi di alimentazione
Per il funzionamento continuato dei server è necessario assicurare la ridondanza elettrica e dei sistemi di recupero in caso di interruzioni di corrente.
Per questo motivo i server vengono equipaggiati con più alimentatori e con gruppi di continuità (UPS) che si attivano nel caso in cui ci siano interruzioni elettriche.
Sistemi di monitoraggio della temperatura
Quando i server sono in funzione sviluppano molto calore, per questo è importante che all’interno dei datacenter siano predisposti dei sistemi di raffreddamento per mantenere la temperatura controllata e quindi a un livello ottimale.
Il monitoraggio della temperatura è essenziale per far sì che i sistemi funzioni in maniera regolare e che non si surriscaldino.
Anche se non si tratta direttamente di una componente del server, questo tipo di sistemi fa parte dell’infrastruttura.
Sistemi operativi e software
Ogni server per funzionare ha bisogno di un sistema operativo, un software di base che permette di installare altre applicazioni. In base alle esigenze si sceglie se installare una distribuzione di Linux o Windows Server.
Altri programmi necessari per il funzionamento di un server possono includere:
- programmi per la gestione e il monitoraggio delle risorse come Zabbix;
- web server come Apache o IIS;
- sistemi di gestione dei database come MySQL;
- sistemi di sicurezza come firewall o antivirus;
- sistemi di gestione dei contenuti (CMS) come WordPress, Drupal o PrestaShop;
- gestione da remoto: per gestire il server si utilizzano protocolli di accesso remoto sicuri come SSH.
Caratteristiche dei server
Cosa distingue un server da un PC casalingo?
Abbiamo risposto a una prima parte di questa domanda, vedendo le differenze tecniche, ma per il resto?
I server sono diversi dai computer ordinari non solo per le loro componenti, ma anche per le caratteristiche di base che li rendono perfetti per i loro molteplici scopi.
Vediamo esattamente alcune delle caratteristiche più importanti dei server.
Affidabilità per garantire tempi di attività elevati
I server sono pensati per funzionare senza interruzioni, ma per riuscire a raggiungere questo scopo e garantire la tolleranza ai guasti, è necessario utilizzare diversi accorgimenti.
Visto che abbiamo già parlato delle componenti di un server, avrai probabilmente già capito quali sono alcuni di questi.
Come abbiamo visto, alcune delle componenti dell’infrastruttura come gli alimentatori o gli hard disk sono utilizzati in maniera ridondante.
Perché è importante la ridondanza?
In questo modo se un elemento ha un guasto, il server continua a essere operativo.
Ci siamo riferiti ad alimentatori e hard disk, ma in realtà questo si applica anche alle schede di rete, per garantire che non ci sia interruzione non solo dal punto di vista elettrico, ma anche della continuità di rete.
Ed ecco che quando parliamo di affidabilità, l’infrastruttura cloud può rappresentare un punto di svolta.
Se il discorso si sposta verso i cloud server, a differenza di un server tradizionale, si può contare su una vera e propria rete di server fisici interconnessi. In questo caso essendo l’infrastruttura in cloud si riducono al massimo i disservizi.
Non dimentichiamo che è importante anche che il server possa garantire la ridondanza dei dati. Per questo possono essere utilizzate sia configurazioni RAID che permettono di replicare i dati, sia sistemi di backup mantenuti in una sede separata per avere sempre a disposizione copie ridondanti.
Soffermiamoci ancora un attimo sulla ridondanza dei dati.
Perché un backup sia efficace deve rispondere ad almeno tre requisiti:
- essere una copia separata, nella pratica conservata su un server diverso da quello dei dati “originali”;
- essere recente, non ha senso ad esempio avere un backup obsoleto;
- essere completo.
Se hai già un servizio di hosting con SupportHost, come l’hosting condiviso, puoi contare su backup giornalieri, completi e conservati su un datacenter esterno.
Performance e scalabilità
Un’altra caratteristica importante dei server è la possibilità di fornire risorse in maniera scalabile.
Per esempio in alcuni casi si possono proprio espandere le configurazioni hardware, oppure nel caso dei server virtuali basta modificare la configurazione per allocare più risorse a una specifica macchina virtuale.
Come abbiamo detto anche prima, a differenza di un computer ordinario, i server devono essere predisposti in modo da riuscire a sostenere un alto carico di lavoro.
Per questo l’hardware deve essere scelto con criterio in modo da avere a disposizione molta RAM e CPU performanti.
Ovviamente la scelta dipende dal tipo di progetto.
In alcuni casi vanno bene delle soluzioni standard, mentre in altri no.
Ad esempio per un sito ad alto traffico con 44 milioni di pagine visualizzate ogni mese, abbiamo creato una soluzione su misura per sopportare grandi picchi di visite e garantire al tempo stesso misure di sicurezza elevate.
Monitoraggio costante e gestione
Visto che l’obiettivo principale è sempre quello di garantire la continuità di servizio, nei server sono indispensabili i sistemi di monitoraggio che permettono a chi amministra il server di avere informazioni sull’utilizzo delle risorse e su possibili problemi.
Al tempo stesso è importante avere a disposizione dei sistemi di accesso remoto che consentono di modificare la configurazione del server, installare aggiornamenti, fare reboot e così via.
Queste operazioni, che rientrano nella gestione del server – ordinaria o straordinaria che sia in base alle eventualità – possono essere affidate a chi ha acquistato il server o al provider di servizi di hosting.
Ecco che entra in gioco un’altra definizione di server: managed e unmanaged server.
In questo caso non ci si riferisce a una tipologia di server, come abbiamo visto per la differenza tra server fisico e virtuale. E non ci si riferisce nemmeno alla distinzione tra server inteso come hardware o come software.
Quindi cosa vuol dire?
Con managed e unmanaged ci si riferisce al tipo di gestione.
Infatti:
- managed, che vuol dire “gestito”, si usa quando con l’acquisto di un server si acquista anche il servizio di gestione;
- unmanaged, “non gestito”, vuol dire che chi acquista vuole occuparsi da solo della gestione del server.
Se hai voglia di approfondire, te ne parliamo nell’articolo sui managed server.
Conclusioni
Server virtuale, bare metal, gestito e non gestito. È normale fare confusione con tutti questi termini.
Con questa guida abbiamo cercato di fare chiarezza sulla definizione di server.
Ora sai che il termine può essere usato per riferirsi alla macchina (server fisico) o al software (web server) che la fa funzionare.
Ma sai anche che il server può essere una singola istanza virtuale che funziona a tutti gli effetti come un server autonomo (server virtuale).
È tutto chiaro? Se hai domande o osservazioni, parliamone nei commenti.
Lascia un commento