Demistificare l'architettura ad alta disponibilità

Pubblicato: 2017-03-02

L'elevata disponibilità è uno dei quattro "pilastri" di un'architettura Enterprise. È anche uno dei termini più fraintesi nel mondo dell'hosting WordPress e questo di solito porta a ulteriori cattive comunicazioni tra clienti e aziende.

Ma non dovrebbe essere così. Come scopriremo a breve, è un concetto molto semplice da comprendere e, una volta eliminati i bit confusi, sarai in grado di valutare e capire cosa ti offre un'azienda e se quell'offerta mantiene le promesse.

Che cos'è un'architettura ad alta disponibilità?

Esistono due concetti distinti implementati nelle architetture ad alta disponibilità: cluster e livelli multipli.
Un'architettura ad alta disponibilità, nella sua forma più semplice, è l'idea di avere più di una copia del tuo sito web in esecuzione. Queste copie sono chiamate nodi. Se il tuo sito web si interrompe, l'altra copia elaborerà le richieste dei tuoi visitatori e non ci saranno tempi di inattività.

I progetti di cluster ad alta disponibilità più comuni sono due:

Diversi modelli di cluster HA
  1. In active/active , entrambi i nodi A e B, il principale e la copia, sono in funzione. Questo design viene utilizzato quando è necessario gestire un volume elevato di richieste. I visitatori che navigano nel tuo sito web finiscono in uno dei due ogni volta. Pertanto, il carico proveniente dai tuoi visitatori web è bilanciato tra due nodi.
  2. In configurazione attiva/passiva il nodo principale A è in funzione e il nodo di copia B è in modalità “stand-by”. Quando il nodo A fallisce, la copia B si "riattiva" e diventa il nodo A attivo, mentre il nodo guasto diventa B. Questo è chiamato failover, poiché la copia viene attivata quando il nodo principale non funziona correttamente. Questo design non fornisce il bilanciamento del carico, ma può essere meno costoso da mantenere e configurare.

I cluster possono essere considerati gli elementi costitutivi essenziali di un'architettura ad alta disponibilità. Negli ambienti aziendali, i cluster sono organizzati in più livelli. Questa è chiamata architettura a più livelli, con il numero più comune di livelli tre: il livello presentazione, il livello applicazione e il livello dati.

Ciò significa che la visualizzazione del tuo sito Web, il codice che lo guida e i dati che lo circondano sono separati in tre "livelli" distinti. I server Web ei dati HTML risiedono nel livello di presentazione, il codice e le applicazioni nel livello dell'applicazione e, naturalmente, il database nel livello dei dati.

Perché un'architettura ad alta disponibilità è migliore?

Combinando queste due idee, cluster e livelli multipli, crei un'architettura ad alta disponibilità che può essere facilmente mantenuta e protetta. I suoi vantaggi, rispetto ad ambienti di hosting singolo o condiviso, sono numerosi:

  • Tolleranza ai guasti : questa è una proprietà di sistema delle architetture ad alta disponibilità che consente ai siti Web di funzionare continuamente, anche quando alcuni o tutti i suoi componenti si guastano.
  • Le operazioni di manutenzione non causano tempi di fermo : avere il tuo sito web ospitato in un cluster ti consente di aggiornarlo senza interruzioni. Un nodo può essere in modalità di manutenzione, mentre l'altro è online al servizio dei tuoi clienti. Al termine dell'aggiornamento sul primo nodo, quest'ultimo va online e la manutenzione continua nel secondo.
  • Ridimensionamento più semplice : se il tuo sito Web deve soddisfare un volume maggiore di richieste, lo ridimensioni orizzontalmente, ovvero aggiungi nodi extra al cluster. D'altra parte, se vuoi che il tuo sito web abbia più potenza di elaborazione o memoria, puoi ridimensionarlo verticalmente aggiungendo più memoria o aggiornando la CPU. In entrambi i casi non ci sono tempi di inattività: almeno un nodo è online e operativo durante gli aggiornamenti di dimensionamento.
  • Bilanciamento del carico : utilizzando una configurazione attiva/attiva, è possibile distribuire il carico su due macchine, invece di averne solo una. Ciò significa essere in grado di gestire più richieste simultanee da parte dei visitatori. E se le tue esigenze sono molto impegnative, puoi scalare orizzontalmente, aggiungendo nodi extra al cluster.
  • Maggiore sicurezza : dividendo l'infrastruttura in livelli separati, puoi applicare diversi livelli di sicurezza e persino tipi diversi. Puoi posizionare più firewall tra ogni livello e avere restrizioni molto elevate su chi può connettersi a un livello e da dove. Ciò significa che in caso di incidente di sicurezza, l'attaccante non sarà in grado di accedere all'intero sistema.
  • Migliore manutenzione : le operazioni di aggiornamento del software sono meno soggette a errori e più semplici grazie alla configurazione del sistema operativo, alle applicazioni e simili, fornite in modo diverso per ogni livello. Se tutto è ospitato su una singola macchina, c'è il pericolo che se un aggiornamento del software va storto, la macchina possa subire tempi di inattività. Utilizzando livelli separati si mitiga tutto ciò perché non vi è alcun pericolo che un aggiornamento software non riuscito influisca su altre aree del sistema.

Ma i vantaggi non sono solo tecnici. Avere il tuo sito web ospitato su un'architettura ad alta disponibilità si traduce in vantaggi anche per la tua azienda:

  • Nessun costo di interruzione : un sito Web ad alta disponibilità significa che la tua azienda sarà sempre attiva e pronta a elaborare le richieste. Non essere in grado di elaborare le richieste significa perdere entrate.
  • Nessuna perdita di tempo : quando qualcosa si rompe rimarrà rotto fino a quando non verrà riparato da un ..professionista qualificato! Ciò significa tempi di inattività del 100% del tuo sito Web e della tua attività se è ospitato su un'architettura non ad alta disponibilità. Ogni ora di inattività conteggiata significa ancora una volta.. entrate perse!
  • Fiducia e fedeltà dei clienti : avere i tuoi sistemi sempre attivi e operativi crea fiducia tra te e i tuoi clienti. I tuoi clienti sanno che la tua attività funziona e che possono ottenere supporto in ogni fase del processo.
  • Migliore posizionamento SEO : un'architettura aziendale ad alta disponibilità può migliorare il tuo posizionamento SEO offrendo al tuo sito web un uptime di "classe di nove".

Cosa non è l'alta disponibilità!

Finora sembrerebbe che l'elevata disponibilità sia la cura per tutto. Purtroppo non è così. Non importa quanto ci sarebbe piaciuto che fosse (perché siamo bravi a farlo). Sebbene le architetture ad alta disponibilità forniscano un modo robusto e resiliente per far funzionare correttamente l' hardware e il software di sistema del tuo sito Web, non può fare nulla se il tuo software WordPress è la causa di un'interruzione o di un rallentamento.

Se il tuo software presenta bug, anche i suoi bug saranno... altamente disponibili!

Notato prima che abbiamo menzionato hardware e software di sistema? Un sito Web ad alta disponibilità significa che "funziona" in due casi, ma non dice nulla sulla qualità del software del sito Web. D'altra parte, il software di sistema di basso livello è generalmente molto più stabile della maggior parte dei tipi di altri software. È solo logico; il software di sistema è un pezzo critico di un computer. Quindi l'alta disponibilità funziona perché il software che implementa l'alta disponibilità è stabile, dopo essere stato sottoposto a rigorosi test e garanzia della qualità, prima di essere rilasciato.

Ospita il tuo sito web con Pressidium

GARANZIA DI RIMBORSO DI 60 GIORNI

GUARDA I NOSTRI PIANI

Questo ha parallelismi anche con l'ingegneria fisica. Non vuoi assolutamente che un ponte, un sistema di trasporto o un razzo abbiano "insetti". Allo stesso modo, non vuoi che il software di sistema abbia problemi poiché il loro malfunzionamento può oggi mettere a repentaglio intere imprese, aziende, reti accademiche e praticamente praticamente tutto.

Piattaforma WordPress gestita di Pressidium

Quando abbiamo iniziato a lavorare sulla piattaforma che sarebbe poi diventata la Piattaforma Pressidium, abbiamo lavorato seguendo questi ideali:

  • Tutti dovrebbero godere dei vantaggi dell'hosting di livello aziendale senza dover pagare somme di denaro oscene.
  • Enterprise-grade significherebbe esattamente questo. Prestazioni, alta disponibilità, sicurezza, scalabilità .

Non rivendiamo l'architettura Enterprise di altre persone. La nostra piattaforma WordPress gestita è costruita da zero, da noi, sfruttando i nostri oltre 20 anni di esperienza nelle telecomunicazioni e la nostra passione per i sistemi complessi . Non vendiamo l'oro degli sciocchi vicino al fiume. Come ingegneri, comprendiamo molto bene la frustrazione che deriva quando qualcosa non funziona correttamente o quando qualcosa viene pubblicizzato come qualcos'altro.

Al contrario, abbiamo riverito i sistemi che funzionavano come avrebbero dovuto. In definitiva, questo è ciò che miravamo a costruire e niente di meno.

Utilizzando la piattaforma WordPress gestita da Pressidium:

  • ottieni l'accesso al servizio di livello Enterprise su tutti i piani, anche quelli standard. Tolleranza ai guasti, bilanciamento del carico, tutto.
  • Ottenete prestazioni ottimali utilizzando tecniche di memorizzazione nella cache adattive appositamente studiate per il vostro sito web . Il nostro livello di memorizzazione nella cache non è secondo a nessuno e si vede.
  • ottieni un'elevata disponibilità anche a livello di filesystem, utilizzando il nostro livello dati di file system parallelo .
  • Con i piani di livello Enterprise, ottieni un'architettura cluster a n livelli dedicata solo per il tuo sito Web, pronta per la scalabilità in ogni direzione per le tue esigenze esigenti.

Nei prossimi articoli ci occuperemo del resto dei fondamenti, come sicurezza, prestazioni e scalabilità. Faremo anche luce su alcuni dettagli di implementazione alla base della nostra piattaforma WordPress gestita. Riteniamo che sia nostro dovere, come ingegneri, uomini d'affari e altri esseri umani, essere completamente onesti e trasparenti sul servizio che forniamo e tenendo presente le esigenze e il budget del cliente per fornire la soluzione più consigliabile.