Speakers
Description
StoRM fornisce da anni servizi di accesso allo storage per il Tier-1 INFN-CNAF e per diverse comunità scientifiche che operano su infrastrutture di calcolo distribuito. La suite StoRM è composta da diversi servizi indipendenti sviluppati nel tempo in linguaggi di programmazione differenti, tra cui StoRM WebDAV, che fornisce accesso HTTP/WebDAV a sistemi di storage distribuiti, e StoRM Tape, un’implementazione della WLCG Tape REST API che consente di richiamare file archiviati su librerie a nastro.
Sebbene questa eterogeneità abbia consentito ottimizzazioni specifiche per ciascun servizio, essa introduce alcune sfide in termini di osservabilità, autorizzazione e coerenza architetturale tra i diversi componenti. Per affrontare queste problematiche è stato avviato un lavoro di evoluzione dell’architettura StoRM volto a definire un modello più standardizzato e indipendente dal linguaggio di implementazione dei singoli servizi.
Il modello proposto introduce un livello architetturale comune basato su componenti largamente diffusi: NGINX come reverse proxy per la gestione delle richieste e delle funzionalità di rete, Open Policy Agent (OPA) come motore centralizzato per la valutazione delle policy di autorizzazione e OpenTelemetry per fornire un sistema unificato di osservabilità e tracciamento delle operazioni. In questo approccio, i servizi applicativi vengono mantenuti come componenti upstream, mentre le funzionalità trasversali vengono esternalizzate e gestite da un’infrastruttura condivisa.
Questa architettura consente di separare in maniera chiara le responsabilità tra gestione delle richieste, autorizzazione e logica applicativa, riducendo la complessità dei servizi upstream e migliorando la coerenza tra i diversi componenti della piattaforma. Il lavoro presentato descrive questo modello architetturale e la sua applicazione concreta all’interno della suite StoRM, attualmente utilizzata in produzione presso il Tier-1 INFN-CNAF, dove rappresenta un esempio funzionante di questa architettura modulare applicata ai servizi di accesso allo storage.