Maximus (USA)
Questa è una sintesi del case study presentato da Maximus al CMDBuild DAY 2022. In calce il video della presentazione fatta all'evento.
Barry Leibson è un IT Lead Engineer e lavora in un team chiamato Performance Engineering presso Maximus. Maximus ha un contratto con le agenzie governative americane per sostenere i loro programmi, principalmente nei settori della salute e delle risorse umane. Ad esempio, Maximus ha lavorato per il Governo degli Stati Uniti durante la pandemia di Covid-19, gestendo call center, fornendo soluzioni self-service basate sul web, gestendo diversi siti web informativi.
Maximus è un'azienda molto grande, con migliaia di dipendenti e dozzine di uffici sparsi negli Stati Uniti, ha uffici in quasi tutte le capitali degli stati ed una sede centrale a Washington, DC. Maximus opera anche in molti altri paesi tra cui Canada, Regno Unito, Italia ed Arabia Saudita, fornendo servizi a tali governi.
Il team Performance Engineering (PE) fa parte di Maximus IT, un'organizzazione molto grande all'interno di Maximus. PE raccoglie dati IT e li lavora per renderli utilizzabili, sia per la risoluzione di problemi attuali sia per la pianificazione del futuro. I pacchetti software utilizzati da PE per raccogliere e visualizzare i dati includono Splunk, SolarWinds, AppDynamics e CMDBuild READY2USE.
OMDB è l'acronimo di Operations Management Data Base (nome inventato dal capo dell’ex capo di Barry), è un sottoinsieme di un CMDB tradizionale ed è stato progettato per sostituire un precedente sistema interno, il quale raccoglieva dati principalmente per conto degli amministratori delle applicazioni su server, su quali applicazioni erano in esecuzione, e per quale progetto.
Quando si è presentata la necessità di sostituire questo sistema sviluppato internamente, poiché OMDB è un sottoinsieme di un CMDB, sono state esaminate le soluzioni CMDB. Gli aspetti critici per Maximus nella valutazione sono stati i seguenti:
- La soluzione doveva essere personalizzabile. Non si poteva iniziare a progettare da zero e c’era bisogno di duplicare le funzionalità integrate nel sistema precedente.
- La soluzione doveva consentire un facile scambio di dati. Si aspettavano di utilizzare un processo automatizzato per importare ed esportare dati da altri sistemi su base regolare.
- La soluzione doveva fornire una buona interfaccia utente e un sofisticato controllo degli accessi. Persone con ruoli diversi all'interno dell'organizzazione dovevano aggiungere dati e creare relazioni tra tali dati.
- La soluzione doveva avere un budget modesto.
CMDBuild ha soddisfatto facilmente tutti questi criteri, inoltre hanno apprezzato le persone di Tecnoteca incontrate nella fase di valutazione.
L'utilizzo di CMDBuild da parte di Maximus potrebbe risultare un po' atipico rispetto ad altre implementazioni: la maggior parte dei dati arriva tramite processi automatizzati e sono state implementate molte classi personalizzate (“l'implementazione delle classi è semplicemente meravigliosa e facile da estendere”, è stata molto utilizzata la funzionalità di ereditarietà ed il sistema di gerarchia delle classi è considerato “favoloso”), i flussi di lavoro standard di CMDBuild READY2USE in realtà non vengono utilizzati, il ‘Field Services Team’ ha creato un'app basata sul web che sostanzialmente tratta OMDB come il suo archivio dati (immettendo ed estraendo dati).
Una funzione di CMDBuild che è stata molto sfruttata è il meccanismo di Import/Export (utilizzando API e poi file CSV), al momento il Task Manager di CMDBuild ha circa 75 importazioni programmate, che per lo più vengono eseguite una volta ogni notte e tali script estraggono dati da diversi sistemi (ad esempio, i dati di circa 5.000 AWS EC2 e 800 RDS vengono aggiornati ogni notte, a volte in modalità merging, a volte in modalità sincronizzazione).
Un'ultima considerazione e suggerimento: all'inizio dell'implementazione del progetto, vale sempre la pena “fare un passo indietro” e pensare davvero al modello dati, una buona analisi iniziale è molto importante e di solito fa risparmiare molto tempo in seguito.