Server
Cos’è un server
Un server è un software o hardware che offre un servizio a un utente, solitamente definito client. Un server hardware è un computer condiviso su una rete, solitamente potente e ospitato in un data center. Un server software (spesso in esecuzione su un server hardware) è un programma che fornisce servizi ai programmi client o un’interfaccia utente ai client umani.
I servizi sono generalmente forniti su reti locali o reti geografiche come Internet. Un programma client e un programma server si collegano tradizionalmente passando messaggi codificati utilizzando un protocollo su un’API.
Ad esempio:
Un server Web connesso a Internet invia un file HTML al software del browser in modo che tu possa leggere questa pagina
Server di rete locale per file, nome, posta, stampa e fax
Minicomputer, mainframe e supercomputer nei data center
Nel modello di programmazione client/server, un programma server attende e soddisfa le richieste dei programmi client, che potrebbero essere in esecuzione sullo stesso o su altri computer. Una determinata applicazione in un computer potrebbe funzionare come client con richieste di servizi da altri programmi e come server di richieste da altri programmi.
Come funzionano i server
Il termine server può riferirsi a una macchina fisica, una macchina virtuale o un software che esegue servizi server. Il modo in cui funziona un server varia notevolmente a seconda di come viene utilizzata la parola server.
Server fisici e virtuali
Un server fisico è semplicemente un computer utilizzato per eseguire il software server. Le differenze tra un server e un computer desktop saranno discusse in dettaglio nella prossima sezione.
Un server virtuale è una rappresentazione virtuale di un server fisico. Come un server fisico, un server virtuale include il proprio sistema operativo e le proprie applicazioni. Questi sono tenuti separati da qualsiasi altro server virtuale che potrebbe essere in esecuzione sul server fisico.
Il processo di creazione di macchine virtuali comporta l’installazione di un componente software leggero chiamato hypervisor su un server fisico. Il compito dell’hypervisor è quello di consentire al server fisico di funzionare come host di virtualizzazione. L’host di virtualizzazione rende disponibili le risorse hardware del server fisico, come tempo CPU, memoria, storage e larghezza di banda di rete, a una o più macchine virtuali.
Una console di amministrazione offre agli amministratori la possibilità di allocare risorse hardware specifiche a ciascun server virtuale. Ciò aiuta a ridurre drasticamente i costi hardware perché un singolo server fisico può eseguire più server virtuali, anziché ogni carico di lavoro che necessita del proprio server fisico.
Software del server
Come minimo, un server richiede due componenti software: un sistema operativo e un’applicazione. Il sistema operativo funge da piattaforma per l’esecuzione dell’applicazione server.
Fornisce accesso alle risorse hardware sottostanti e fornisce i servizi di dipendenza da cui dipende l’applicazione.
Il sistema operativo fornisce anche i mezzi per i client per comunicare con l’applicazione server. L‘indirizzo IP del server e il nome di dominio completamente qualificato, ad esempio, sono assegnati a livello di sistema operativo.
Differenze Computer desktop vs. server
Ci sono sia somiglianze che differenze tra computer desktop e server. La maggior parte dei server è basata su CPU X86/X64 e può eseguire lo stesso codice di un computer desktop X86/X64. A differenza della maggior parte dei computer desktop, tuttavia, i server fisici spesso includono più socket CPU e memoria di correzione degli errori. I server in genere supportano anche una quantità di memoria molto maggiore rispetto alla maggior parte dei computer desktop.
Poiché l’hardware del server in genere esegue carichi di lavoro critici per la missione, i produttori di hardware per server progettano server per supportare componenti ridondanti. Un server potrebbe essere dotato di alimentatori ridondanti e interfacce di rete ridondanti. Questi componenti ridondanti consentono a un server di continuare a funzionare anche se un componente chiave si guasta.
L’hardware del server differisce anche dall’hardware desktop in termini di fattore di forma. I moderni computer desktop spesso esistono come mini tower, progettati per essere posizionati sotto una scrivania.
Sebbene ci siano ancora alcuni fornitori che offrono server tower, la maggior parte dei server è progettata per essere montata su rack. Questi sistemi di montaggio su rack sono descritti come aventi un fattore di forma 1U, 2U o 4U, a seconda di quanto spazio rack occupano: un server 2U occupa il doppio dello spazio rack di un server 1U.
Un’altra differenza fondamentale tra un computer desktop e un server è il sistema operativo. Un sistema operativo desktop potrebbe essere in grado di eseguire alcune funzionalità simili a quelle di un server, ma non è progettato o concesso in licenza per sostituire un sistema operativo server.
Windows 10, ad esempio, è un sistema operativo desktop.
Alcune edizioni di Windows 10 includono Hyper-V, la piattaforma per macchine virtuali di Microsoft. Anche se sia Windows 10 che Windows Server possono eseguire Hyper-V, l’hypervisor di Windows 10 è destinato a essere utilizzato principalmente per scopi di sviluppo, mentre la versione di Hyper-V inclusa in Windows Server è progettata per l’esecuzione di server virtuali di produzione.
Sebbene un’organizzazione possa teoricamente eseguire un server virtuale su Windows 10 Hyper-V, ci sono problemi di licenza da considerare. Inoltre, Windows Server Hyper-V include funzionalità di resilienza che non si trovano nella versione di Windows 10. Ad esempio, Windows Server supporta il clustering di failover e la replica di macchine virtuali.
Allo stesso modo, il sistema operativo Windows 10 può rendere i file disponibili ai dispositivi su una rete locale. Tuttavia, Windows 10 non è mai stato progettato per la condivisione di file su larga scala. Windows Server, tuttavia, può essere configurato per funzionare come un file server completo. Nelle grandi organizzazioni, un file system distribuito può essere creato su un’intera server farm allo scopo di fornire prestazioni, scalabilità e resilienza migliori di quelle che un server fisico sarebbe in grado di fornire da solo.
Tipi di server
I server sono spesso categorizzati in base al loro scopo. Ecco alcuni esempi dei tipi di server disponibili:
Server web: un programma per computer che serve le pagine o i file HTML richiesti. In questo caso, un browser web funge da client.
Server applicativo: un programma in un computer in una rete distribuita che fornisce la logica aziendale per un programma applicativo.
Server proxy: software che funge da intermediario tra un dispositivo endpoint, come un computer, e un altro server da cui un utente o un client richiede un servizio.
Server di posta: un’applicazione che riceve e-mail in arrivo da utenti locali (persone all’interno dello stesso dominio) e mittenti remoti e inoltra le e-mail in uscita per la consegna.
Server virtuale: un programma in esecuzione su un server condiviso configurato in modo tale che a ogni utente sembri di avere il controllo completo di un server.
Server blade: uno chassis del server che ospita più schede di circuiti elettronici sottili e modulari, note come server blade. Ogni blade è un server a sé stante, spesso dedicato a una singola applicazione
File server: un computer responsabile dell’archiviazione e della gestione centralizzata dei file di dati in modo che altri computer sulla stessa rete possano accedervi.
Policy server: un componente di sicurezza di una rete basata su policy che fornisce servizi di autorizzazione e facilita il monitoraggio e il controllo dei file.
Database server: questo server è responsabile dell’hosting di uno o più database. Le applicazioni client eseguono query di database che recuperano dati da o scrivono dati nel database ospitato sul server.
Print server: questo server fornisce agli utenti l’accesso a una o più stampanti collegate alla rete, o dispositivi di stampa come alcuni fornitori di server li chiamano. Il print server funge da coda per i lavori di stampa inviati dagli utenti. Alcuni print server possono dare priorità ai lavori nella coda di stampa in base al tipo di lavoro o a chi ha inviato il lavoro di stampa.
Componenti del server
Hardware
I server sono costituiti da diversi componenti e sottocomponenti. A livello hardware, i server sono in genere costituiti da uno chassis rack mount contenente un alimentatore, una scheda di sistema, una o più CPU, memoria, storage, un’interfaccia di rete e un alimentatore.
La maggior parte dell’hardware del server supporta la gestione out-of-band tramite una porta di rete dedicata. La gestione out-of-band consente la gestione e il monitoraggio di basso livello del server, indipendentemente dal sistema operativo. I sistemi di gestione out-of-band possono essere utilizzati per accendere o spegnere il server da remoto, per installare un sistema operativo e per eseguire il monitoraggio dello stato.
Sistemi operativi
Un altro componente è il sistema operativo del server. Un sistema operativo del server, come Windows Server o Linux, funge da piattaforma che consente l’esecuzione delle applicazioni. Il sistema operativo fornisce alle applicazioni l’accesso alle risorse hardware di cui hanno bisogno e consente la connettività di rete.
L’applicazione è ciò che consente al server di svolgere il proprio lavoro. Ad esempio, un server di database eseguirebbe un’applicazione di database. Allo stesso modo, un server di posta elettronica dovrebbe eseguire un’applicazione di posta.
Scelta del server giusto
Ci sono molti fattori da considerare durante la selezione di un server, tra cui il consolidamento di macchine virtuali e container. Quando si sceglie un server, valutare l’importanza di determinate funzionalità in base ai casi d’uso.
Anche le funzionalità di sicurezza sono importanti e ci sono diverse funzionalità di protezione, rilevamento e ripristino da considerare, tra cui la crittografia nativa dei dati per proteggere i dati in transito e a riposo, nonché la registrazione persistente degli eventi per fornire una registrazione indelebile di tutte le attività.
Se il server si baserà su storage interno, anche la scelta dei tipi di disco e della capacità è importante perché può avere un’influenza significativa su input/output (I/O) e resilienza.
Molte organizzazioni stanno riducendo il numero di server fisici nei loro data center poiché la virtualizzazione consente a meno server di ospitare più carichi di lavoro. L’avvento del cloud computing ha anche cambiato il numero di server che un’organizzazione deve ospitare in sede.
Riunire più capacità in meno box può ridurre le spese di capitale complessive, lo spazio occupato nel data center e le richieste di alimentazione e raffreddamento. Tuttavia, ospitare più carichi di lavoro su meno box può anche comportare un rischio maggiore per l’azienda, poiché un numero maggiore di carichi di lavoro sarà interessato da un guasto del server o dalla necessità di essere offline per la manutenzione di routine.
Una checklist di manutenzione del server dovrebbe riguardare sia gli elementi fisici sia la configurazione critica del sistema.