Speaker
Description
INFN Corporate Cloud (INFN CC) è una piattaforma cloud dedicata alla comunità INFN. Basata su OpenStack, la piattaforma è distribuita geograficamente su tre sedi INFN (Bari, CNAF, LNF), con i servizi fondamentali ridondati in modo da garantire la loro continuità e la tolleranza ai singoli malfunzionamenti locali.
Ciascuno dei siti infatti espone gli endpoint dei servizi pubblici attraverso un LoadBalancer, che indirizza il traffico sui servizi locali, usando gli endpoint remoti solo come backup in caso di fallimenti. Tuttavia, questo meccanismo non è sufficiente nel caso di irraggiungibilità di un intero sito. Per gestire questa situazione è stata progettata una soluzione basata su un servizio DNS, anch'esso ridondato tra le tre sedi, associato un servizio di monitoring proattivo basato su Zabbix. Nel caso in cui si verifichino fallimenti dei servizi core, questa soluzione provvede alla correzione dinamica delle informazioni nel DNS, prevenendo la ricerca di una risorsa irraggiungibile da parte di un client.
Il servizio DNS è implementato attraverso PowerDNS, scelto per la possibilità di avere un database SQL come backend. Per il backend del DNS è stato realizzato un cluster basato su Percona Server, soluzione che supporta nativamente la ridondanza geografica. PowerDNS implementa inoltre un’interfaccia web con API REST, usata estensivamente per realizzare un client customizzato per poter sfruttare funzionalità quali l’aggiornamento di un recordset, la disabilitazione di un record o l’inserimento di commenti, opzioni importanti dal punto di vista di INFN-CC ma non presenti nel client rilasciato con PowerDNS. Ad esempio, quando il check di monitoring rileva che una risorsa non è disponibile, l’indirizzo IP corrispondente viene disabilitato, rendendolo irrisolvibile da un client. Contestualmente viene inserito un commento che viene conservato nel server PowerDNS. Questo commento torna utile sia per avere un riscontro delle operazioni effettuate sul record, sia per l’eventuale riabilitazione dell’indirizzo IP, poichè per evitare conflitti con eventuali operazioni di manutenzione programmata, il check riabilita automaticamente una entry solo se era stata disabilitata dal sistema di monitoring.
Una panoramica completa delle opzioni implementate e del loro utilizzo verrà mostrata nella presentazione, mostrando come questa soluzione di fault tolerance basato su monitoring e aggiornamento dinamico del DNS può essere generalizzato anche per esigenze di alta affidabilità non necessariamente legate ad infrastrutture cloud, fornendo uno strumento semplice ma efficace per il failover di risorse ridondate geograficamente.