Em todas as empresas de todos os setores, os volumes de dados estão crescendo 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 conseguiram ampliar a capacidade; no entanto, isso provou ser apenas 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
As limitações do sistema e a arquitetura monolítica criaram uma experiência negativa para alguns de nossos clientes. Então, começamos a fazer mudanças.
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 o tráfego 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.
Introduzimos o Entity Lookup Service para melhorar a experiência do usuário no Command Center, onde algumas chamadas de API estavam levando 30 segundos ou mais para serem respondidas.
Esse serviço leve e otimizado para leitura mantém uma cópia desnormalizada dos principais dados relacionais em um armazenamento baseado em documentos, como o MongoDB, o que nos permite atingir nossa principal meta de desempenho: manter todas as respostas de API de leitura pesada abaixo de 3 segundos, independentemente da escala.
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, a fim de 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 um 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.
A solução para esse desafio foi o 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 aos logs 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 do CommCell: o Centro de Comando Global
À medida que as empresas passaram a atingir públicos globais e mais dados começaram a chegar, um único ambiente CommCell mostrou-se inadequado, uma vez que possui apenas uma única instância de um servidor CommServe. Essas organizações passaram a configurar várias CommCells em diferentes regiões para atender aos requisitos regulatórios, operacionais e de desempenho. Essas instâncias operavam de forma independente, o que significava que gerenciá-las se tornou uma experiência fragmentada.
À medida que adotamos o escalonamento horizontal para melhorar a experiência do usuário, o gerenciamento desses ambientes distribuídos apresentou um novo desafio à Commvault. Em resposta, um dos avanços mais significativos foi realizado na arquitetura da Commvault, permitindo um gerenciamento simplificado de vários ambientes em um único plano de controle com a introdução do Global Command Center, que permite ao cliente gerenciar todas as suas CommCells.
O Global Command Center é um painel de controle que funciona como um “painel único”, permitindo que os clientes gerenciem várias CommCells por meio de uma única interface administrativa. Ele criou uma visão consolidada das operações, mesmo quando a infraestrutura estava distribuída por vários continentes. Os clientes podiam implantar instâncias nos Estados Unidos, na Europa, na Ásia ou em qualquer outro local e, mesmo assim, monitorá-las e controlá-las a partir de um único lugar.
Essa visão unificada eliminou a necessidade de fazer login em cada console separadamente. Em vez de exigir que vários administradores realizem 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 está por vir: Projetado para ajudar a criar uma empresa preparada 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.