A Comas e o diretor sênior de estratégia e colaboração de serviços da NBCUniversal, Charles Williams, posicionaram o DevOps internamente como uma plataforma/framework compartilhada para entregar inovação mais rapidamente. A plataforma IBM UrbanCode — UrbanCode Build (software de automação de criação de aplicações) e UrbanCode Deploy (software de automação de liberação de aplicações) — atua como o mecanismo de DevOps, permitindo que a NBCUniversal combine integração contínua, entrega contínua, testes contínuos, feedback contínuo e monitoramento contínuo em um fluxo de trabalho automatizado, unindo processo, cultura e tecnologia em toda a organização.
A plataforma UrbanCode oferece suporte a um conjunto diversificado de ambientes de TI e oferece recursos completos de auditoria, o que é fundamental para uma empresa complexa, como a NBCUniversal. "Com os produtos UrbanCode, podemos fornecer compilação como serviço para a organização. Posso reproduzir qualquer compilação que entre no UrbanCode com o clique de um botão", diz Comas. "Temos um único dashboard unificado onde posso ver toda a atividade. E temos registros claros sobre o que foi compilado, os binários relacionados a essa compilação, o que foi feito com ela, como foi testada, em que ambiente foi implementada, tudo isso. Dê-me uma data e, se quiser saber o que foi implementado na produção naquela data, eu posso lhe contar tudo.”
A NBCUniversal usa o IBM Cloud for Skytap Solutions (ICSS), desenvolvido pela Skytap, parceira de negócios da IBM, em conjunto com o software IBM UrbanCode Deploy para automatizar a configuração e o gerenciamento do ambiente de teste durante todo o ciclo de vida do desenvolvimento de software e paralelizar o teste de regressão como parte da automação de controle de qualidade.
Em um caso, o grupo de televisão da NBCUniversal usou o ICSS para reduzir seus testes de regressão de 6 a 8 semanas para apenas 3 horas para o Compass, uma grande aplicação usada para agendamento de programas de TV. Associado ao Compass está um enorme conjunto de testes de regressão composto por 1.000 casos de teste. Antes de utilizar o ICSS, a equipe de controle de qualidade da organização executava esses testes localmente, cada teste executado em série. Agora, eles configuraram um ambiente de 50 máquinas de teste, todas apontando para o ambiente Compass QA no local, com 20 testes sendo executados por máquina em paralelo.
Por meio do DevOps, a NBCUniversal dividiu o que antes era um processo monolítico em partes componentes, com a equipe de DevOps da Comas assumindo a liderança, fornecendo a infraestrutura que suporta as ferramentas de DevOps, gerenciando as próprias ferramentas e gerenciando as melhores práticas no uso dessas ferramentas. A equipe também cria as automações para as equipes de desenvolvimento.
Defender o DevOps não foi fácil no início; nem todos estavam receptivos, então Comas e Williams tiveram que superar alguns obstáculos culturais. "John e eu já conversamos sobre DevOps há um tempo, mas a conversa entrava por um ouvido e saía pelo outro. Foi quando começamos a falar sobre recursos e, em seguida, mostrá-los aos proprietários das aplicações e, em seguida, ao ambiente de controle de qualidade, que começamos a perceber interesse", diz Williams. “A certa altura, acho que John e eu até decidimos parar de usar a palavra 'DevOps', porque ela não significava nada para a maioria das pessoas. Maior velocidade de entrega no desenvolvimento de aplicações; ser capaz de executar testes de forma repetida e consistente e obter resultados rápidos — isso é importante. Quando falamos nesses termos, começamos a mudar a cultura. E quando tivemos algumas oportunidades de demonstrar nossos recursos de desenvolvimento ágil, começamos a ouvir: 'Ah, então isso é DevOps. Era isso que eu queria'".
Nesse sentido, ferramentas e tecnologia, como o software UrbanCode, impulsionaram a cultura e a mudança de processos. "Acho que as ferramentas ajudaram a fortalecer o resultado da mudança na cultura; desenvolvimento mais ágil, mais testes shift left", diz Williams. "As ferramentas serviram de base para o processo de DevOps que imaginamos: um fluxo de trabalho de ponta a ponta."