Dans tous les secteurs d’activité, les volumes de données augmentent de manière exponentielle. Les organisations collectent, traitent et exploitent des ensembles de données plus volumineux et plus diversifiés que jamais. Cette croissance incessante des données pose un nouveau défi : comment l’infrastructure de données existante peut-elle suivre le rythme, non seulement en termes de taille, mais aussi en termes de flexibilité et d’intelligence ?
Commvault reconnaît que cette croissance exige des changements.
À l’origine, Commvault a été conçu pour le monde de la protection des centres de données sur site. Nos produits étaient conçus pour évoluer verticalement mais pas horizontalement, ce qui, nous l’avons compris, posait un problème à nos clients.
Nos services fondamentaux fonctionnaient sur des machines individuelles, ce qui, comme nous l’avons constaté, créait un goulot d’étranglement qui limitait à la fois la flexibilité et la résilience. Une mémoire plus importante et des processeurs plus rapides ont permis d’augmenter la capacité, mais cela ne s’est avéré être qu’une solution temporaire.
Au fur et à mesure que nous développions nos produits cloud, nous avons dû évoluer et nous nous sommes lancés dans une refonte architecturale de grande envergure, intégrant l’évolutivité horizontale, les microservices et une infrastructure de base conçue pour les charges de travail liées aux données d’aujourd’hui.
Reconnaître nos limites : le tournant
Les limitations du système et l’architecture monolithique ont nui à l’expérience utilisateur de certains de nos clients. Nous avons donc commencé à apporter des changements.
L’une des fonctionnalités de base que nous avons commencé à développer en premier était celle des MediaAgents, des composants logiciels qui agissent comme des gestionnaires de transmission de données, s’occupant du mouvement des données et de la gestion du stockage sur plusieurs machines. Ces composants étant parmi les plus gourmands en données, ils ont eu du mal à suivre l’augmentation de la charge de données.
La solution consistait à mettre en place une évolutivité horizontale, permettant ainsi aux utilisateurs d’ajouter davantage de machines afin de répartir la charge. Ce changement a marqué le début de l’évolutivité horizontale sur l’ensemble de la plateforme. En permettant aux utilisateurs d’ajouter des machines plutôt que de mettre à niveau une seule et même machine, nous avons apporté davantage de flexibilité. MediaAgent a démontré que cette approche d’évolutivité horizontale fonctionnait et que le reste de la plateforme devait suivre cet exemple.

Jeter les bases de la mise à l’échelle : présentation du service de consultation des entités
Tout en nous efforçant d’améliorer notre couche de mouvement des données, nous avons également décidé de nous concentrer sur une autre dimension critique de l’évolutivité : les performances du centre de contrôle.
La plateforme Commvault est, par nature, très gourmande en écritures, puisqu’elle ingère en permanence des données à des fins de découverte, de suivi des tâches, d’audit, etc. Si ce modèle fonctionnait bien avec les bases de données relationnelles, qui offraient une forte cohérence et des garanties transactionnelles, les performances en lecture ne parvenaient toutefois pas à suivre le rythme dans les environnements à grande échelle.
Nous avons mis en place le service de recherche d’entités afin d’améliorer l’expérience utilisateur dans le Command Center, où certains appels d’API mettaient 30 secondes, voire plus, à répondre.
Ce service léger, dont la lecture est optimisée, conserve une copie dénormalisée des données relationnelles clés dans un magasin de données basé sur des documents tel que MongoDB, ce qui nous permet d’atteindre notre principal objectif en matière de performances : maintenir toutes les réponses API lourdes en lecture en dessous de 3 secondes, quelle que soit l’échelle.
Cette évolution architecturale a non seulement considérablement amélioré l’expérience utilisateur, mais a également jeté les bases d’autres optimisations de la plateforme, dont certaines sont détaillées ci-dessous.


Reconstruire nos capacités : le rôle du CVDotnetContainer
Forts du succès de l’évolution de MediaAgents, nous avons pris conscience que nos autres composants clés pouvaient également être développés. Nos services de base de la plateforme, tels que le Job Manager et le serveur CommServe, fonctionnaient encore sur une seule machine. Cela entraînait une rigidité architecturale et limitait notre capacité à gérer efficacement des charges de travail croissantes, des exigences régionales et/ou les préférences des clients.
Pour répondre à ces demandes, nous avons décidé d’adopter une architecture basée sur les microservices afin de diviser les grands services en composants plus petits, conçus à cet effet, pouvant être développés, déployés et mis à l’échelle de manière indépendante. Cette approche a permis une plus grande flexibilité et une utilisation plus efficace de l’infrastructure.
Cependant, cela a également entraîné de nouveaux défis. Il nous fallait trouver un moyen de déployer plusieurs services sans consommer trop de ressources, de permettre la coexistence simultanée de divers services sur une même machine et d’offrir aux administrateurs la flexibilité nécessaire pour choisir l’emplacement d’exécution de chaque service. Cela nécessitait un système capable d’héberger des composants modulaires tout en gérant les responsabilités communes de la plateforme.
La solution à ce défi est devenue le CVDotnetContainer.
Rendre les microservices pratiques à grande échelle
Entièrement conçu de toutes pièces, le CVDotnetContainer fait office de couche d’hébergement performante capable de prendre en charge plusieurs microservices sur une seule instance. Il offre la flexibilité nécessaire pour déployer des services de manière indépendante, en fonction des besoins de chaque CommCell. Une fois la couche de base mise en place, des services clés tels que l’intégration S3, App Manager Lite et le service d’audit ont rapidement adopté ce conteneur pour fonctionner sur n’importe quelle machine, avec un minimum d’efforts et une flexibilité totale.
Au-delà de ses capacités d’hébergement, le conteneur prend en charge les exigences opérationnelles courantes. Il gère l’authentification, le cycle de vie des requêtes et des réponses, la gestion des erreurs, la journalisation, l’accès au registre et les interactions avec le système de fichiers. Les développeurs n’ont plus besoin de recréer ces couches fondamentales pour chaque nouveau service. Ils peuvent ainsi se concentrer entièrement sur l’application ou la logique métier.
Le CVDotnetContainer a apporté de la modularité à la plateforme de Commvault, a simplifié les déploiements et a permis aux services d’évoluer de manière indépendante. Ainsi, notre architecture globale est devenue plus facile à maintenir et mieux adaptée aux exigences des charges de travail modernes, en constante évolution.
Simplifier la gestion de CommCell : le centre de commande global
Lorsque les entreprises ont commencé à toucher un public mondial et que les données ont commencé à affluer, un environnement CommCell unique s’est avéré insuffisant, car il ne dispose que d’une seule instance d’un serveur CommServe. Ces organisations ont alors commencé à mettre en place plusieurs CommCell dans différentes régions afin de répondre aux exigences réglementaires, opérationnelles et de performance. Ces instances fonctionnaient de manière indépendante, ce qui rendait leur gestion fragmentée.
Alors que nous avons adopté l’évolutivité horizontale pour améliorer l’expérience utilisateur, la gestion de ces environnements distribués a posé un nouveau défi à Commvault. En réponse, l’une des avancées les plus significatives a été apportée à l’architecture Commvault, permettant une gestion simplifiée d’environnements multiples au sein d’un plan de contrôle unique grâce à l’introduction du Global Command Center, qui permet aux clients de gérer l’ensemble de leurs CommCells.
Le Global Command Center est un tableau de bord central qui fait office de « tableau de bord unique », permettant aux clients de gérer plusieurs CommCells via une seule interface d’administration. Il offrait une vue d’ensemble des opérations, même lorsque l’infrastructure était répartie sur plusieurs continents. Les clients pouvaient déployer des instances aux États-Unis, en Europe, en Asie ou dans n’importe quel autre endroit, tout en continuant à les surveiller et à les contrôler depuis un seul et même endroit.
Cette vue unifiée a permis d’éviter de devoir se connecter séparément à chaque console. Au lieu de nécessiter l’intervention de plusieurs administrateurs pour gérer les environnements CommCell, cette plateforme globale unique permet aux clients de surveiller les tâches, de suivre les mises à jour et de superviser la santé de l’ensemble de l’entreprise. Elle contribue à simplifier la supervision, à réduire la charge opérationnelle et permet aux équipes de gérer des écosystèmes mondiaux grâce à la clarté offerte par un système centralisé.

Ce qui nous attend : conçu pour aider à créer une entreprise prête pour l’avenir
L’évolution de Commvault vers une architecture basée sur des microservices et évolutive horizontalement a profondément transformé, pour le mieux, la manière dont nous servons nos clients. En misant sur la modularité, en offrant une grande flexibilité et en mettant en place une gestion centralisée via le Global Command Center, Commvault a conçu une plateforme prête à répondre aux exigences d’aujourd’hui et à s’adapter aux besoins de demain. Quelle que soit la complexité des charges de travail modernes ou l’ampleur des volumes de données, Commvault est conçu pour offrir une expérience utilisateur exceptionnelle.