Al fine di garantire la scalabilità dei servizi offerti dai portali web, in risposta al costante aumento del volume di traffico sulla rete Internet, la progettazione dei sistemi informativi per la fornitura dei servizi di rete ha visto un massiccio utilizzo di approcci distribuiti, sfruttando differenti tecnologie tra cui quelle introdotte dalle piattaforme di virtualizzazione di calcolo e per l’alta disponibilità. L’approccio tradizionale, che prevede l’allocazione dei servizi e delle risorse da condividere in un unico nodo che svolge il compito di soddisfare tutte le richieste al sistema, implica una serie di limitazioni quali: • single point of failure: ad un guasto del nodo corrisponde un’indisponibilità del servizio; • sistema non scalabile: le prestazioni decrescono con l’aumentare delle richieste senza possibilità di poter intervenire sul carico senza interruzione dei servizi. È necessario l’upgrade del sistema stesso. Per ovviare a tali limitazioni, la pratica ormai consolidata è quella di seguire un approccio distribuito che prevede l’allocazione delle risorse ed il bilanciamento delle richieste mediante la ripartizione su un cluster composto da un determinato numero di nodi. L’adozione di questa architettura implica tra I suoi vantaggi: • alta disponibilità delle risorse e resilienza dei dati: eliminazione del single point of failure e disponibilità del servizio anche in presenza di guasti ad uno o più componenti del cluster. Il servizio continua ad essere erogato, con prestazioni ovviamente inferiori; • scalabilità: le risorse vengono distribuite su più nodi. In caso di aumento del fabbisogno di risorse, le prestazioni possono essere aumentate aggiungendo nodi al cluster. L’esperienza nella gestione del portale web dell’Osservatorio Etneo, ha evidenziato come, in concomitanza con l’accadimento di particolari fenomeni sismici e vulcanici, si verifica un drastico aumento delle connessioni al servizio web che talvolta ha comportato una imprevista indisponibilità del servizio a causa della saturazione delle risorse hardware disponibili. Al fine di limitare il verificarsi di tale evenienza è stata avviata la progettazione e l’implementazione di un load balancing cluster, il cui scopo principale è quello di garantire accesso alle risorse ottimizzando la redistribuzione del traffico di rete, per limitarne l’impatto sull’erogazione del servizio web, assicurandone al contempo scalabilità e affidabilità di quest’ultimo. Una prerogativa fondamentale nella progettazione del sistema è stata l’utilizzo esclusivo di strumenti software open source. Lo studio della fattibilità di quanto detto si è basato sull’intensa ricerca di fondamenti scientifici, sulla corretta progettazione di architetture cluster [Pfister, 1997] in alta disponibilità [Ang e Tham, 2007] su sistemi open-source come Linux [Van Vugt, 2014; Kopper, 2005; Pfister, 1997] ed in modo da ottenere alte performance [Buyya, 1999a; Buyya, 1999b; Tanenbaum, 2006].

Published: 2021-10-15

Progettazione di un’architettura cluster High Availability per il portale web dell’Osservatorio Etneo

Salvatore Mangiagli, Marco Antonio Aliotta, Carmelo Cassisi, Marcello D'Agostino, Orazio Torrisi

24