Vai al contenuto
Parliamo del tuo progetto
Infrastructure · High Availability

High Availability LMS: infrastrutture eLearning progettate per continuare a funzionare anche quando un componente si ferma.

Progettiamo architetture ridondate per Moodle e altre piattaforme LMS con più nodi applicativi, sessioni condivise, database, storage, load balancing, monitoring e procedure di failover.

Cos’è davvero l’High Availability

Alta disponibilità non significa aggiungere un secondo server. Significa eliminare i punti singoli di guasto realmente critici.

Applicazione, sessioni, database, storage, rete e monitoraggio devono essere progettati per continuare a erogare il servizio quando un componente smette di rispondere.

Single Point of Failure

La ridondanza è forte quanto il componente meno ridondato dell’architettura.

Web serverUn solo nodo applicativo può fermare il servizio.
DatabasePiù web node non eliminano un database singolo non protetto.
StorageUn solo filesystem condiviso può diventare un nuovo SPOF.
Rete / DNSConnettività e routing fanno parte della disponibilità end-to-end.
Web node multipli

Più nodi applicativi possono distribuire il traffico e mantenere capacità quando un nodo viene rimosso.

Codice, configurazione, PHP, plugin e tema devono restare coerenti sui nodi che servono la stessa piattaforma.

Architettura LMS con più web node
Load Balancer

Distribuisce richieste e può escludere un nodo non sano, ma non risolve i colli di bottiglia condivisi.

Health check, routing e gestione dei nodi devono essere configurati insieme a database, sessioni e storage. Un load balancer non corregge un database saturo.

Health Check

Un server raggiungibile non significa necessariamente che Moodle sia davvero operativo.

Possiamo distinguere health check infrastrutturali da verifiche applicative per evitare di mantenere nel pool un nodo che risponde alla rete ma non riesce a servire correttamente l’LMS.

Sessioni condivise e Redis in un cluster Moodle
Sessioni condivise

Se l’utente passa da un web node a un altro, la sessione deve restare coerente.

Redis può essere parte dell’architettura di sessione, ma il design deve considerare disponibilità, rete, persistenza e comportamento in caso di guasto.

Approfondisci Redis Moodle.

Redis High Availability

Un Redis unico può diventare esso stesso un Single Point of Failure.

Replica, failover o servizi gestiti possono essere valutati in funzione del ruolo che Redis ricopre e del livello di continuità richiesto.

MoodleData condiviso

Più web node devono vedere file coerenti senza creare copie divergenti.

Storage condiviso o soluzioni compatibili con l’architettura devono garantire accesso, performance e coerenza dei file.

Approfondisci MoodleData.

MoodleData condiviso in alta disponibilità
Storage High Availability

Uno storage condiviso singolo può annullare il vantaggio di avere più web node.

Ridondanza, replica, failover, backup e comportamento del filesystem devono essere progettati sul rischio reale e non sulla semplice presenza di NFS o storage remoto.

Database centrale per High Availability LMS
Database

Tre web node con un solo database non protetto non eliminano il punto critico principale.

Disponibilità del database, backup, replica e failover devono essere progettati in funzione di consistenza, RTO e RPO.

Replica database

Replica e failover sono concetti collegati, ma non equivalenti.

Una replica può mantenere una copia aggiornata, ma il passaggio operativo in caso di guasto richiede rilevamento, promozione, riconnessione e verifica della coerenza.

Read Replica

Non trattiamo le read replica come una soluzione automatica alla scalabilità Moodle.

Il beneficio dipende da come l’applicazione e l’architettura possono realmente usare il nodo di lettura e da quali query rappresentano il collo di bottiglia.

PHP & web node

Tutti i nodi che servono Moodle devono avere uno stack coerente.

PHPVersione ed estensioni coerenti.
ConfigurazioneParametri applicativi e runtime allineati.
CodiceCore, plugin e tema allo stesso stato.
DeployRollout controllato senza nodi divergenti.
Deployment in HA

In un cluster, aggiornare Moodle significa aggiornare un sistema distribuito, non una cartella su un server.

Versioni divergenti sui nodi possono creare comportamenti incoerenti. Pianifichiamo staging, rollout, manutenzione e verifica post-deploy.

Aggiornamento Moodle in alta disponibilità
Aggiornamento Moodle in HA

Upgrade applicativo e infrastruttura ridondata devono essere pianificati insieme.

Compatibilità, staging, finestra operativa, rollout e test evitano di trasformare la ridondanza in una fonte di incoerenza.

Approfondisci Aggiornamento Moodle.

Migrazione verso HA

Il passaggio da server singolo a servizi separati o multi-node può essere progressivo.

Non è necessario costruire subito un cluster complesso: definiamo prima i punti critici e poi spostiamo i componenti che hanno un motivo reale per essere separati o ridondati.

Approfondisci Migrazione Moodle.

Migrazione Moodle verso alta disponibilità
Downtime

Ridurre il downtime richiede progettazione applicativa e infrastrutturale.

Non promettiamo “zero downtime” come formula universale: alcune operazioni Moodle o modifiche strutturali possono richiedere finestre di manutenzione controllate.

Planned vs Unplanned

Manutenzione pianificata e guasto improvviso sono eventi diversi.

Planned

Manutenzione programmata.

Upgrade, deploy, modifiche e interventi possono essere organizzati in finestre controllate.

Unplanned

Guasto inatteso.

L’HA riduce l’impatto quando un componente smette di rispondere senza preavviso.

Obiettivo

Continuità misurabile.

Definiamo RTO e RPO invece di usare claim generici sulla disponibilità.

Failover automatico

Rilevare il guasto è soltanto il primo passaggio.

01DetectIl sistema individua l’anomalia.
02IsolateIl componente viene escluso.
03RouteIl traffico viene ridistribuito.
04RecoverLa capacità viene ripristinata.
05VerifyControlliamo il servizio.
06LearnAnalisi della causa.
Failover manuale

In alcuni progetti un failover controllato è più appropriato di un automatismo completo.

La scelta dipende da criticità, tipo di dato, rischio di split-brain, capacità del team e procedure operative.

RTO & RPO

Prima di progettare la ridondanza definiamo quanto tempo e quanti dati possono essere realmente persi.

RTO

Quanto tempo puoi restare offline?

Definisce l’obiettivo di tempo entro cui ripristinare il servizio.

RPO

Quanti dati puoi permetterti di perdere?

Definisce il punto massimo accettabile a cui tornare indietro.

Architettura

Requisiti → costo → complessità.

RTO e RPO guidano le scelte invece della parola generica “enterprise”.

High Availability e backup LMS
HA ≠ Backup

L’alta disponibilità mantiene il servizio disponibile. Il backup permette di recuperare dati.

Un cluster può replicare anche un errore o una cancellazione. Per questo HA e backup devono convivere ma risolvono problemi diversi.

Approfondisci Backup LMS.

HA ≠ Disaster Recovery

L’HA protegge la continuità locale. Il Disaster Recovery affronta eventi che possono coinvolgere l’intera infrastruttura.

Guasto di datacenter, perdita estesa o evento grave richiedono un piano di recupero distinto dalla semplice ridondanza locale.

Approfondisci Disaster Recovery LMS.

High Availability e Disaster Recovery LMS
Multi-datacenter

La ridondanza geografica aumenta la resilienza ma anche latenza, replica, costi e complessità.

La valutiamo quando RTO, RPO e rischio giustificano un secondo sito o regione, non come requisito automatico di ogni LMS.

DNS & rete

Anche con server ridondati, la connettività può restare un punto singolo di guasto.

DNS, routing, provider, firewall e accesso ai servizi condivisi devono essere inclusi nell’analisi della continuità end-to-end.

Monitoraggio High Availability LMS
Monitoring HA

Non possiamo fare failover su un problema che non siamo in grado di rilevare.

Nodi, load balancer, Redis, database, storage, error rate e tempi di risposta devono essere osservabili nel loro insieme.

Approfondisci Monitoraggio LMS.

Alerting

Non serve un alert per ogni metrica: serve sapere quando il servizio rischia di degradarsi.

Definiamo soglie e segnali che aiutano a distinguere un’anomalia temporanea da un evento che richiede intervento.

Auto-healing

Restart, rimozione nodo o ripristino automatico possono essere utili, ma non devono nascondere un errore ricorrente.

L’automazione deve riportare il servizio in uno stato sano e lasciare tracce sufficienti per analizzare la causa.

Scalabilità vs Alta Disponibilità

Gestire più carico e continuare a funzionare dopo un guasto sono due obiettivi differenti.

Scalabilità

Gestire più lavoro.

Verticale o orizzontale in funzione del carico.

High Availability

Ridurre l’impatto dei guasti.

Ridondanza e failover sui componenti critici.

Entrambe

Enterprise architecture.

Lo stesso progetto può richiedere contemporaneamente capacità e resilienza.

Utenti contemporanei

Più nodi possono aiutare a gestire picchi elevati, ma soltanto se i componenti condivisi sono pronti.

Prima ricostruiamo il carico e poi decidiamo se la scalabilità orizzontale è realmente necessaria.

Approfondisci Moodle e utenti contemporanei.

High Availability e utenti contemporanei Moodle
Requisiti server per High Availability LMS
Requisiti server

Prima capiamo il carico. Poi decidiamo se serve davvero un’architettura multi-node.

L’HA non sostituisce il capacity planning: ogni nodo e servizio condiviso devono essere dimensionati sullo scenario previsto.

Approfondisci Requisiti Server Moodle.

Moodle lento

Moltiplicare i nodi non corregge una query inefficiente condivisa da tutti i nodi.

Un cluster non è una cura automatica per una piattaforma lenta. Prima individuiamo il collo di bottiglia.

Approfondisci Moodle lento.

Moodle lento in architettura High Availability
Sicurezza High Availability LMS
Sicurezza

Più componenti significano anche più superfici, credenziali e percorsi di rete da proteggere.

Segmentazione, accessi, hardening, TLS, firewall e gestione delle credenziali entrano nella progettazione dell’architettura distribuita.

Approfondisci Sicurezza LMS.

Metodo Atlas

Non ridondiamo tutto perché “enterprise”. Ridondiamo ciò che serve per raggiungere il livello di continuità richiesto.

01ServizioCosa deve restare disponibile.
02SPOFDove può fermarsi tutto.
03RTO/RPOTempo e dati accettabili.
04CaricoPicchi e crescita.
05RidondanzaComponenti e failover.
06TestProcedure e monitoring.
Giovanni Desogus, fondatore di Atlas Learning
Giovanni Desogus

Quando progetto alta disponibilità parto sempre da una domanda: quale guasto deve poter avvenire senza fermare il servizio?

Da lì si capisce cosa deve essere realmente ridondato.

Seguo personalmente l’architettura quando applicazione, database, Redis, storage, rete, backup e monitoraggio devono funzionare come un sistema unico.

Recensioni Google

Cosa dicono i clienti che lavorano con Atlas Learning.

Le recensioni vengono mostrate dinamicamente tramite Trustindex.

Pubblicato su Google Google
Daniela Mei profile picture
Daniela Mei
Google star 1Google star 2Google star 3Google star 4Google star 5Trustindex verifica che la fonte originale della recensione sia Google.
Giovanni ha creato il mio sito per la vendita di guide online e successivamente ha sviluppato anche tutta la parte dedicata alle strutture e agli hotel, realizzando un lavoro molto curato e funzionale. È competente, veloce e soprattutto molto affidabile: è sempre disponibile e, quando c’è qualcosa da sistemare, interviene e risolve rapidamente. Il sito funziona molto bene e ha iniziato a indicizzarsi su Google in pochissimo tempo. Sono davvero soddisfatta del lavoro e della collaborazione.
Pubblicato su Google Google
claudio silvestri profile picture
claudio silvestri
Google star 1Google star 2Google star 3Google star 4Google star 5Trustindex verifica che la fonte originale della recensione sia Google.
Abbiamo lavorato con Giovanni per l’installazione di un nuovo Moodle sui nostri nuovi server, nonché per la personalizzazione del tema. Fin dall’inizio abbiamo trovato grande disponibilità e soprattutto la capacità di capire rapidamente quello che ci serviva, senza complicare le cose. Giovanni ci ha seguito con attenzione anche sulle richieste più specifiche, proponendo soluzioni concrete e intervenendo sempre in tempi rapidi.
Pubblicato su Google Google
Riccardo Giurato profile picture
Riccardo Giurato
Google star 1Google star 2Google star 3Google star 4Google star 5Trustindex verifica che la fonte originale della recensione sia Google.
Professionisti seri e precisi si sono occupati dall’inizio alla fine della gestione della pratica per un bando per industria 4.0 e non posso che essere soddisfatto del servizio, davvero 5 stelle
Pubblicato su Google Google
Bacalhau Osteria profile picture
Bacalhau Osteria
Google star 1Google star 2Google star 3Google star 4Google star 5Trustindex verifica che la fonte originale della recensione sia Google.
Sono assolutamente entusiasto di condividere la mia esperienza con l'agenzia di web marketing Atlas, che ha trasformato radicalmente il mio ristorante! Il loro approccio basato sul risultato ha fatto la differenza in modo tangibile, e non potrei essere più soddisfatto del servizio fornito da Giovanni e Carlo. Fin dall'inizio, Giovanni e Carlo si sono dimostrati estremamente professionali e attenti alle nostre esigenze. Hanno ascoltato con attenzione le nostre necessità e i nostri obiettivi, e hanno progettato una strategia di marketing su misura per il nostro ristorante. La cosa più sorprendente è che hanno consegnato risultati tangibili in un tempo record.
Pubblicato su Google Google
Mtu Academy & Consulting profile picture
Mtu Academy & Consulting
Google star 1Google star 2Google star 3Google star 4Google star 5Trustindex verifica che la fonte originale della recensione sia Google.
Azienda seria e affidabile. Personale disponibile e altamente competente. Tutte le nostre richieste sono state soddisfatte. Il nostro giudizio è molto positivo.
Verificato da Trustindex
Il badge verificato di Trustindex è il Simbolo Universale di Fiducia. Solo le migliori aziende possono ottenere il badge verificato con un punteggio di recensione superiore a 4.5, basato sulle recensioni dei clienti degli ultimi 12 mesi. Per saperne di più
FAQ High Availability LMS

Domande frequenti su cluster, failover e ridondanza LMS.

Cos’è High Availability per un LMS?

È un’architettura progettata per ridurre l’impatto dei guasti sui componenti critici del servizio.

Moodle supporta più server?

Può essere distribuito su più nodi applicativi con sessioni, database e file progettati in modo coerente per un ambiente multi-node.

Come funziona un cluster Moodle?

Più web node servono la stessa piattaforma tramite componenti condivisi o ridondati come sessioni, database e storage.

Serve un load balancer?

Quando sono presenti più nodi web serve un meccanismo che distribuisca le richieste e gestisca la disponibilità dei nodi.

MoodleData deve essere condiviso?

In un cluster i nodi devono accedere in modo coerente ai file necessari. La soluzione dipende dall’architettura scelta.

Redis serve in un cluster Moodle?

Può essere utile per sessioni condivise e cache, ma deve essere progettato evitando che diventi un nuovo punto singolo di guasto.

Il database deve essere ridondato?

Se il requisito è alta disponibilità end-to-end, il database è uno dei componenti da valutare perché un database singolo può restare un SPOF.

Cos’è un Single Point of Failure?

È un componente il cui guasto può interrompere completamente il servizio.

Alta disponibilità significa zero downtime?

No. Può ridurre il downtime da guasti, ma alcune manutenzioni o modifiche applicative possono comunque richiedere finestre operative.

Qual è la differenza tra HA e backup?

L’HA mira a mantenere il servizio disponibile; il backup permette di recuperare dati e stati precedenti.

Qual è la differenza tra HA e Disaster Recovery?

L’HA riduce l’impatto dei guasti locali; il Disaster Recovery pianifica la ripartenza dopo eventi più estesi o catastrofici.

Cos’è RTO?

È l’obiettivo di tempo entro cui il servizio deve essere ripristinato dopo un’interruzione.

Cos’è RPO?

È la quantità massima di dati o tempo di lavoro che l’organizzazione accetta di perdere in un ripristino.

Quando servono più web node?

Quando carico, continuità o requisiti di manutenzione giustificano la distribuzione dell’applicazione su più nodi.

Un cluster rende Moodle più veloce?

Può aumentare la capacità applicativa, ma non corregge automaticamente database, query, plugin o storage inefficienti.

Moodle può essere distribuito su più datacenter?

Sì in architetture progettate per replica e failover geografico, valutando attentamente latenza, consistenza e complessità.

Come si aggiorna Moodle in alta disponibilità?

Con una strategia di staging, compatibilità, rollout e verifica che mantenga coerenti i nodi e i componenti condivisi.

Quanto costa un’infrastruttura HA?

Dipende da RTO, RPO, carico, componenti da ridondare, datacenter, monitoring e livello di automazione richiesto.

Atlas Learning · High Availability Engineering

Quale componente oggi, se si ferma, blocca completamente la piattaforma?

Quanto tempo massimo può restare indisponibile il servizio? L’obiettivo è ridurre downtime, gestire più carico oppure entrambe le cose? Da queste risposte iniziamo il progetto.

    Analisi High Availability

    Quale guasto deve poter avvenire senza fermare il servizio?

    Raccogliamo i dati su carico, RTO, RPO e componenti attuali per capire quali livelli devono essere realmente ridondati.

    Atlas Learning di Giovanni Desogus · Corso Cincinnato 110, Torino · P.IVA 12439230017

    [radio* obiettivo use_label_element “Ridurre downtime” “Gestire più carico” “Ridurre downtime e gestire più carico” “Preparare Disaster Recovery” “Valutare l’architettura esistente”]