A virtualização e o licenciamento flexível ajudam a impulsionar a drástica modernização da CSG

A maioria das empresas está no processo de transformação de suas operações de TI — do local para a nuvem, do físico para o virtual. E com o início da COVID-19, quase todas as empresas estão acelerando sua jornada de modernização.

Esse é o caso da CSG, uma provedora de serviços de engajamento de clientes para o setor de telecomunicações e TV a cabo com 35 anos de existência. A empresa equipa os maiores provedores de TV a cabo da América do Norte com soluções digitais para gerenciar relacionamentos com clientes, faturamento e operações de forma mais eficiente.

Alguns anos atrás, o CSG estava sofrendo com as limitações dos processos de envelhecimento, agravados pela falta de engajamento dos novos proprietários de aplicativos. Assim como a CSG ajuda seus clientes a se modernizarem, era hora de evoluir suas próprias operações.

A vice-presidente de engenharia de software da CSG, Erica Morrison, foi encarregada de ajudar a equipe de Engenharia Operacional da CSG a estabelecer uma organização e cultura DevOps, embora ela tivesse trabalhado anteriormente apenas no lado de software da casa.

“É um choque para o sistema que um desenvolvedor seja repentinamente jogado no mundo das operações e veja de perto os desafios que ele enfrenta”, ela diz. “Isso definitivamente me fez apreciar mais o que todas as nossas equipes de operações fazem.”

Levar as melhores práticas de desenvolvimento para o que historicamente era uma equipe somente de operações posicionou a CSG para enfrentar uma série de desafios: alavancar recursos da F5 que eles não usavam anteriormente, adicionar novas ferramentas e adotar um acordo de licenciamento empresarial que forneceu a flexibilidade necessária.

Uma série de desafios

Erin Garrigan era o scrum master da equipe na época. Agora supervisora, ela relata diversas iniciativas que resultaram no que o CSG imaginou como um plano de cinco ou até dez anos em 2016.

“Do ponto de vista técnico, tínhamos muitos processos manuais em torno de mudanças e pouca visibilidade sobre quem estava fazendo o quê”, diz ela. “Muitas equipes diferentes tinham acesso aos nossos dispositivos, e não tínhamos os controles robustos de que precisávamos em torno disso.”

Esses não foram os únicos problemas. Havia instabilidade em toda a infraestrutura e a falta de monitoramento e alertas gerais de integridade significava que a equipe muitas vezes não sabia quando os dispositivos estavam em mau estado até ouvir sobre os problemas dos clientes. Modernizar o hardware foi outra preocupação importante.

Transformando por meio da infraestrutura como código

O primeiro e maior projeto da equipe foi colocar tudo em código-fonte usando F5 iApps. Como os processos da CSG eram manuais, eles começaram instituindo uma exportação noturna de configurações de dispositivos, o que permitiu que a equipe ganhasse visibilidade das configurações. Eventualmente, eles progrediram para um novo paradigma em que o código-fonte agora direciona o que está nos dispositivos.

“Em um ano, criamos mais de 100 iApps a partir de alterações manuais e do conceito de infraestrutura como código”, diz Garrigan. “O grande volume de esforço para codificar cada configuração manual em iApps foi substancial, mas criamos algumas ferramentas e lidamos com isso ao longo do tempo.”

Com a infraestrutura agora definida como código, a equipe pôde decompor as funções de seus aplicativos. A Engenharia Operacional dá suporte a dezenas de equipes de aplicativos em um ambiente de servidor dinâmico que recebe diversas solicitações de mudança por dia. A implementação de um processo de autoatendimento permitiu que consumidores internos das equipes de aplicativos da CSG usassem um dispositivo BIG-IP sandbox para configurar alterações, verificá-las e enviá-las por meio de um pipeline para validação e revisão de código. Eles também criaram outra ferramenta que permite que os usuários coloquem as alterações em produção por conta própria.

“Naquele ponto, estávamos realmente oferecendo balanceamento de carga e entrega de aplicativos como serviço”, diz Phil Todd, diretor de desenvolvimento de software da CSG. “Usamos o Jenkins para conduzir a maioria das nossas funções de autoatendimento de automação, bem como nossas funções de relatórios. E escrevemos parte do nosso próprio código C# para implementar essa funcionalidade nos bastidores.”

Visibilidade e gerenciamento de mudanças com BIG-IQ

Promover visibilidade para essas mudanças era outra necessidade crítica em todo o amplo e diversificado conjunto de aplicativos da CSG. Em seu mundo anteriormente manual, as equipes de aplicação poderiam estar pisoteando umas às outras com mudanças sobrepostas. Encontrar código ruim era um quebra-cabeça mais complexo do que precisava ser.

“Haveria algo estranho no ambiente”, diz Garrigan. “Não saberíamos por que estava estranho, apenas que alguém deve ter feito alguma coisa.”

Os processos manuais também significavam que, uma vez identificado um problema, a equipe muitas vezes teria que localizar o indivíduo que fez a alteração para entendê-la completamente.

Para resolver o problema, a equipe implementou o F5 BIG-IQ e começou a instituir mudanças no próprio processo de mudança, introduzindo relatórios automatizados sobre a integridade do sistema e os impactos gerais das mudanças. Eles também criaram um painel do Grafana para monitorar mais de mil pontos finais para dar suporte à validação de alterações. Com sua configuração agora como código, juntamente com a automação criada em torno das implantações, o CSG pôde obter visibilidade real de todas as alterações que foram feitas.

De acordo com Todd, isso levou a uma das maiores diferenças entre o ambiente atual da CSG e os processos manuais que eles tinham no passado: se uma mudança quebra algo, o tempo médio para consertar agora pode ser de minutos, enquanto antes podia ser de horas enquanto a equipe investigava e resolvia o problema.

“Fazer login no Kibana registra todas as alterações — qual versão foi implantada e qual era a versão anterior”, ele diz. “Então, sem ficarmos sentados questionando por que não está funcionando, nós simplesmente implantamos a versão anterior do código simplesmente apertando o botão no Jenkins.”

A virtualização é fundamental

A próxima evolução foi abordar a escalabilidade, flexibilidade e estabilidade da infraestrutura. Embora estivessem executando dezenas de dispositivos de hardware físico, incluindo F5 VIPRIONS, a maioria dos aplicativos fluía por apenas dois: um para tráfego externo da Internet e outro para tráfego interno.

Isso resultou em grupos grandes, o que representava um risco maior para a organização em caso de falha. “Se um desses dispositivos falhasse, isso afetaria essencialmente todos os produtos e todos os clientes”, diz Todd.

Ao mesmo tempo, os aplicativos da CSG estavam começando a migrar para a nuvem privada da empresa, bem como para as nuvens públicas, mas o sistema tinha capacidade limitada em termos de expansão para esses ambientes — e não permitia a migração para a AWS.  

A virtualização também foi fundamental para lidar com esses problemas. Ter infraestrutura como código em iApps forneceu a flexibilidade para reduzir o tamanho geral do grupo de falhas e, assim, estabelecer um balanceamento de carga mais específico do aplicativo. Também abriu a porta para evoluir para a nuvem pública quando necessário.

“Tivemos uma interrupção recentemente e isso afetou um produto”, diz Morrison. “Há pouco mais de um ano isso teria afetado todos os produtos. Com mais instâncias divididas em grupos menores, também temos a capacidade de fazer failover se necessário, e esse raio de explosão é muito pequeno. Portanto, o investimento em estabilidade já resultou em algumas boas notícias para nossos clientes internos e externos.” 

O licenciamento empresarial traz a flexibilidade necessária

A CSG ganhou mais flexibilidade operacional e economia de custos ao migrar do F5 BIG-IP Virtual Editions para um novo contrato de licenciamento empresarial (ELA) da F5. Anteriormente, o grupo funcionava principalmente em um datacenter na sede da empresa em Omaha. A solução de recuperação de desastres consistia simplesmente em instalar seus serviços em um data center de terceiros caso os eventos exigissem isso.

Quando a equipe construiu um segundo data center alguns anos atrás, eles estavam posicionados para explorar alta disponibilidade nesses data centers, mas seu antigo contrato de licenciamento e hardware físico limitavam suas opções. Com hardware fixo, a empresa enfrentou desafios com escalabilidade, disponibilidade e capacidade de expansão para a nuvem pública.

“A mudança para um contrato de licença empresarial F5 e a solução virtual nos deram a liberdade de criar o que queremos, quando queremos e adicionar aquele segundo data center”, diz Todd. “E isso nos deu a liberdade de explorar e ser muito receptivos às necessidades dos nossos clientes internos.”

Hoje a equipe tem mais flexibilidade para evoluir e atingir alta disponibilidade para diversos serviços.

Olhando para o futuro: entrega de aplicativos na nuvem

Tendo modernizado seu ambiente, a equipe de Engenharia de Operações da CSG agora tem espaço para planejar o futuro. A equipe quer explorar ainda mais os recursos do F5 para segurança, montar arquiteturas de referência para usar BIG-IP e Amazon Web Services (AWS) e trazer novos recursos com NGINX. E com um ELA, a empresa conseguiu mudar o orçamento existente para novas arquiteturas e conjuntos de recursos.

Morrison também está trabalhando com os proprietários de produtos da CSG em um novo roteiro para desenvolver o que eles realizaram até agora, melhorando o monitoramento e o alerta do sistema, adicionando novos monitores e desenvolvendo um modelo de centro de excelência para entrega de aplicativos.

De um ponto de vista geral, ela diz, é um lugar agradável para se estar. Neste ponto, a equipe já concretizou quase todos os projetos de sua visão original de cinco anos. Com as parcerias, a funcionalidade de autoatendimento e as configurações que eles criaram, tudo o que resta é entregar mais propriedade dos aplicativos às próprias equipes de aplicativos.

“Pela primeira vez estamos dizendo: o que faremos a seguir?”, ela diz. “Fizemos tanto progresso que não estamos mais conseguindo sair dessa situação. Agora é uma questão de ser proativo e construir sobre a base sólida que estabelecemos.”

Desafios
  • Processos manuais
  • Hardware fixo impedindo a escalabilidade e disponibilidade necessárias
  • Falta de monitoramento de saúde e visibilidade do aplicativo

Benefícios
  • Maior visibilidade do aplicativo
  • Caminho de migração mais fácil para a nuvem pública
  • Melhoria na capacidade de resposta às necessidades do cliente
Produtos