Skip to content
Cloud & Infrastructure, Data, Data Management, File Storage Optimization

Modernizing Commvault’s Architecture: From Monolith to Scalable Microservices

Key changes enable flexibility to handle data growth.


Em todas as empresas de todos os setores, os volumes de dados estão se expandindo exponencialmente. As organizações estão coletando, processando e agindo com base em conjuntos de dados maiores e mais diversificados do que nunca. Com esse crescimento incessante de dados, surge um novo desafio: como a infraestrutura de dados existente pode acompanhar o ritmo, não apenas em tamanho, mas em flexibilidade e inteligência?

A Commvault reconhece que o crescimento exige mudanças.

Inicialmente, a Commvault foi criada para o mundo da proteção de data centers locais. Nossos produtos foram projetados para escalar verticalmente, mas não horizontalmente, o que percebemos ser um problema para nossos clientes.

Nossos serviços básicos operavam em máquinas individuais, o que, como vimos, criava um gargalo que limitava a flexibilidade e a resiliência. Mais memória e processadores mais rápidos foram capazes de ampliar a capacidade; no entanto, isso só provou ser uma solução temporária.

À medida que desenvolvíamos nossos produtos em nuvem, tivemos que evoluir e embarcamos em uma grande mudança arquitetônica que incorporou o escalonamento horizontal, os microsserviços e uma base de plataforma projetada para as cargas de trabalho de dados atuais.

Reconhecendo nossos limites: O ponto de inflexão

System limitations and monolithic architecture created a negative user experience for some of our customers. So, we started making changes.

Uma funcionalidade central que começamos a ampliar primeiro foi o MediaAgents, que são componentes de software que atuam como gerenciadores de transmissão de dados, lidando com a movimentação de dados e o gerenciamento de armazenamento em várias máquinas. Como esses são alguns dos componentes que mais consomem dados, eles tiveram dificuldades para acompanhar o aumento das cargas de dados.

A solução consistiu na expansão horizontal, permitindo que os usuários adicionassem mais máquinas para distribuir a carga. Essa mudança marcou o início da escalabilidade horizontal em toda a plataforma. Ao permitir que os usuários adicionassem máquinas em vez de atualizar a mesma, introduzimos flexibilidade. O MediaAgent comprovou que uma abordagem escalável horizontalmente funcionava e que o restante da plataforma deveria seguir o mesmo caminho.

Estabelecendo as bases para o dimensionamento: Apresentando o serviço de pesquisa de entidades

Enquanto trabalhávamos para melhorar nossa camada de movimentação de dados, também decidimos nos concentrar em outra dimensão crítica de escala: o desempenho do Command Center.

A plataforma da Commvault é, por natureza, intensiva em gravações, captando dados continuamente para fins de descoberta, acompanhamento de tarefas, auditoria e muito mais. Embora esse modelo funcionasse bem com bancos de dados relacionais que ofereciam forte consistência e garantias transacionais, o desempenho de leitura não conseguia acompanhar o ritmo em ambientes de grande porte.

We introduced the Entity Lookup Service to improve the user experience in the Command Center, where some API calls were taking 30 seconds or more to respond.

This lightweight, read-optimized service maintains a denormalized copy of key relational data in a document-based store such as MongoDB, which allows us to achieve our core performance goal: keeping all read-heavy API responses under 3 seconds, regardless of scale.

Essa mudança arquitetônica não só melhorou drasticamente a experiência do usuário, como também preparou o terreno para novas otimizações da plataforma, algumas das quais detalhamos a seguir.

Reconstruindo nossas capacidades: O papel do CVDotnetContainer

Com a evolução bem-sucedida do MediaAgents, percebemos que nossos outros componentes principais também poderiam ser ampliados. Nossos serviços básicos da plataforma, como o Job Manager e o servidor CommServe, ainda utilizavam uma única máquina. Isso gerava rigidez arquitetônica e impunha limitações à nossa capacidade de gerenciar com eficácia cargas de trabalho crescentes, requisitos regionais e/ou preferências dos clientes.

Para atender a essas demandas, decidimos mudar para uma arquitetura baseada em microsserviços para dividir grandes serviços em componentes menores e específicos que pudessem ser desenvolvidos, implantados e dimensionados de forma independente. Essa abordagem proporcionou maior flexibilidade e uso mais eficiente da infraestrutura.

No entanto, isso também trouxe novos desafios. Precisávamos de uma maneira de implantar vários serviços sem consumir recursos excessivos, dar suporte simultâneo à coexistência de diversos serviços em uma única máquina e oferecer aos administradores a flexibilidade de escolher onde cada serviço seria executado. Isso exigia um sistema capaz de hospedar componentes modulares e, ao mesmo tempo, gerenciar as responsabilidades compartilhadas da plataforma.

The solve for this challenge became the CVDotnetContainer.

Tornando os microsserviços práticos em escala

Desenvolvido do zero, o CVDotnetContainer atua como uma camada de hospedagem eficaz que suporta vários microsserviços em uma única instância. Ele oferece flexibilidade para implantar serviços de forma independente, de acordo com as necessidades de cada CommCell. Assim que a camada base ficou pronta, serviços essenciais como a integração com o S3, o App Manager Lite e o Serviço de Auditoria adotaram rapidamente o contêiner para rodar em qualquer máquina, com o mínimo de esforço e total flexibilidade.

Além de suas capacidades de hospedagem, o contêiner cuida dos requisitos operacionais comuns. Ele lida com a autenticação, os ciclos de vida das solicitações e respostas, o gerenciamento de erros, o registro em logs, o acesso ao registro e as interações com o sistema de arquivos. Os desenvolvedores não precisam mais recriar essas camadas fundamentais para cada novo serviço. Em vez disso, podem se concentrar inteiramente na aplicação ou na lógica de negócios.

O CVDotnetContainer trouxe modularidade à plataforma da Commvault, simplificou as implantações e permitiu que os serviços fossem dimensionados de forma independente. Como resultado, nossa arquitetura geral tornou-se mais fácil de manter e mais alinhada às demandas das cargas de trabalho modernas, em constante evolução.

Simplificando o gerenciamento da CommCell: O Centro de Comando Global

À medida que as empresas começaram a atingir públicos globais e mais dados começaram a chegar, um único ambiente CommCell provou ser inadequado, uma vez que possui apenas uma única instância de um servidor CommServe. Essas organizações começaram a configurar várias CommCells em diferentes regiões para atender aos requisitos regulamentares, operacionais e de desempenho. Essas instâncias operavam de forma independente, o que significava que gerenciá-las se tornou uma experiência fragmentada.

As we embraced horizontal scaling to enhance user experience, the management of these distributed environments presented Commvault with a new challenge. In response, one of the most significant advancements was made to the Commvault architecture, enablement of a simplified management of multiple environments in a single control plane with the introduction of the Global Command Center, which allows customer to manage all of their CommCells.

The Global Command Center is a control plane that serves as the “single pane of glass,” allowing customers to manage multiple CommCells through a single administrative interface. It created a consolidated view of operations, even when infrastructure was spread across continents. Customers could deploy instances in the United States, Europe, Asia, or any other location, and still monitor and control them from one place.

Essa visão unificada eliminou a necessidade de fazer login em cada console separadamente. Em vez de exigir que vários administradores façam a manutenção dos ambientes CommCell, essa única plataforma global permite que os clientes monitorem tarefas, acompanhem atualizações e supervisionem o desempenho de toda a empresa. Ela ajuda a simplificar a supervisão, reduzir a carga operacional e permite que as equipes gerenciem ecossistemas globais com a clareza de um sistema centralizado.

O que vem pela frente: Projetado para ajudar a criar uma empresa pronta para o futuro

A evolução da Commvault para uma arquitetura baseada em microsserviços e escalável horizontalmente mudou fundamentalmente, para melhor, a forma como atendemos nossos clientes. Ao adotar a modularidade, oferecer flexibilidade e introduzir o gerenciamento centralizado por meio do Global Command Center, a Commvault desenvolveu uma plataforma preparada para atender às necessidades atuais e ajudar a suprir as demandas futuras. Não importa o quanto as cargas de trabalho modernas se tornem complexas ou o quanto os volumes de dados cresçam, a Commvault foi projetada para proporcionar experiências excepcionais aos usuários.

 

More related posts


Thumbnail_Blog_Ready-or-Not-Ep1-The-Rise-of-Shadow-Man

The Rise of the Shadow Man

Read more about The Rise of the Shadow Man
Thumbnail_Blog-JadePuffer-2026

What JadePuffer Reveals About Who Holds the Keys

Read more about What JadePuffer Reveals About Who Holds the Keys
clouds-888×500

How to Protect Unstructured Data in Cloud Computing

Read more about How to Protect Unstructured Data in Cloud Computing