Se vogliamo acquistare l' hardware per il nostro sito weba, dobbiamo considerare varie questioni, soprattutto quella principale, se acquistarlo oppure no. Consideriamo anche l'ipotesi di utilizzare un server web che offre servizio hosting web.
Apache funziona su numerose piattaforme. Solitamente su sistemi UNIX, tra cui Solaris e sistemi operativi gratuiti simili a UNIX, Linux e FreeBDS. Anche MacOS X è popolare, se non altro perchè ogni computer contiene un'installazione Apache di default. Apache può essere eseguito anche su Windows NT, sebbene il funzionamento di Apache 1.3 non sia tanto scorrevole quanto l'implementazione di UNIX. Apache 2.0 è più adatto a Windows e fornisce migliori prestazioni e affidabilità.
Le società che hanno stipulato contratti di assistenza e considerano questo aspetto prioritario, dovranno probabilmente optare per le piattaforme più importanti, posto che funzionino con Apache e non presentino problemi di prestazioni e stabilità. Chi ha problemi di budget potrà optare per un PC economico con Linux o FreeBDS; si tratta di una soluzione poco costosa che presenta il vantaggio di una buona stabilità su entrambe le piattaforme. La costruzione di un cluster economico da una selezione di server economici è una soluzione più pratica di quanto potrebbe sembrare inizialmente. Possiamo eseguire un semplice clustering utilizzando nient'altro che Apache e un server dei nomi.
Per un server semplice e siti Web senza particolari esigenze basterebbe perfino un vecchio 486. Se abbiamo del vecchio hardware da parte e vogliamo posticipare la decisione di acquistare un nuovo PC finchè non avremo le idee più chiare su quello che ci serve, i vecchi computer inutilizzati possono andare benissimo. In alternativa possiamo comprare un PC economico per sviluppare una soluzione provvisoria. Rimandare l'acquisto il più possibile consentirà di acquistare in seguito una macchina più potente a un prezzo inferiore.
Nell'ambito del software gratuito, Linux e FreBSD sono entrambe scelte diffuse. La differenza principale tra di esse è che FreeBSD è leggermente piè stabile e ha un supporto di Networking più rapido, mentre per Linux c'è molto più software disponibile. La differenza è minima, comunque, poichè Linux è sufficientemente stabile per la maggior parte delle applicazioni web, al contrario l'importanza di software da Linux a FreeBSD è di solito un'operazione abbastanza semplice.
Se la stabilità è di importanza vitale e non intendiamo installare molto software aggiuntivo, sceglieremo FreeBSD. Se progettiamo di installare pacchetti per il supporto dei database, la sicurezza o l'e-commerce, Linux è probabilmente da preferire. Altre varianti BSD note per i server di Web sono OpenBSD, NetBSD è ovviamente MacOS X.
Se ci troviamo in un'ambiente omogeneo come le aziende è sensato usare lo stesso tipo di attrezzatura, se non altro per rendere più semplice l'amministrazione della rete. Tuttavia, questo non è un punto così importante come potrebbe sembrare. Se il nostro server non è adeguatamente collegato al resto dell'Intranet aziendale, è una buona idea isolare il server dalla Intranet per aumentare il livello di sicurezza. Poichè non esiste comunicazione tra il server web e gli altri server, non nasceranno nemmeno problemi di compatibilità. Apache funzionerà quasi su ogni macchina;pertanto, a meno che non abbiamo una ragione specifica per scegliere una determinata marca di hardware, qualsiasi PC di costo medio-basso andrè bene, purchè sia affidabile. La stabilitè è molto più importante del marchio.
Funzionamento del server su hardware dedicatoApache può essere eseguito anche su hardware dedicato. Dato il carico notevole impostato da un server di rete alla CPU, al disco e alla stessa rete. e dato che Apache funziona anche su hardware molto economico, non ci sono ragioni per non acquistare un server dedicato per i siti Web evitando di condividere risorse con altre applicazioni. Inoltre, non è una buona idea utilizzare un computer che ospita applicazioni importanti e al contempo file di un sito web di pubblico accesso.
Server ad alte prestazioni alta affidabilitàPer le applicazioni complesse si può prendere in considerazione l'idea di utilizzare un sistema a più processori. Con i sistemi espandibili possiamo aumentare progressivamente la potenza del server installandovi altri processori o memoria aggiuntiva, man mano che se ne presenta l'esigenza. In alternativa, è anche possibile creare un cluster di varie macchine indipendenti per ottenere un singolo server virtuale (questa soluzione è da preferire dal punto di vista delle spese e dell'affidabilità).
La memoria non è mai abbastanza: più memoria abbiamo a disposizione, più dati potranno essere registrati nella cache per un accesso rapido. Questo vale non solo per Apache ma anche per tutti gli altri processi eseguiti sul server, come le applicazioni database. Più precisamente la quantitù di memoria che ci serve è pari a quella che permette al server e a tutti i processi attivi di funzionare senza utlizzare la memoria virtuale. Se il sistema operativo finisce per essere a corto di memoria, dovrà temporaneamente spostare i dati dalla memoria al disco (cosidetto swapping). Quando i dati sono nuovamente necessari, essi dovranno essere letti dal disco con contemporaneo swapping di altri dati contenuti nella memoria virtuale, a meno che nel frattempo, non si sia liberata una quantità opportuna di tale memoria.
E' chiaro che non si tratta di un sistema efficiente in quanto rallenta il processo in cui sono necessari tali dati e blocca disco e processore, costringendoli a smistare i dati invece di servire le pagine Web. Se i dati che vengono travasati sono rappresentati dalla cache del server web o da tabelle di database di frequente accesso, l'impatto sulle prestazioni è rilevante.
Per calcolare la quantità di memoria che ci serve, occorre sommare le quantità di memoria necesarie a ogni applicazione. Poichè si tratta di una scienza inesatta, vale la seguente regola empirica:"aggiungiamo più memoria". In ultima analisi solo l'osservazione del comportamento del server mentre è in funzione ci dirà se abbiamo sufficiente memoria. Lo strumento vmstat sulla maggior parte dei sistemi UNIX è un modo per monitorare in che misura il server sovraccarica la memoria e il tempo che dedica allo swapping. Strumenti simili sono disponibili anche per altre piattaforme. In Windows NT è presente un ottimo strumento chiamato perfmon (performance monitor).
Interfaccia di reteLe prestazioni della CPU insieme ad un'abbondanza di memoria da sole non bastano e porteranno frequentemente alla formazione di colli di bottiglia a causa di una velocità di I/O insufficiente del sistema(frequenza di accesso alla scheda dell'interfaccia a al disco fisso).
In una intranet, la rete e la scheda dell'interfaccia sono molto esigenti e una normale connessione 10Base2 o 10BaseT può facilmente diventare un problema. Una rete 10Base può funzionare con una velocità massima di trasmissione dati di 6-8 megabit al secondo, ma un server di rete a cui si accede con un tasso di 90 hit al secondo, raggiungerà presto tale valore.
le schede di rete 100baseT e il relativo cablaggio sono divenuti più economici rispetto al passato, per cui non c'è alcun motivo per investire in reti a 10base a meno che non siamo gia in possesso di una rete 10base. Anche in tal caso le schede di rete duali 10/100Base sono l'opzioni e migliore, poichè possiamo aggiornare successivamente il resto della rete. Per le applicazioni più complesse è disponibile anche Gigabyte Ethernet, sebbene sia molto più costoso da implementare.
Non ci sono articoli correlati.