In Unternehmen aller Branchen wachsen die Datenmengen exponentiell. Unternehmen sammeln, verarbeiten und nutzen größere und vielfältigere Datensätze als je zuvor. Mit diesem unaufhaltsamen Datenwachstum entsteht eine neue Herausforderung: Wie kann die bestehende Dateninfrastruktur mithalten, nicht nur in Bezug auf den Umfang, sondern auch in Bezug auf Flexibilität und Intelligenz?
Commvault weiß, dass Wachstum Veränderungen erfordert.
Ursprünglich wurde Commvault für die Sicherung von lokalen Rechenzentren entwickelt. Unsere Produkte waren auf eine vertikale, nicht jedoch auf eine horizontale Skalierung ausgelegt, was für unsere Kunden ein Problem darstellte.
Unsere grundlegenden Dienste wurden auf einzelnen Rechnern betrieben, was einen Engpass darstellte, der sowohl die Flexibilität als auch die Ausfallsicherheit einschränkte. Mehr Arbeitsspeicher und schnellere Prozessoren konnten die Kapazität zwar erhöhen, doch erwies sich dies nur als vorübergehende Lösung.
Bei der Entwicklung unserer Cloud-Produkte mussten wir uns weiterentwickeln und haben einen umfassenden architektonischen Wandel eingeleitet, der horizontale Skalierung, Microservices und eine Plattformgrundlage umfasst, die speziell für die heutigen Daten-Workloads ausgelegt ist.
Erkennen unserer Grenzen: Der Wendepunkt
Die Systembeschränkungen und die monolithische Architektur führten bei einigen unserer Kunden zu einer negativen Benutzererfahrung. Also haben wir begonnen, Änderungen vorzunehmen.
Eine der Kernfunktionen, die wir als Erstes skalierten, waren die MediaAgents – also Softwarekomponenten, die als Datenübertragungsmanager fungieren und den Datenfluss sowie die Speicherverwaltung über mehrere Rechner hinweg steuern. Da es sich dabei um einige der datenintensivsten Komponenten handelt, hatten sie Schwierigkeiten, mit der steigenden Datenlast Schritt zu halten.
Die Lösung bestand darin, eine horizontale Skalierung vorzunehmen, sodass die Nutzer weitere Rechner hinzufügen konnten, um die Last zu verteilen. Diese Änderung markierte den Beginn der horizontalen Skalierung auf der gesamten Plattform. Indem wir den Nutzern ermöglichten, Rechner hinzuzufügen, anstatt denselben zu aktualisieren, schufen wir Flexibilität. MediaAgent bewies, dass ein horizontal skalierbarer Ansatz funktionierte, und der Rest der Plattform sollte diesem Beispiel folgen.

Die Grundlage für die Skalierung schaffen: Einführung in den Entity Lookup Service
Während wir an der Verbesserung unserer Datenbewegungsschicht arbeiteten, beschlossen wir zudem, uns auf eine weitere entscheidende Dimension der Skalierung zu konzentrieren: die Leistung des Command Center.
Die Commvault-Plattform ist von Natur aus schreibintensiv und nimmt kontinuierlich Daten für die Datenermittlung, die Auftragsverfolgung, die Prüfung und weitere Zwecke auf. Während dieses Modell bei relationalen Datenbanken, die starke Konsistenz und Transaktionsgarantien boten, gut funktionierte, konnte die Leseleistung in großen Umgebungen nicht mithalten.
Wir haben den Entity-Lookup-Service eingeführt, um die Benutzererfahrung im Command Center zu verbessern, wo einige API-Aufrufe 30 Sekunden oder länger auf eine Antwort warteten.
Dieser ressourcenschonende, für Lesevorgänge optimierte Dienst verwaltet eine denormalisierte Kopie der relationalen Schlüsseldaten in einem dokumentenbasierten Speicher wie MongoDB, wodurch wir unser zentrales Leistungsziel erreichen können: alle leselastigen API-Antworten unter 3 Sekunden zu halten, unabhängig vom Umfang.
Dieser architektonische Wandel hat nicht nur die Benutzererfahrung erheblich verbessert, sondern auch die Grundlage für weitere Plattformoptimierungen geschaffen, von denen wir im Folgenden einige näher erläutern.


Neugestaltung unserer Fähigkeiten: Die Rolle des CVDotnetContainers
Angesichts der erfolgreichen Weiterentwicklung von MediaAgents wurde uns klar, dass auch unsere anderen Kernkomponenten ausgebaut werden könnten. Unsere Basisplattformdienste, wie beispielsweise der Job-Manager und der CommServe-Server, liefen nach wie vor auf einem einzigen Rechner. Dies führte zu einer starren Architektur und schränkte unsere Möglichkeiten ein, wachsende Arbeitslasten, regionale Anforderungen und/oder Kundenwünsche effektiv zu bewältigen.
Um diesen Anforderungen gerecht zu werden, entschieden wir uns für eine auf Microservices basierende Architektur, um große Dienste in kleinere, zweckgebundene Komponenten aufzuteilen, die unabhängig voneinander entwickelt, bereitgestellt und skaliert werden können. Dieser Ansatz bot mehr Flexibilität und eine effizientere Nutzung der Infrastruktur.
Allerdings brachte dies auch neue Herausforderungen mit sich. Wir benötigten eine Möglichkeit, mehrere Dienste bereitzustellen, ohne übermäßig viele Ressourcen zu beanspruchen, gleichzeitig die Koexistenz verschiedener Dienste auf einem einzigen Rechner zu unterstützen und den Administratoren die Flexibilität zu geben, zu entscheiden, wo die einzelnen Dienste ausgeführt werden sollten. Dies erforderte ein System, das in der Lage ist, modulare Komponenten zu hosten und gleichzeitig gemeinsame Plattformaufgaben zu verwalten.
Die Lösung für diese Herausforderung war der CVDotnetContainer.
Mikroservices in großem Maßstab praktikabel machen
Der von Grund auf neu entwickelte CVDotnetContainer fungiert als leistungsfähige Hosting-Ebene, die mehrere Microservices auf einer einzigen Instanz unterstützt. Er bietet die Flexibilität, Dienste je nach den Anforderungen der einzelnen CommCells unabhängig voneinander bereitzustellen. Nachdem die Basisschicht vorbereitet war, wurden wichtige Dienste wie die S3-Integration, App Manager Lite und der Audit-Service schnell auf den Container umgestellt, sodass sie nun mit minimalem Aufwand und voller Flexibilität auf jedem Rechner ausgeführt werden können.
Über seine Hosting-Funktionen hinaus übernimmt der Container die Abwicklung gängiger betrieblicher Anforderungen. Er kümmert sich um die Authentifizierung, den Lebenszyklus von Anfragen und Antworten, das Fehlermanagement, die Protokollierung, den Zugriff auf die Registry sowie die Interaktion mit dem Dateisystem. Entwickler müssen diese grundlegenden Schichten nicht mehr für jeden neuen Dienst neu aufbauen. Stattdessen können sie sich voll und ganz auf die Anwendung oder die Geschäftslogik konzentrieren.
Der CVDotnetContainer sorgte für Modularität auf der Commvault-Plattform, optimierte die Bereitstellung und ermöglichte eine unabhängige Skalierung der Dienste. Dadurch wurde unsere Gesamtarchitektur wartungsfreundlicher und besser auf die Anforderungen der sich ständig weiterentwickelnden modernen Workloads abgestimmt.
Vereinfachung der CommCell-Verwaltung: Das globale Kommandozentrum
Als die Unternehmen begannen, ein globales Publikum zu erreichen, und immer mehr Daten einflossen, erwies sich eine einzelne CommCell-Umgebung als unzureichend, da sie nur über eine einzige Instanz eines CommServe-Servers verfügte. Diese Unternehmen begannen, mehrere CommCells in verschiedenen Regionen einzurichten, um gesetzliche, betriebliche und Leistungsanforderungen zu erfüllen. Diese Instanzen wurden unabhängig voneinander betrieben, was dazu führte, dass ihre Verwaltung zu einer fragmentierten Erfahrung wurde.
Als wir die horizontale Skalierung zur Verbesserung der Benutzerfreundlichkeit einführten, stellte die Verwaltung dieser verteilten Umgebungen eine neue Herausforderung für Commvault dar. Als Reaktion darauf wurde eine der wichtigsten Verbesserungen an der Commvault-Architektur vorgenommen, die eine vereinfachte Verwaltung mehrerer Umgebungen in einer einzigen Steuerungsebene ermöglicht – mit der Einführung des Global Command Center, über das Kunden alle ihre CommCells verwalten können.
Das Global Command Center ist eine Steuerungsebene, die als „Single Pane of Glass“ fungiert und es Kunden ermöglicht, mehrere CommCells über eine einzige Verwaltungsschnittstelle zu verwalten. Es schuf einen konsolidierten Überblick über den Betrieb, selbst wenn die Infrastruktur über mehrere Kontinente verteilt war. Kunden konnten Instanzen in den Vereinigten Staaten, Europa, Asien oder an jedem anderen Standort bereitstellen und diese dennoch von einem einzigen Ort aus überwachen und steuern.
Durch diese einheitliche Ansicht entfällt die Notwendigkeit, sich bei jeder Konsole einzeln anzumelden. Anstatt dass mehrere Administratoren für die Wartung der CommCell-Umgebungen erforderlich sind, ermöglicht diese einzige globale Plattform den Kunden, Aufträge zu überwachen, Updates zu verfolgen und den Gesamtzustand des Unternehmens im Blick zu behalten. Sie trägt dazu bei, die Überwachung zu vereinfachen, den Betriebsaufwand zu reduzieren und Teams die Verwaltung globaler Ökosysteme mit der Übersichtlichkeit eines zentralisierten Systems zu ermöglichen.

Was vor uns liegt: Für den Aufbau eines zukunftsfähigen Unternehmens
Die Entwicklung von Commvault hin zu einer auf Microservices basierenden, horizontal skalierbaren Architektur hat die Art und Weise, wie wir unsere Kunden betreuen, grundlegend zum Besseren verändert. Durch den Einsatz modularer Strukturen, die Gewährleistung von Flexibilität und die Einführung einer zentralisierten Verwaltung über das Global Command Center hat Commvault eine Plattform geschaffen, die den Anforderungen von heute gerecht wird und dazu beiträgt, die Anforderungen von morgen zu erfüllen. Ganz gleich, wie komplex moderne Workloads werden oder wie stark das Datenvolumen ansteigt – Commvault ist darauf ausgelegt, ein außergewöhnliches Benutzererlebnis zu bieten.