BMS - As novidades

A BMS tinha uma parceria antiga e bastante forte com a IBM, o que frequentemente dava à empresa prioridade no acesso a novas tecnologias. Uma dessas novidades foi a virtualização de servidores Intel usando o VMWare. Tecnologias de virtualização, que permitem simular várias máquinas em um único hardware físico, eram comuns no mundo dos mainframes, mas praticamente inexistentes na chamada baixa plataforma. Naquele momento, os servidores Intel haviam atingido um nível de capacidade e desempenho que tornava viável particionar um único servidor em várias máquinas virtuais, de forma semelhante ao que já era feito há décadas nos mainframes. Tratava-se de uma das grandes novidades do mundo da informática naquele período.
O pessoal da IBM fez uma apresentação sobre essa tecnologia, que chamou muito a atenção do meu gerente, conhecido por um certo saudosismo em relação aos tempos dos mainframes. Depois dessa apresentação, o Fernando me passou a tarefa de especificar e adquirir um servidor para que pudéssemos experimentar essa nova abordagem. Foi o que fizemos: compramos um servidor com boa capacidade de processamento, discos externos de alta capacidade e instalamos uma das primeiras versões do VMware.
Em seguida, tivemos que aprender como o sistema funcionava e como aquele novo ambiente seria gerenciado. Ficou definido que esse primeiro servidor seria usado exclusivamente para a criação de máquinas virtuais de teste e desenvolvimento, nunca para produção. Assim que dominamos o básico da ferramenta, ficou evidente o quão simples e rápido era criar uma nova máquina de testes: em poucos cliques, a instância estava pronta para uso. Apagar uma máquina e recomeçar do zero era igualmente trivial. Sem perceber, acabamos criando um descompasso entre os ambientes de testes e de produção. Enquanto no ambiente virtualizado tudo era rápido e flexível, no ambiente de produção ainda era necessário comprar servidores físicos, instalá-los em um rack, fazer o cabeamento e aguardar toda a configuração, um processo bem mais demorado.
A partir daí ficou claro que a virtualização em larga escala seria inevitável. Não fazia mais sentido manter o modelo tradicional de um servidor físico por sistema. Foi um daqueles projetos tão bem-sucedidos que acabaram criando um novo problema: a gestão do ambiente virtualizado era tão eficiente que ninguém queria voltar ao método antigo. Como se dizia na época, porém, não se cria máquina virtual do nada. Era necessário investir previamente em hardware e capacidade instalada para depois poder criar novas instâncias. Isso exigiu tempo e um investimento considerável até que a empresa atingisse um ponto confortável.
Lembro também de um colega, responsável pela administração dos equipamentos Cisco, que identificou muito cedo um problema que hoje é realidade em praticamente todas as empresas: como ficou extremamente fácil criar novos servidores, haveria uma explosão no número de máquinas virtuais, tornando cada vez mais difícil gerenciá-las adequadamente e até mesmo saber quais ainda eram utilizadas e quais haviam sido abandonadas, consumindo recursos sem necessidade.
Além das questões relacionadas à gestão de servidores, enfrentávamos também limitações sérias na capacidade dos links de comunicação entre a BMS e as usinas da Belgo. Por mais que a capacidade dos canais fosse aumentada, o congestionamento parecia inevitável. O principal sistema da Belgo era o SAP, centralizado em Belo Horizonte. Funcionários de qualquer parte do Brasil precisavam acessar esse sistema para atividades como recursos humanos, controle de estoque e emissão de notas fiscais. Quando os links ficavam congestionados, o sistema tornava-se lento ou instável, dificultando e atrasando o trabalho.
Começamos então a buscar alternativas para melhorar o acesso remoto ao SAP. Uma das soluções apresentadas foi um produto de Traffic Shaping, uma tecnologia que permite priorizar determinados tipos de tráfego em um canal de comunicação. Fizemos um teste em um dos escritórios de vendas da Belgo em Belo Horizonte, e a experiência foi positiva. No entanto, ao discutir os custos de uma implantação em toda a empresa, ficou claro que a solução era inviável: o equipamento era extremamente caro e custaria mais do que simplesmente dobrar a capacidade de toda a rede.
Durante esses testes, passei a estudar com mais profundidade conceitos de qualidade de serviço e priorização de tráfego em redes. Foi então que descobri que o Linux já oferecia esse tipo de funcionalidade diretamente no kernel. Era possível utilizar esses recursos nativos do sistema operacional para otimizar o uso dos links de comunicação. Consegui implementar uma solução que controlava a largura de banda alocada para cada aplicação na rede. O processo era mais complexo do que usar um produto pronto, mas funcionava.
Restava resolver o problema da alta disponibilidade: o que aconteceria se esse servidor falhasse? A solução encontrada foi a utilização de dois servidores em cluster, com heartbeat](https://pt.wikipedia.org/wiki/Linux-HA) e IP take-over. Testamos essa configuração em laboratório e os resultados foram suficientemente bons para iniciarmos a implantação em diversos escritórios e usinas da Belgo.
Aos poucos, esses projetos me permitiram conhecer melhor a empresa, mas também me mostraram, de forma bastante concreta, como funcionavam certas dinâmicas de política corporativa. Esses aprendizados acabaram influenciando diretamente outros projetos que desenvolvi durante meu período na BMS — mas isso já é assunto para o próximo capítulo.