Aprimorando a Implantação do Flink com Testes em Sombra

A Grab implementa uma nova técnica de testes em sombra para melhorar a confiabilidade das implantações do Apache Flink, reduzindo o tempo de inatividade e aumentando a eficiência.

A confiabilidade nas implantações do Apache Flink é essencial para a Grab, especialmente considerando a natureza crítica de suas aplicações em tempo real. Embora todas as aplicações sejam testadas em um ambiente de homologação antes de serem promovidas para produção, problemas específicos podem surgir apenas nesse último estágio. Por exemplo, uma nova versão pode não conseguir lidar com o volume de tráfego ou pode falhar ao retomar de um ponto de verificação anterior. Para mitigar esses riscos, a Grab implementou uma técnica chamada Testes em Sombra, que promete aumentar a disponibilidade de suas aplicações durante as implantações.

O conceito de Testes em Sombra envolve a execução de uma nova versão de uma aplicação em paralelo com a versão atual, sem que isso impacte a operação da versão principal. Essa abordagem permite que a nova versão receba dados de produção e que seu comportamento seja comparado com o da versão existente, facilitando a identificação de problemas e regressões antes que a nova versão seja totalmente implantada.

A importância dessa técnica reside na capacidade de reduzir o tempo de inatividade durante as implantações. Quando uma nova versão é implantada e apresenta falhas, o sistema de implantação da Grab reverte automaticamente para a versão anterior após um período de observação de 10 minutos. Isso, no entanto, ainda resulta em um tempo de inatividade que pode ser crítico para aplicações de missão.

Com a integração do Teste em Sombra diretamente no ambiente de produção, a Grab conseguiu criar um fluxo de implantação mais robusto. O processo começa quando um usuário aciona a implantação de sua aplicação Flink e decide se deseja habilitar o Teste em Sombra. Se ativado, a nova versão passa por uma série de etapas de teste antes de ser considerada para a versão principal.

Durante o Teste em Sombra, a aplicação nova é implantada em um namespace separado no Kubernetes, onde pode operar sem interferir na aplicação principal. Isso é feito através da injeção de variáveis de ambiente que diferenciam as duas versões, permitindo que a nova versão produza resultados em locais isolados. Essa configuração garante que qualquer problema que surja na nova versão não afete a operação da versão principal.

A execução do Teste em Sombra é monitorada por um período configurável, geralmente de uma hora, para garantir que a nova versão esteja estável antes de prosseguir com a implantação da versão principal. Se a nova versão se mostrar estável, o usuário é então solicitado a continuar com a implantação da versão principal.

Além disso, a Grab oferece uma pilha de observabilidade padrão que permite aos usuários monitorar o comportamento da aplicação em Sombra. Isso inclui a comparação de métricas, como o número de mensagens produzidas, entre as versões principal e em Sombra, proporcionando uma visão clara do desempenho de ambas.

A implementação do Teste em Sombra representa um avanço significativo na confiabilidade das aplicações Flink da Grab. Ao enriquecer os componentes existentes da plataforma, a empresa criou um sistema que não apenas melhora a frequência de implantações, mas também reduz a taxa de falhas nas mudanças. Essa abordagem inovadora pode servir como um modelo para outras empresas que buscam aumentar a eficiência de suas implantações de software.

Para promover uma adoção mais ampla do Teste em Sombra, a Grab planeja expandir o suporte a mais conectores de entrada e saída. Isso permitirá que equipes utilizem essa técnica em uma gama mais ampla de aplicações, aumentando ainda mais a confiabilidade e a eficiência das implantações.

Os riscos associados a essa abordagem incluem a necessidade de garantir que todos os conectores utilizados sejam compatíveis com a técnica de Teste em Sombra. Além disso, a implementação de métricas para conectores menos utilizados pode ser um desafio, mas é essencial para garantir que dados acionáveis estejam disponíveis para os usuários.

As oportunidades são vastas, especialmente à medida que a Grab continua a inovar e a expandir suas capacidades. A acessibilidade e escalabilidade do Teste em Sombra podem ser aprimoradas, permitindo que mais equipes adotem essa prática e, assim, aumentem a confiabilidade de suas aplicações.

Os tomadores de decisão devem observar essa tendência como um sinal de que a inovação em processos de implantação pode levar a melhorias significativas na eficiência operacional. A capacidade de testar novas versões em um ambiente controlado antes da implantação total pode ser um diferencial competitivo importante.

Em um contexto mais amplo, essa abordagem se alinha com as tendências globais de inovação e transformação digital, onde a agilidade e a confiabilidade são cada vez mais valorizadas. As empresas que adotam práticas como o Teste em Sombra estão se posicionando para liderar em um mercado em rápida evolução.

Para os leitores da Agentrix, a implementação do Teste em Sombra pela Grab é um exemplo claro de como a inovação pode ser aplicada para resolver problemas práticos no desenvolvimento de software. Essa técnica não apenas melhora a confiabilidade das implantações, mas também oferece uma visão sobre como as empresas podem se adaptar e prosperar em um ambiente digital em constante mudança.

A principal lição a ser retirada dessa iniciativa é que a inovação não se limita apenas a novos produtos ou serviços, mas também se estende a melhorias em processos existentes. A Grab está demonstrando que, ao investir em tecnologia e em práticas de implantação mais eficazes, é possível alcançar um desempenho superior e uma maior satisfação do cliente.

Em conclusão, a Grab está na vanguarda da inovação em implantações de software com sua abordagem de Teste em Sombra. Essa técnica não apenas minimiza o tempo de inatividade, mas também fortalece a confiança nas novas versões de aplicações, permitindo que a empresa continue a oferecer serviços de alta qualidade em um mercado competitivo.