Nelle aziende di ogni settore, i volumi di dati stanno crescendo in modo esponenziale. Le organizzazioni raccolgono, elaborano e agiscono su insiemi di dati più grandi e diversificati che mai. Con questa crescita inarrestabile dei dati, emerge una nuova sfida: come può l’infrastruttura dati esistente tenere il passo, non solo in termini di dimensioni, ma anche di flessibilità e intelligenza?
Commvault riconosce che la crescita richiede cambiamenti.
Inizialmente Commvault è stato concepito per il mondo della protezione dei data center on-premises. I nostri prodotti erano progettati per scalare verticalmente, ma non orizzontalmente, il che rappresentava un problema per i nostri clienti.
I nostri servizi fondamentali funzionavano su singole macchine, il che ha creato un collo di bottiglia che ha limitato sia la flessibilità che la resilienza. Una maggiore quantità di memoria e processori più veloci sono riusciti ad ampliare la capacità, ma questa si è rivelata solo una soluzione temporanea.
Man mano che sviluppavamo i nostri prodotti cloud, abbiamo dovuto evolverci e abbiamo intrapreso un profondo cambiamento architetturale che ha abbracciato il ridimensionamento orizzontale, i microservizi e una piattaforma di base progettata per i carichi di lavoro dei dati odierni.
Riconoscere i nostri limiti: il punto di svolta
I limiti del sistema e l’architettura monolitica creavano un’esperienza utente negativa per alcuni dei nostri clienti. Abbiamo quindi iniziato ad apportare modifiche.
Una funzionalità fondamentale che abbiamo iniziato a scalare per prima è stata quella dei MediaAgent, componenti software che fungono da gestori della trasmissione dei dati, occupandosi del movimento dei dati e della gestione dello storage su più macchine. Essendo questi componenti tra i più intensivi dal punto di vista dei dati, hanno faticato a tenere il passo con l’aumento dei carichi di dati.
La soluzione è stata quella di adottare una scalabilità orizzontale, consentendo agli utenti di aggiungere ulteriori macchine per distribuire il carico. Questo cambiamento ha segnato l’inizio della scalabilità orizzontale su tutta la piattaforma. Consentendo agli utenti di aggiungere macchine anziché potenziare quelle esistenti, abbiamo introdotto una maggiore flessibilità. MediaAgent ha dimostrato che un approccio scalabile orizzontalmente funzionava e che il resto della piattaforma avrebbe dovuto seguire l’esempio.

Gettare le basi per la scalabilità: Introduzione al servizio di ricerca delle entità
Mentre lavoravamo per migliorare il nostro livello di movimento dei dati, abbiamo deciso di concentrarci anche su un’altra dimensione critica della scalabilità: le prestazioni del centro di comando.
La piattaforma Commvault è intrinsecamente orientata alla scrittura e acquisisce continuamente dati per l’individuazione, il monitoraggio dei processi, l’audit e altro ancora. Sebbene questo modello funzionasse bene con i database relazionali, che offrivano una forte coerenza e garanzie transazionali, le prestazioni in lettura non riuscivano a tenere il passo in ambienti di grandi dimensioni.
Abbiamo introdotto il servizio di ricerca delle entità per migliorare l’esperienza utente nel Centro di comando, dove alcune chiamate API richiedevano 30 secondi o più per rispondere.
Questo servizio leggero e ottimizzato per la lettura mantiene una copia denormalizzata dei dati relazionali chiave in un archivio basato su documenti come MongoDB, il che ci permette di raggiungere il nostro obiettivo principale in termini di prestazioni: mantenere tutte le risposte API pesanti in lettura al di sotto dei 3 secondi, indipendentemente dalla scala.
Questo cambiamento architettonico non solo ha migliorato notevolmente l’esperienza utente, ma ha anche gettato le basi per ulteriori ottimizzazioni della piattaforma, alcune delle quali illustriamo in dettaglio di seguito.


Ricostruire le nostre capacità: il ruolo del container CVDotnet
Con il successo dell’evoluzione di MediaAgents, ci siamo resi conto che anche gli altri nostri componenti fondamentali potevano essere potenziati. I nostri servizi di piattaforma di base, come il Job Manager e il server CommServe, utilizzavano ancora un’unica macchina. Ciò comportava una rigidità architettonica e limitava la nostra capacità di gestire efficacemente i carichi di lavoro in crescita, i requisiti regionali e/o le preferenze dei clienti.
Per soddisfare queste esigenze, abbiamo deciso di orientarci verso un’architettura basata sui microservizi, per suddividere i servizi di grandi dimensioni in componenti più piccoli, costruiti ad hoc, che potessero essere sviluppati, distribuiti e scalati in modo indipendente. Questo approccio ha garantito una maggiore flessibilità e un uso più efficiente dell’infrastruttura.
Tuttavia, ciò ha comportato anche nuove sfide. Avevamo bisogno di un modo per distribuire più servizi senza consumare risorse eccessive, supportare contemporaneamente la coesistenza di servizi diversi su un’unica macchina e offrire agli amministratori la flessibilità di scegliere dove eseguire ciascun servizio. Ciò richiedeva un sistema in grado di ospitare componenti modulari, gestendo al contempo le responsabilità condivise della piattaforma.
La soluzione a questa sfida è diventata il CVDotnetContainer.
Rendere i microservizi scalabili e pratici
Realizzato da zero, il CVDotnetContainer funge da efficace livello di hosting che supporta più microservizi su una singola istanza. Offre la flessibilità necessaria per distribuire i servizi in modo indipendente, in base alle esigenze di ciascuna CommCell. Una volta preparato il livello di base, servizi chiave quali S3 Integration, App Manager Lite e Audit Service hanno rapidamente adottato il container per essere eseguiti su qualsiasi macchina, con il minimo sforzo e la massima flessibilità.
Oltre alle sue funzionalità di hosting, il container si occupa dei requisiti operativi comuni. Gestisce l’autenticazione, i cicli di vita delle richieste e delle risposte, la gestione degli errori, la registrazione degli eventi, l’accesso al registro e le interazioni con il file system. Gli sviluppatori non devono più ricreare questi livelli fondamentali per ogni nuovo servizio. Possono invece concentrarsi interamente sull’applicazione o sulla logica di business.
Il CVDotnetContainer ha introdotto la modularità nella piattaforma Commvault, ha semplificato le implementazioni e ha consentito ai servizi di scalare in modo indipendente. Di conseguenza, la nostra architettura complessiva è diventata più facile da gestire e meglio allineata alle esigenze dei carichi di lavoro moderni in continua evoluzione.
Semplificare la gestione di CommCell: il centro di comando globale
Quando le aziende hanno iniziato a raggiungere un pubblico globale e a gestire un flusso di dati sempre maggiore, un unico ambiente CommCell si è rivelato inadeguato, poiché disponeva di una sola istanza di un server CommServe. Queste organizzazioni hanno iniziato a creare più CommCell in diverse regioni per soddisfare i requisiti normativi, operativi e di prestazioni. Queste istanze operavano in modo indipendente, il che significava che la loro gestione diventava un’esperienza frammentata.
Sebbene abbiamo adottato la scalabilità orizzontale per migliorare l’esperienza degli utenti, la gestione di questi ambienti distribuiti ha posto Commvault di fronte a una nuova sfida. In risposta, uno dei progressi più significativi è stato apportato all’architettura di Commvault, consentendo una gestione semplificata di più ambienti in un unico pannello di controllo grazie all’introduzione del Global Command Center, che permette ai clienti di gestire tutte le loro CommCell.
Il Global Command Center è un pannello di controllo che funge da “pannello unico”, consentendo ai clienti di gestire più CommCell tramite un’unica interfaccia amministrativa. Ha creato una visione consolidata delle operazioni, anche quando l’infrastruttura era distribuita su più continenti. I clienti potevano distribuire istanze negli Stati Uniti, in Europa, in Asia o in qualsiasi altra località, continuando a monitorarle e controllarle da un unico punto.
Questa visione unificata ha eliminato la necessità di accedere separatamente a ciascuna console. Anziché richiedere l’intervento di più amministratori per la gestione degli ambienti CommCell, questa unica piattaforma globale consente ai clienti di monitorare i processi, tenere traccia degli aggiornamenti e supervisionare lo stato di salute dell’intera azienda. Contribuisce a semplificare la supervisione, a ridurre il carico operativo e a consentire ai team di gestire ecosistemi globali con la chiarezza offerta da un sistema centralizzato.

Cosa ci aspetta: progettato per aiutare a creare un’azienda pronta per il futuro
L’evoluzione di Commvault verso un’architettura basata su microservizi e scalabile orizzontalmente ha cambiato in meglio e in modo radicale il modo in cui serviamo i nostri clienti. Adottando la modularità, garantendo flessibilità e introducendo una gestione centralizzata tramite il Global Command Center, Commvault ha progettato una piattaforma pronta a soddisfare le esigenze di oggi e a rispondere alle richieste di domani. Non importa quanto diventino complessi i carichi di lavoro moderni o quanto aumentino i volumi di dati: Commvault è progettato per offrire un’esperienza utente eccezionale.