Che cos’è un High Availability Dedicated Server?
Un tipico server dedicato è un potente computer collegato a una connessione Internet ad alta velocità e alloggiato in un centro dati remoto all’avanguardia o in una struttura dati ottimizzata.
Un server dedicato ad alta disponibilità è un sistema avanzato dotato di alimentatori ridondanti, una rete completamente ridondante, torri di dischi RAID e backup, assicurando il massimo uptime e la piena affidabilità senza un singolo punto di fallimento.
Configurazione per server dedicati ad alta disponibilità
Come suggerisce il nome, le soluzioni dedicate ad alta disponibilità sono soluzioni di hosting scalabili e personalizzate, progettate per soddisfare le esigenze uniche di qualsiasi azienda.
Queste configurazioni sono attentamente progettate per fornire un’architettura a prova di errore per eseguire le applicazioni critiche nella vostra azienda – quelle che richiedono la massima disponibilità.
Le possibili configurazioni di server ad alta disponibilità potrebbero includere più host gestiti da bilanciatori di carico ridondanti e host di replica. Così come firewall ridondanti per una maggiore sicurezza e affidabilità.
Perché il server ad alta disponibilità è importante per il business
Al giorno d’oggi le aziende fanno affidamento su Internet. Ammettiamolo – anche il più piccolo tempo di inattività può causare enormi perdite al business. E non solo perdite finanziarie. La perdita di reputazione può essere altrettanto devastante.
Secondo StrategicCompanies più della metà delle aziende Fortune 500 sperimentano un minimo di 1,6 ore di inattività ogni settimana. Questo equivale a enormi perdite di tempo, profitti e fiducia dei consumatori. Se il tuo cliente non può raggiungerti online, potresti anche essere sulla luna, per quanto lo riguarda.
Considera: Nell’anno 2013, 30 minuti di interruzione di Amazon.com sono costati all’azienda quasi 2 milioni di dollari. Sono 66.240 dollari al minuto. Prenditi un momento per bere questo. Anche se non sei Amazon, qualsiasi tempo di inattività non pianificato è dannoso per il tuo business.
Il tuo normale fornitore di hosting può fornire il 99% di disponibilità del servizio. Questo potrebbe sembrare buono, in teoria. Ma pensa a quell’1% mancante… Sono 87 ore (3,62 giorni) di fermo macchina all’anno! Se il tempo di inattività colpisce durante i periodi di punta, la perdita per il tuo business può essere disastrosa.
Il modo migliore per prevenire i tempi di inattività ed eliminare queste perdite è optare per soluzioni di hosting ad alta disponibilità.
Costruito su una complessa architettura di hardware e software, tutte le parti di questo sistema lavorano in modo completamente indipendente l’una dall’altra. In altre parole – il fallimento di qualsiasi singolo componente non farà crollare l’intero sistema.
Può gestire un volume molto grande di richieste o un improvviso aumento del traffico. Cresce e si restringe con le dimensioni e le esigenze della vostra organizzazione. Il tuo business è flessibile, non dovrebbero esserlo anche i tuoi sistemi informatici?
Seguono alcune delle migliori soluzioni ad alta disponibilità che puoi usare per ospitare le tue applicazioni aziendali.
Server dedicati ad altissime prestazioni
I server ad alte prestazioni sono soluzioni dedicate di fascia alta con una maggiore capacità di calcolo, progettate appositamente per ottenere il massimo delle prestazioni. Sono una soluzione ideale per soddisfare i carichi di lavoro aziendali.
Un tipico server dedicato ad alte prestazioni sarà composto da quanto segue:
- Singolo/due processori Intel Xeon E3 o E5 di ultima generazione.
- 64 GB a 256 GB di RAM
- 8 a 24 TB SATA II HDD con RAID 10
- Alimentazione efficiente e ridondante & unità di raffreddamento
- Backup offsite
Nota che la lista sopra è solo una configurazione di esempio che può essere personalizzata/aggiornata secondo le tue esigenze. Se hai bisogno di più potenza, possiamo costruire una configurazione con 96 unità, 3 TB di RAM e 40+ core fisici della CPU.
Applicazioni del mondo reale (Case Study)
Requisiti del cliente
Uno dei nostri clienti esistenti stava cercando un server di gioco di fascia alta per ospitare giochi flash con PHP codificato e server MySQL come backend.
Per ottenere la massima disponibilità, hanno richiesto 2 bilanciatori di carico con failover. Ognuno di essi contiene 2 server web e un server di database.
Statistiche del sito
- 8000-10000 giocatori simultanei
- Richiesta del 100% di uptime
- 10 GB+ di dimensione del database
Soluzione proposta da AccuWebHosting
Il nostro team di pianificazione della capacità ha progettato un’infrastruttura completamente ridondante con doppi bilanciatori di carico davanti ai server web e database.
Questa configurazione consiste in 2 VM con bilanciatori di carico collegati a un gruppo di server web attraverso un firewall. Il server di database è stato costruito su unità SSD ultraveloci per le operazioni di I/O su disco più veloci.
Per un failover, abbiamo impostato una replica esatta di questa architettura con mirroring in tempo reale. Se il sistema primario dovesse fallire, la configurazione secondaria prenderà il carico di lavoro senza soluzione di continuità. Proprio così. Zero downtime.
Diagramma dell’infrastruttura
Load Balanced Dedicated Servers
Load Balancing
Il processo di distribuzione del traffico web in entrata su un gruppo di server in modo efficiente e senza interventi è chiamato Load Balancing.
Un dispositivo hardware o software che fornisce questa funzionalità di bilanciamento del carico è noto come Load Balancer.
I server dedicati dotati di un bilanciatore di carico hardware/software sono chiamati Load Balanced Dedicated Servers.
Come funziona il bilanciamento del carico?
Un bilanciatore di carico si trova davanti ai tuoi server e instrada le richieste dei visitatori attraverso i server. Assicura una distribuzione uniforme, cioè, tutte le richieste devono essere soddisfatte in modo da massimizzare la velocità e l’utilizzo della capacità di tutti i server e nessuno di essi è sovra o sottoutilizzato.
Quando i tuoi clienti visitano il tuo sito web, sono prima collegati al bilanciatore di carico e il bilanciatore di carico li indirizza a uno dei server web nella tua infrastruttura. Se un qualsiasi server va giù, il bilanciatore di carico reindirizza immediatamente il traffico ai restanti server online.
Quando il traffico web aumenta, è possibile aggiungere nuovi server rapidamente e facilmente al pool esistente di server bilanciati. Quando viene aggiunto un nuovo server, il bilanciatore di carico inizierà a inviare automaticamente le richieste al nuovo server. Proprio così – non è richiesto alcun intervento da parte dell’utente.
Tipi di bilanciamento del carico
Il bilanciamento del carico può essere eseguito con uno dei seguenti metodi.
- Bilanciamento del carico tramite DNS
- Bilanciamento del carico tramite hardware
- Bilanciamento del carico tramite software
Bilanciamento del carico con DNS
Il servizio DNS bilancia il traffico web su più server. Si noti che quando si esegue il bilanciamento del carico di traffico attraverso questo metodo non è possibile scegliere quale algoritmo di bilanciamento del carico. Utilizza sempre l’algoritmo Round Robin per bilanciare il carico.
Bilanciamento del carico tramite hardware
Questo è il modo più costoso di bilanciamento del carico. Utilizza un dispositivo hardware dedicato che gestisce il bilanciamento del carico di traffico.
La maggior parte dei sistemi di bilanciamento del carico basati sull’hardware eseguono una distribuzione Linux incorporata con uno strumento di gestione del bilanciamento del carico che permette un facile accesso e una panoramica della configurazione.
Bilanciamento del carico tramite software
Il bilanciamento del carico basato sul software è uno dei metodi più affidabili per distribuire il carico sui server. In questo metodo, il software bilancia le richieste in entrata attraverso una varietà di algoritmi.
Algoritmi di bilanciamento del carico
Ci sono diversi algoritmi che possono essere usati per raggiungere il bilanciamento del carico sulle richieste in entrata. La scelta del metodo di bilanciamento del carico dipende dal tipo di servizio, dal tipo di bilanciamento del carico, dallo stato della rete e dai tuoi requisiti aziendali.
In genere, per sistemi a basso carico, saranno sufficienti metodi semplici di bilanciamento del carico (cioè Round Robin), mentre, per sistemi ad alto carico, dovrebbero essere usati metodi più complessi. Controlla questo link per maggiori informazioni su alcuni algoritmi di bilanciamento del carico standard utilizzati dai bilanciatori di carico.
Impostare il bilanciamento del carico su Linux
HAProxy (High Availability Proxy) è il miglior strumento disponibile per impostare un bilanciatore di carico su macchine Linux (server web, server database, ecc).
E’ un bilanciatore di carico TCP e HTTP open-source usato da alcuni dei più grandi siti web tra cui Github, StackOverflow, Reddit, Tumblr e Twitter.
E’ anche usato come un software proxy server veloce e leggero con una piccola impronta di memoria e un basso utilizzo della CPU.
Di seguito ci sono alcuni ottimi tutorial per impostare un bilanciamento del carico su Apache, NGINX e MySQL server.
- Impostazione di HAProxy come bilanciatore di carico per Nginx su CentOS 7
- Impostazione del bilanciatore di carico ad alta disponibilità per Apache con HAProxy
- Impostazione del bilanciamento del carico di MySQL con HAProxy
Impostazione del bilanciamento del carico su Windows
Guarda sotto il documento ufficiale Microsoft per impostare il bilanciamento del carico con il server web IIS.
Impostare il bilanciamento del carico su IIS
Cloud privato scalabile
Un cloud privato scalabile è un sistema basato su cloud che ti dà self-service, scalabilità ed elasticità attraverso un’architettura proprietaria.
Il cloud privato è altamente scalabile, il che significa che ogni volta che hai bisogno di più risorse, puoi aggiornarle, che si tratti di memoria, spazio di archiviazione, CPU o larghezza di banda.
Dà il miglior livello di sicurezza e controllo rendendolo una soluzione ideale per un business più grande. Permette di personalizzare il computer, lo storage e i componenti di rete per soddisfare al meglio le esigenze del cliente.
Vantaggi del Private Cloud
Sicurezza migliorata & Privacy
Tutti i vostri dati sono memorizzati e gestiti su server dedicati con accesso dedicato. Se il vostro Cloud è in loco, il server sarà monitorato dal vostro team IT interno e se è in un datacenter, i loro tecnici lo controlleranno. Quindi, la sicurezza fisica non è la vostra preoccupazione.
Piattaforma completamente ridondante
Una piattaforma cloud privata fornisce un livello di ridondanza per compensare i guasti multipli del disco rigido, della potenza di elaborazione ecc. Quando si dispone di un cloud privato, non è necessario acquistare alcuna infrastruttura fisica per gestire la fluttuazione del traffico.
Efficienza & Controllo
Il cloud privato offre un maggiore controllo sui dati e sulle infrastrutture. Ha risorse dedicate e nessun altro ha accesso al server tranne il proprietario del server.
Risorse scalabili
Ogni azienda ha una serie di requisiti tecnici e di business che di solito differiscono dalle altre aziende in base alle dimensioni della società, al settore e agli obiettivi di business ecc.
Un cloud privato consente di personalizzare le risorse del server in base alle vostre esigenze uniche. Permette anche di aggiornare le risorse del server quando necessario.
Svantaggi del cloud privato
Costo
Rispetto al cloud pubblico e alla semplice configurazione del server dedicato, un cloud privato è più costoso. Sono necessari anche investimenti in hardware e risorse.
È anche possibile affittare una nuvola privata, tuttavia i costi saranno probabilmente gli stessi o addirittura superiori, quindi questo potrebbe non essere un vantaggio.
Manutenzione
Acquistare o affittare una nuvola privata è solo una parte del costo. Ovviamente, per un acquisto, avrete un grande esborso di denaro all’inizio. Se siete in affitto, avrete canoni mensili continui.
Ma anche oltre questi costi, dovrete considerare la manutenzione e gli accessori. Il tuo cloud privato avrà bisogno di abbastanza energia, impianti di raffreddamento, un tecnico per gestire il server e così via.
Sottoutilizzo
Anche se non stai utilizzando le risorse del server, devi comunque pagare il costo completo del tuo cloud privato. Che sia di proprietà o in affitto, il costo della sottoutilizzazione della capacità può essere scoraggiante, quindi scala adeguatamente all’inizio del processo.
Implementazione complessa
Se non sei esperto di tecnologia, potresti avere difficoltà a mantenere un cloud privato. Avrai bisogno di assumere un esperto di cloud per gestire la tua infrastruttura, ancora un altro costo.
Linux &Fornitori di cloud privato Windows
I fornitori di cloud ti danno la possibilità di selezionare la tua scelta del sistema operativo: Windows o qualsiasi distribuzione Linux. I seguenti sono alcuni dei fornitori di soluzioni cloud private.
- AccuWebHosting
- Amazon Web Services
- Microsoft Azure
- Rackspace
Impostare il proprio cloud privato
Ci sono molti strumenti a pagamento e open source disponibili per impostare il proprio cloud privato.
- OpenStack
- VMware vSphere
- VMmanager
- OnApp
- OpenNode Cloud Platform
OpenStack è una piattaforma open source che fornisce IAAS (Infrastructure As A Service) per cloud pubblici e privati.
Clicca qui per vedere la guida completa all’installazione su come puoi implementare la tua infrastruttura cloud privata con OpenStack su un singolo nodo in CentOS o RHEL 7.
Failover
Failover significa passare istantaneamente a un server standby o a una rete in caso di guasto del server/rete primario.
Quando l’host primario va giù o necessita di manutenzione, il carico di lavoro verrà automaticamente trasferito su un host secondario. Questo dovrebbe essere senza soluzione di continuità, con i vostri utenti completamente ignari dell’accaduto.
Il failover impedisce un singolo punto di guasto (SPoF) e quindi è l’opzione più adatta per le applicazioni mission critical in cui il sistema deve essere online senza nemmeno un secondo di downtime.
Come funziona il failover?
Sorprendentemente, il sistema di failover automatico è abbastanza facile da configurare. Un’infrastruttura di failover consiste in 2 server identici, un server primario e uno secondario. Entrambi i server serviranno gli stessi dati.
Un terzo server sarà utilizzato per il monitoraggio. Monitora continuamente il server primario e se rileva un problema, aggiornerà automaticamente i record DNS per il tuo sito web in modo che il traffico venga deviato sul server secondario.
Una volta che il server primario inizia a funzionare di nuovo, il traffico verrà indirizzato nuovamente al server primario. La maggior parte delle volte i vostri utenti non noteranno nemmeno un tempo di inattività o un ritardo nella risposta del server.
Tipi di Failover
Cold Failover
Un Cold Failover è un metodo di ridondanza che implica avere un sistema come backup per un altro sistema primario identico. Il sistema Cold Failover viene chiamato solo in caso di guasto del sistema primario.
Quindi, Cold Failover significa che il secondo server viene avviato solo dopo che il primo è stato spento. Chiaramente questo significa che devi essere in grado di tollerare una piccola quantità di tempo di inattività durante lo switch-over.
Hot Failover
Hot Failover è un metodo ridondante in cui un sistema funziona simultaneamente con un sistema primario identico.
In caso di fallimento del sistema primario, il sistema Hot Failover subentra immediatamente, sostituendo il sistema primario. Tuttavia, i dati sono ancora riflessi in tempo reale assicurando che entrambi i sistemi abbiano dati identici.
Impostazione Failover
Guarda i seguenti tutorial per impostare e distribuire un cluster failover.
- Impostare Failover Cluster su Windows Server 2012
- Configurare High Avaliablity Cluster su CentOS
- La guida completa su come impostare il clustering in Linux
Soluzioni disponibili
Ci sono quattro principali fornitori di failover cluster elencati di seguito.
- Microsoft Failover Cluster
- RHEL Failover Cluster
- VMWare Failover Cluster
- Citrix Failover Cluster
Vantaggi del failover
- Il clustering di server failover è una soluzione completamente scalabile. Le risorse possono essere aggiunte o rimosse dal cluster.
- Se un server dedicato del cluster richiede manutenzione, può essere fermato mentre gli altri server gestiscono il suo carico. Quindi, rende la manutenzione più facile.
Svantaggi del Failover
- Il clustering del server di solito richiede più server e hardware da gestire e monitorare, quindi, aumenta l’infrastruttura.
- Il clustering del server di Failover non è flessibile, poiché non tutti i tipi di server possono essere messi in cluster.
- Ci sono molte applicazioni che non sono supportate dal design in cluster.
- Non è una soluzione efficace dal punto di vista dei costi, poiché ha bisogno di un buon design del server che può essere costoso.
Cluster ad alta disponibilità
Un cluster ad alta disponibilità è un gruppo di server che supportano applicazioni server che possono essere utilizzate con una quantità minima di downtime quando un nodo del server fallisce o subisce un sovraccarico.
Si può richiedere un cluster ad alta disponibilità per qualsiasi motivo, come il bilanciamento del carico, server failover e sistema di backup. I tipi più comuni di configurazione di cluster sono attivo-attivo e attivo-passivo.
Cluster attivo-attivo ad alta disponibilità
Consiste di almeno due nodi, entrambi attivamente in esecuzione lo stesso servizio. Un cluster attivo-attivo è il più adatto per ottenere un vero bilanciamento del carico. Il carico di lavoro è distribuito tra i nodi. Generalmente, si sperimenta un miglioramento significativo nel tempo di risposta e nella velocità di lettura/scrittura.
Cluster ad alta disponibilità attivo-passivo
Anche un attivo-passivo consiste di almeno due nodi. Tuttavia, non tutti i nodi rimangono attivi simultaneamente. Il nodo secondario rimane in modalità passiva o standby. Generalmente, questo cluster è più adatto per un ambiente cluster failover.
Impostare un cluster ad alta disponibilità
Qui ci sono alcuni ottimi tutorial per impostare un cluster ad alta disponibilità.
- Configurare un cluster ad alta disponibilità su CentOS
- Configurare un cluster ad alta disponibilità su CentOS 7 / RHEL 7
Soluzioni disponibili
Ci sono venditori molto conosciuti là fuori, che sono esperti nei servizi ad alta disponibilità. Alcuni di loro sono elencati di seguito.
- Soluzioni Dell Windows High Availability
- SoluzioniHP High Availability (HA) per cluster Microsoft e Linux
- VMware HA Cluster
Vantaggi del cluster High Availability
Protezione contro i tempi morti
Con soluzioni HA, se un qualsiasi server di un cluster va offline, tutti i servizi vengono migrati su un host attivo. Più velocemente il server torna online, più velocemente si può tornare a lavorare. Questo evita che il vostro business rimanga non produttivo.
Flessibilità ottimale
Le soluzioni ad alta disponibilità offrono maggiore flessibilità se il vostro business richiede disponibilità e sicurezza 24×7.
Risparmia i costi dei tempi di inattività
Più velocemente si rimette online il server, più velocemente si può tornare al lavoro, evitando che il vostro business rimanga non produttivo.
Facile personalizzazione
Con le soluzioni HA, è una questione di secondi per passare al server di failover e continuare la produzione. Puoi personalizzare il tuo cluster HA in base alle tue esigenze. È possibile impostare i dati per essere aggiornati in minuti o in pochi secondi. Inoltre, lo schema di replica dei dati, le versioni possono essere specificate secondo le vostre esigenze.
Svantaggi del cluster ad alta disponibilità
Crescita continua dell’infrastruttura
Richiede molti server e carichi di hardware per fornire un failover e un bilanciamento del carico. Questo aumenta la vostra infrastruttura.
Applicazione non supportata!
Il clustering offre molta flessibilità a livello di hardware ma non tutte le applicazioni software supportano l’ambiente clusterizzato.
Costoso
Il clustering non è una soluzione conveniente, più sofisticazione avete bisogno, più soldi dovete investire.
Configurazione complessa costruita da AccuWebHosting
Requisiti del cliente
Un sito eCommerce che può gestire il carico di picco di 1000 richieste HTTP al secondo, più di 15.000 visitatori al giorno e 3 volte il carico in meno di 10 secondi. Durante le ore di punta e il lancio di nuovi prodotti, il conteggio delle visite al sito sarà moltiplicato per 2.
Statistiche del sito
- 40K prodotti e articoli relativi ai prodotti
- 40 GB di contenuti statici (immagini e video ed elementi del sito web)
- 6 GB di database
Soluzione che abbiamo fornito
Abbiamo proposto un’infrastruttura cloud ad alta disponibilità, per gestire il carico e garantire anche la massima disponibilità. Per distribuire il carico, abbiamo montato 2 server di bilanciamento del carico di fronte alla configurazione con indirizzo IP bilanciato sopra di loro.
Abbiamo distribuito un totale di 8 server web, 3 server fisici dedicati e 5 istanze Cloud per assorbire il traffico previsto. La configurazione è stata configurata per essere sincronizzata tra i vari componenti attraverso il cluster rsync.
Le istanze Cloud sono state utilizzate in modo da poter essere aggiunte o rimosse in base al carico del traffico di punta senza incorrere nei costi associati a server fisici aggiuntivi.
Ogni istanza Cloud conteneva l’intero sito web (40GB di contenuto statico) per dare all’utente un’esperienza web fluida.
Il database da 6 GB era ospitato su un server master dedicato, che era replicato su un server secondario slave per subentrare quando il server master si guasta. Entrambi questi server DB hanno dischi SSD per migliori prestazioni di lettura/scrittura.
Un team di 15 sviluppatori e scrittori di contenuti aggiorna il contenuto attraverso i server di backoffice ospitati su un server dedicato. Qualsiasi modifica apportata dal team viene propagata tramite rsync sull’ambiente di produzione e sul database.
L’intera infrastruttura è stata monitorata da Zabbix, che è installato su un Cloud VPS ad alta disponibilità. Zabbix monitorerà i dati forniti dai server dell’infrastruttura e poi genererà una serie di grafici per rappresentare l’utilizzo della RAM, il carico medio, il consumo del disco e le statistiche di rete. Zabbix invierà anche un avviso quando uno qualsiasi dell’utilizzo raggiunge la sua soglia o se uno qualsiasi dei servizi va giù.
Conclusione
Quello che abbiamo visto finora sono le varie tecnologie come il bilanciamento del carico, il failover e le impostazioni di alta disponibilità per costruire soluzioni IT aziendali da piccole a complesse.
Abbiamo anche visto alcune applicazioni del mondo reale e casi di studio. Questi casi di studio vi aiuteranno davvero a finalizzare l’infrastruttura ad alta disponibilità più adatta.
Se state progettando di acquistare una nuova infrastruttura per il vostro business o volete aggiornare la vostra infrastruttura esistente, AccuWebHosting è sempre disponibile per voi. Inoltre, siamo elencati come il fornitore di hosting più raccomandato nella lista dei 10 migliori fornitori di cloudsmallbusinessservice.
AccuWebHosting