Server Linux e Windows a Confronto!

windows-vs-linux11

Ecco un argomento che ci sta molto a cuore, InfoWorld propone il resoconto di una ricerca di mercato condotta da Gartner con lo scopo di valutare la situazione Linux contro Windows in ambito server. Stando a quanto emerge dall’indagine, risulta chiaro, come era lecito aspettarsi, che la posizione di Linux risulti particolarmente forte in questo settore, nonostante la pressione del gigante di Redmond.

In particolare, Linux ha un largo margine di vantaggio per quanto riguarda il Web, basti pensare alla diffusione di Apache e di altri strumenti open source che vi sono spesso associati, quali MySQL o PHP, mentre Windows ha conquistato nel tempo una propria posizione predominante in altri ambiti, grazie a prodotti quali Exchange o SQL Server. L’aspetto interessante del confronto sembra essere il fatto che la crescita di uno dei due concorrenti non vada necessariamente a scapito del rivale.

 Parlando di numeri, si stima infatti che nei prossimi anni entrambi i prodotti vivranno un periodo di incremento delle proprie vendite: per Windows Server si parla del passaggio dai 20 miliardi di dollari dello scorso anno ai 22 miliardi previsti per il 2012, mentre per Linux le cifre sono più contenute ma comunque in aumento, dai 9 miliardi dello scorso anno fino a 12 miliardi di dollari nei prossimi 3 anni. Va comunque ricordato che i numeri non sono confrontabili, considerando il fatto che l’utilizzo di Linux non obbliga per forza di cose all’acquisto di licenze o supporto tecnico.

Altro aspetto numerico interessante riguarda l’eventuale migrazione dei propri sistemi: la maggior parte degli intervistati sembra essere favorevole ad una migrazione verso Linux, soprattutto per quelle aziende che stanno adottando sistemi Unix, mentre solo una piccola percentuale, circa il 4%, sembra essere propensa al passaggio da Linux a Windows. Una larga fetta degli intervistati (21%), d’altro canto, non ha in mente alcuna migrazione.

Esulando dagli aspetti prettamente numerici, si parla inoltre delle motivazioni che possono spingere verso la scelta di una o dell’altra soluzione, e in questo caso i fattori in gioco possono essere diversi: l’aspetto economico prima di tutto, da valutare però nel lungo termine, la compatibilità con i sistemi già esistenti, anche per quanto riguarda l’hardware, e il supporto tecnico legato al prodotto, che per le realtà più grandi potrebbe essere un aspetto dominante

Diamo un’occhiata alle comparazioni di stabilità e sicurezza delle due soluzioni.

Stabilità

Windows Linux Note
Stabilità del sistema Le versioni di Windows basate su kernel NT (2000, XP, Server 2003, Vista, 7 e 8) sono tecnicamente molto più stabili dei sistemi operativi Windows 9x (95, 98 e Me) basati su MS-DOS. L’installazione di driver non completamente riadattati potrebbe portare al crash del sistema. Esistono comunque diverse modalità per terminare un’applicazione che causa il blocco del sistema. La stabilità dei sistemi UNIX è basata sulla struttura modulare a livelli del kernel (famosa per la sua stabilità). Gli emulatori di terminale e i window manager sono molto stabili. Anche su Linux è possibile terminare le applicazioni su più livelli. L’instabilità può dipendere da programmi scritti male, a prescindere dalla stabilità intrinseca del sistema operativo. In entrambi i sistemi, i crash delle applicazioni, nella maggior parte dei casi, non necessitano un riavvio dell’intero sistema operativo o causano perdita di dati.
Spegnimenti e riavvii I riavvii sono spesso richiesti al termine di installazioni di driver o di programmi che modificano file di sistema o in uso. Linux va riavviato solo dopo l’aggiornamento del kernel. Il software kexec inoltre permette di utilizzare un nuovo kernel senza necessità di riavviare la macchina, permettendo d’installare un sistema operativo aggiornato su un server, raggiungendo un uptime anche di vari anni.
Recovery Nelle versioni NT di Windows i programmi che crashano possono essere chiusi dal task manager o da riga di comando. Tutti i processi, tranne quelli del kernel, possono essere terminati da riga di comando o da terminali grafici. Si può interagire direttamente con il kernel con la combinazioneSysRQ, che consente di manipolare il sistema base ed eseguire il recupero delle applicazioni crashate.
Errori non risolvibili Se il kernel o qualsiasi altra applicazione a livello del kernel non è in grado di consentire la sicurezza del sistema, il sistema restituisce un “bug check” (noto come Blue Screen of Death). In questi casi viene creato un memory dump e, a seconda delle impostazioni, il computer potrebbe essere in grado di ripartire automaticamente. In certi casi può essere necessario il riavvio. L’equivalente della BSOD nei sistemi Unix-like è il kernel panic. In questi casi il kernel crea un memory dump, stampa a schermo un messaggio contenente l’errore e attende il riavvio manuale.

Per ottenere un sistema operativo soggettivamente “stabile” è necessaria la cooperazione sinergica di varie componenti. Non tutte queste componenti sono sotto il controllo del produttore del sistema operativo: se da un canto un kernel Linux o Windows può essere stabile, dall’altro applicazioni e driver mal scritti possono danneggiare seriamente la stabilità. Quindi gran parte della stabilità deriva dalla gestione del kernel in caso di comportamenti errati da parte di applicazioni e driver.

Gran parte della reputazione che ha Microsoft Windows di essere un sistema instabile è riconducibile alle versioni 95, 98 e ME di Windows, caratterizzate dalla frequente visualizzazione del Blue Screen of Death. In particolare, la probabilità di crash di questi sistemi era incrementata da tre principali debolezze:

  • Compatibilità a 16-bit. Il BSoD veniva spesso visualizzato in caso di errori nella gestione della memoria del sottosistema DOS. Windows NT non ha un supporto a 16-bit reale (l’ambiente a 16-bit viene emulato in una macchina virtuale) mentre la versione a 64-bit non presenta affatto supporto 16-bit.
  • Accesso diretto all’hardware. A differenza di Windows NT, le versioni precedenti di Windows non presentavano nessun HAL. Di conseguenza un programma o driver che tentava di accedere ad un’area di memoria protetta o che non si interfacciava bene con l’hardware, poteva causare un BSoD.
  • Gestione inefficace delle librerie dinamiche. Le librerie dinamiche sono librerie di funzioni che servono a evitare ripetizioni non necessarie nel codice delle applicazioni. La famiglia di sistemi operativi Windows 9xnon presentava un sistema di protezione delle librerie dinamiche di sistema e per questo motivo le applicazioni potevano andare a sostituirle con versioni errate. L’accumularsi di sostituzioni causava nel tempo un progressivo calo della stabilità generale. Da Windows 2000 in poi è stato introdotto un sistema di controllo delle librerie di sistema, denominato Windows File Protection, che avvisa l’utente nel caso di sovrascrittura delle suddette librerie e gli propone di ripristinare la versione originale.

Queste non sono le uniche cause dell’instabilità di questa famiglia di sistemi, ma le modifiche apportate nei kernel NT hanno incrementato la stabilità delle versioni che utilizzano questo tipo di kernel: Windows 2000, XP, Server 2003, Vista, 7 e 8.

Sicurezza

Per determinare la sicurezza di un sistema operativo è necessario conoscere cosa incoraggia i programmatori a creare malware:
  • Il software infettato deve essere ampiamente utilizzato, per colpire il maggior numero di utenti con il minimo sforzo per riadattare il programma e, nel caso dei virus, aumentare le possibilità di contagio
  • Le eventuali vulnerabilità che vengono sfruttate dai malware devono avere tempi di correzione molto lenti, permettendo al malware di agire più a lungo
  • Il sistema operativo deve essere il più monolitico possibile e non diviso in componenti isolati, in modo che sfruttando una vulnerabilità di un componente si possa manipolare anche gli altri

Per scoraggiare la creazione di malware e ridurne l’impatto, i sistemi operativi sono multiutenti e presentano aggiornamenti regolari per neutralizzare possibili minacce ed isolare le sezioni danneggiate.

Separando gli utenti comuni dall’account di root è più facile limitare i danni dei malware. Prima di Windows Vista i sistemi operativi Microsoft prevedevano la possibilità per qualunque utente di essere amministratore di sistema. Al contrario sui sistemi Linux le utenze normali sono state da sempre separate dall’amministratore. In questo modo viene resa più difficile la creazione e lo sfruttamento del malware.

Windows Linux Note
Malware Da dati raccolti da Kaspersky, sono stati scoperti più di 11.000 malware per Windows solamente nell’ultimo semestre del 2005.[22] Gli antivirus in genere contengono più di 100 000 definizioni per possibili attacchi.[23] Esistono inoltre le Botnet, reti di computer infetti e controllati da remoto, che riescono a contare più di un milione di macchine.[24] Una volta che un malware infetta un sistema operativo Microsoft in genere è difficilmente rimovibile.[25] Nelle guide all’uso di Windows viene consigliato spesso di utilizzare programmi anti-malware.[26] Esistono più di 800 malware per Linux.[22] La maggior parte di questi viene diffusa tramite Internet.[27] In pratica è estremamente raro che un sistema Linux venga infettato completamente da un virus. I componenti vulnerabili possono essere corretti modificando il codice sorgente. Esistono inoltre software simili a quelli presenti su Windows come ClamAV oPanda. Lo scopo principale di questi software è, se installati suserver connesso ad una rete mista, di controllare malware presenti nelle e-mail ed evitare la trasmissione di virus che colpiscono altri sistemi operativi.
Open source vs. software proprietario La Microsoft afferma che il suo sistema operativo è sicuro grazie ad un particolare ciclo di vita del software denominato “Trustworthy Computing Security Development Lifecycle”.[28][29][30] A causa della licenza proprietaria di Windows solo i programmatori hanno accesso al codice sorgente per poter correggere i bug. Gli sviluppatori affermano che il kernel Linux è più sicuro poiché può essere controllato da moltissime persone e, in accordo con la legge di Linus, è più probabile che i bug vengano risolti velocemente. La Microsoft afferma che Windows Vista è il sistema operativo più sicuro.[31] Tuttavia Vista, secondo il New York Times, detiene il record di maggior numero di vulnerabilità.[32]
Tempo di risposta La Microsoft sostiene che il software proprietario offra una più rapida ed efficace risposta alle falle di sicurezza.[33] Tuttavia l’aggiornamento periodico per i bug critici avviene solamente una volta al mese.[34][35] Ciò consente agli sviluppatori di malware di pianificare più facilmente gli attacchi una volta rilasciato l’aggiornamento mensile.[36] I bug possono essere risolti nella stessa giornata in cui vengono scoperti, sebbene in genere passino alcune settimane prima che la patch sia disponibile per tutte le distribuzioni.
Account Su Windows Vista è presente un software che impedisce agli utenti comuni di danneggiare l’intero sistema tramite malware. L’User Account Control permettere di eseguire determinati programmi come amministratore senza dover utilizzare un account dotato di tali privilegi. In pratica molti utenti trovano fastidioso questo programma e lo disabilitano provocando i seguenti scenari:

  1. Nessun programma può essere eseguito da amministratore: questo impedisce all’utente d’installare software e hardware.
  2. Tutti i programmi possono essere eseguiti da amministratore: questo permette ai malware d’installarsi automaticamente senza chiedere l’autorizzazione all’utente
Durante l’installazione è necessario creare una utenza separata, “root”, che gode di tutti i privilegi dell’amministratore. È possibile per alcuni utenti utilizzare il comando sudo che permette di gestire il sistema in sostituzione del root. Gli utenti che possono usufruire di questa possibilità sono elencati in un file di testo, /etc/sudoers, inizialmente modificabile esclusivamente dal root.Al contrario del comando su, sudo permette all’utente di prestare più attenzione ai comandi digitati e richiede la password prima di eseguirli. Un malware eseguito sotto account limitato sia su Windows che su Linux può danneggiare esclusivamente i dati dell’utente. Il comando sudo garantisce all’utente un tempo limitato in cui godere dei privilegi dell’amministratore (su Ubuntu è fissato a 10 minuti). In questo periodo di tempo l’utente è libero di eseguire qualunque comando come root. Su Windows invece il sistema operativo garantisce la libertà all’utente esclusivamente per un processo, chiedendo di volta in volta all’utente istruzioni su come proseguire. Se il programma è complesso spesso Windows irrita l’utente mostrando più di una finestra interattiva.

In questa foto è possibile notare con soluzioni equiparate il risparmio effettivo che si può arrivare ad avere con una soluzione linux a confronto con Windows.
compare-serv

Come ultimo punto, scriviamo 5 punti importanti per preferire una soluzione Linux a quella di Microsoft, che ci possono far decidere bene nel momento del cambio server aziendale.

1. Stabilità

I sistemi Linux sono ben noti per la loro capacità di funzionare per anni senza cedimenti;infatti, molti utenti di Linux non hanno mai visto un incidente. Questo è importante per gli utenti di ogni genere, ma è particolarmente utile per le piccole e medie imprese, per le quali i tempi di inattività possono avere conseguenze disastrose.

Linux gestisce anche un gran numero di processi in esecuzione contemporaneamente molto meglio di Windows – c’è qualcosa, infatti, che tende a degradare la stabilità di Windows rapidamente nell’esecuzione di più processi.

Poi c’è la necessità di riavviare. Considerando che le modifiche alla configurazione di Windows in genere richiedono un riavvio – causa i tempi di inattività inevitabile – non c’è in genere  bisogno di riavviare in Linux. Quasi tutti i Linux modifiche di configurazione possono essere effettuate mentre il sistema è in funzione e senza intaccare i servizi correlati.

Allo stesso modo, considerare che i server Windows devono spesso essere deframmentati frequentemente, questo è del tutto eliminato su Linux. Lasciate ai vostri concorrenti sopportare i tempi di inattività abbondante che va inevitabilmente di pari passo con Windows; Il fidato Linux vi terrà in funzione per servire i client tutto il giorno.

2. Sicurezza

Linux è anche intrinsecamente più sicuro di Windows  sia su server che desktop o in un ambiente integrato . Questo è dovuto principalmente al fatto che Linux, si basa su Unix, è stato progettato fin dall’inizio per essere un sistema operativo multiutente. Solo l’amministratore o utente root, dispone di privilegi amministrativi, e un minor numero di utenti e applicazioni hanno il permesso di accedere al kernel o altro.Il che mantiene tutto modulare e protetto.

Naturalmente, anche Linux viene attaccato,ma molto meno frequentemente, da virus e malware la sua vulnerabilità tende a trovare e risolvere il tutto più velocemente dai suoi sviluppatori ed utenti. Anche dopo sei anni di bug nel kernel, che è stato risolto di recente, per esempio – un caso estremamente raro nel mondo Linux – non era mai stato sfruttato!

Un sistema Windows a volte può nascondere i file dall’amministratore di sistema. Su Linux, invece, l’amministratore di sistema ha sempre una visione chiara del file system ed è sempre in controllo.

3. Hardware

Considerando che Windows richiede tipicamente aggiornamenti hardware frequenti siamo costretti ad accogliere i suoi sempre crescenti richieste di risorse, Linux è leggero, flessibile e scalabile, ed viene eseguito mirabilmente praticamente su qualsiasi computer, indipendentemente dal processore o architettura della macchina.

Linux può anche essere facilmente riconfigurato per includere solo i servizi necessari ai fini della vostra azienda, riducendo così ulteriormente i requisiti di memoria, migliorando le prestazioni e mantenere le cose ancora più semplice.

4. TCO

Non c’è alcun battaglia sul costo totale della licenza di Linux , dal momento che il software è generalmente gratuito… Anche una versione enterprise acquistata con il supporto aziendale sarà più economico nel globale rispetto a Windows o altri software proprietari, che comportano generalmente le licenze user-based e una serie di costosi componenti aggiuntivi, soprattutto per la sicurezza.

Lo stesso vale per la maggior parte degli strumenti e delle applicazioni che possono essere utilizzate su un server Linux . Il TCO semplicemente non può essere battuto.

5. Libertà

Con Linux, non vi è alcun vendor commerciale che possa cercare di bloccare voi o determinati prodotti o protocolli. Invece, sei libero di mescolare e abbinare e scegliere quello che funziona meglio per il vostro business.

In breve, con tutti i vantaggi che Linux fornisce nel regno server, non c’è da meravigliarsi se i governi, le organizzazioni e le principali aziende di tutto il mondo – tra cui Amazon e Google – fanno affidamento sul sistema operativo open source per propri sistemi produttivi.

Se siete alla ricerca di una distribuzione Linux per l’esecuzione sui server della vostra azienda, faresti bene a considerare CentOS (o RHEL, la versione a pagamento da Red Hat che CentOS si basa su), Slackware , Debian e Gentoo .

Fonti: Wikipedia,oneopensource