Due mondi vicini, ma con grandi differenze tra loro. In questo articolo parleremo di server fisici e server virtuali, analizzando le differenze, i vantaggi e gli svantaggi di entrambi, per capire insieme quale sia la soluzione migliore per la tua azienda.
Che cos’è un server fisico?
Quando parliamo di server fisico parliamo di una macchina specializzata con hardware apposito per garantire stabilità, buone funzionalità e buone performance, dedicata a quella che è la vostra attività.
Si tratta di una macchina fisica quindi si prende il server, classicamente come nel pc che avete in ufficio, e ci si installa sopra il sistema operativo server (che sia esso Windows, Linux o qualsiasi altro sistema operativo), si installa il sistema operativo, si caricano gli applicativi e poi si comincia a utilizzare gli applicativi qualunque essi siano.
Che cos’è un server virtuale?
Quando parliamo di un server virtuale partiamo sempre da una o più macchine fisiche, ma, per fare un server virtuale, è necessario un software specifico che sarà il nostro hypervisor (o ipervisore).
L’hypervisor è un ambiente che ci permette di frazionare il server fisico, creando all’interno di esso tanti server virtuali, quindi tante applicazioni server che ci permettono di eseguire uno o più programmi e che ci permettono di frazionare le risorse del server fisico fra più server virtuali.
Le principali differenze tra server fisico e server virtuale
Ora che abbiamo ben chiare le definizioni di server fisico e server virtuale cerchiamo di capire insieme quali sono le differenze più significative tra i due server.
Performance
Il server fisico ha accesso totale e diretto alle risorse del server e questo lo rende quindi molto più rapido rispetto a un hypervisor che, invece, crea uno strato di astrazione fra la parte fisica della macchina e la parte del server virtuale e che quindi comporta un piccolo delta di ritardo.
Questo delta di ritardo ovviamente comporta un impatto sulle performance.
Con l’hardware moderno questo impatto sulle performance è estremamente ridotto poiché abbiamo processori molto prestanti, abbiamo tanta RAM e dischi molto veloci, ma si introduce comunque quello che chiamiamo un delta, ovvero una differenza di tempo tra quando un server fisico accede alla risorsa e quando un server virtuale accedere alla risorsa, passando tramite questo strato di astrazione che è, appunto, l’hypervisor.
In sintesi: abbiamo una differenza in termini di performance che può essere piccola o grande a seconda del sistema hardware che stiamo usando e dell’ambiente che stiamo creando.
Hardware e scalabilità
La seconda differenza tra server fisico e server virtuale riguarda l’hardware.
Il server fisico ha una quantità di hardware che è definita, quindi abbiamo ad esempio 32 GB di RAM, abbiamo un processore, abbiamo uno spazio disco e così via. Queste risorse, una volta che le abbiamo su server fisico, sono complesse da implementare/aumentare senza un fermo macchina, perchè l’intervento che dovremmo fare è assolutamente hardware. Questo significa che dovremmo spegnere la macchina, prendere i pezzi, installarli, riaccendere la macchina, controllare che funzioni, ecc.. ed è per questo che, in termini di scalabilità, un server fisico ha delle difficoltà una volta che ha raggiunto quello che è il suo tetto massimo.
Inoltre, se la macchina fisica non supporta più gli upgrade e quindi siamo arrivati al tetto massimo è necessario prendere una nuova macchina fisica che possa avere più risorse, reinstallarla, spostare programmi ecc.. Quindi, in conclusione, possiamo affermare che, in termini di scalabilità, una macchina fisica ha più difficoltà.
Un server virtuale, invece, in termini di scalabilità cambia in maniera radicale perché, a livello di risorse, acquisisce risorse virtuali dalla macchina fisica e dall’hypervisor e quindi l’operazione di upgrade diventa molto più semplice.
Il procedimento è il seguente: si spegne la macchina, all’hypervisor si chiede di allocare più risorse sulla macchina virtuale e la si riaccende. In alternativa questa operazione spesso può essere fatta anche a caldo, ovvero con la macchina che gira si dice all’hypervisor di dargli più RAM e dargli più CPU e il sistema operativo del server virtuale vede da subito queste risorse.
In sintesi: in termini di scalabilità un server virtuale ci garantisce molto di più di un server fisico.
Backup
Un’altra differenza importante fra un server fisico e un server virtuale l’abbiamo a livello di backup.
Il backup di un server fisico è classicamente il backup dei dati che stanno sul server fisico, quindi backupperemo i dati che stanno nelle cartelle di configurazione, i siti e tutti i dati che stanno sulla macchina. Difficilmente, però, avremo l’opportunità di prendere quella che viene chiamata un’immagine della macchina, quindi avere uno snapshot o fotografia di quello che è tutta l’interezza della macchina.
Questo comporta che, in caso di problemi, sarà necessario prendere una nuova macchina fisica o la stessa macchina fisica, reinstallare i software e poi ricaricare il backup. Tutto ciò comporta sia un tempo di fermo per il ripristino del backup, sia la possibilità di sbagliare o di non fare esattamente la stessa configurazione. Questo svantaggio si massimizza quando dobbiamo fare un aggiornamento (ad esempio del sistema operativo) che potrebbe andare male. Farlo su un server fisico comporta sempre questo margine di rischio.
Il server virtuale, invece, ci permette di prendere un’immagine della macchina effettuando una snapshot, ovvero ci permette di fermare per un istante la macchina, fare un’immagine e mentre la macchina gira avere questa immagine dell’istante preciso in cui l’abbiamo fatta.
Per capire meglio questo vantaggio facciamo un esempio: in caso di un aggiornamento critico è possibile fare una snapshot un istante prima di effettuare l’aggiornamento, successivamente effettuare l’aggiornamento e, se qualcosa va storto, ripristinare la snapshot e tornare esattamente (sia sistema operativo, sia applicazioni, sia configurazione dati) all’istante prima di effettuare l’operazione che ha creato il problema. Questo ci garantisce una possibilità di gestire al meglio le risorse della macchina e questi passaggi un po’ complessi.
Consumi e sostenibilità
Un altro vantaggio di un server virtuale, molto importante soprattutto in questo periodo in cui si parla molto di sostenibilità e di energia, è quello di poter “spremere” un server di tutte le sue risorse e quindi ridurre al minimo lo spreco di corrente e di componentistica.
Perché? Perché solitamente le macchine virtuali girano su un hardware molto performante e molto grande e si tende a sfruttarlo al massimo. Quindi, se avrò un server con 128 GB di RAM probabilmente sopra farò un numero di macchine virtuali che coprono una buona parte di queste risorse.
Questa massimizzazione delle risorse ci permette di ridurre il consumo di corrente. Possiamo quindi affermare che le macchine virtuali sono più sostenibili rispetto alle macchine fisiche.
Costi
Una macchina fisica dedicata ha un costo più elevato rispetto a una macchina virtuale poiché prendiamo un hardware server e lo dedichiamo solo per noi, solo per la nostra attività e, ovviamente, questo ha un impatto di costo.
È importante valutare di che risorse abbiamo bisogno e per quanto tempo: rispetto a una macchina fisica, una macchina virtuale ci garantisce la possibilità di avere le risorse che ci servono e poi scalarle nel tempo!
Flessibilità
Ultimo elemento, ma non per importanza, è la flessibilità della soluzione virtuale.
Una macchina virtuale, come dicevamo precedentemente, può essere backuppata tramite uno snapshot e quindi, in caso di guasto del server fisico, si prende l’ultimo backup, si mette su un altro server fisico con lo stesso hypervisor e ripartiamo sempre con la stessa configurazione e lo stesso sistema operativo al momento in cui abbiamo fatto il backup.
Su un server fisico questo ovviamente non succede: se si rompe la scheda madre del server fisico e non si può sostituire con l’equivalente, sarà necessario prendere un nuovo server fisico, installare, configurare e così via.
Questo non solo aumenta i tempi di down, ma anche il rischio di errore e ci mette in una situazione difficile.
Conclusioni
In conclusione: meglio un server fisico o virtuale?
La risposta è (ovviamente) dipende.
Per buona parte delle applicazioni un server virtuale è l’ottimale perché ci permette di avere le risorse che ci servono, di contenere i costi, di avere flessibilità nei backup e di avere scalabilità.
Per applicazioni più complesse che richiedono grandi risorse e di performance davvero al massimo, la soluzione del server fisico potrebbe essere la migliore. In ogni caso è comunque necessario valutare e progettare la macchina in modo da non rischiare di rimanere fermi in caso di problemi, quindi, ad esempio, vanno applicate repliche del database e una serie di tecnologie per garantirci di non rimanere bloccati.
Noi in All You Cloud usiamo sia server fisici, sia server virtuali in base alle esigenze del cliente.
Se vuoi valutare con noi quale può essere la strategia giusta di implementazione per la tua azienda puoi visitare la nostra Pagina Contatti e compilare il form per ottenere informazioni: insieme faremo un’analisi per determinare quale possa essere la soluzione perfetta per la tua attività!