Conheça o Apache Flink – New Relic

Conheça o Apache Flink – New Relic

A New Relic tem a política de implementar as mais modernas e sofisticadas estruturas de softwares e programação, por isso seus desenvolvedores são altamente capacitados para responder aos constantes desafios da empresa.

Um dos desafios mais recentes da equipe de contas da New Relic exigiu a implementação do Apache Flink como estrutura primária. A estimativa era reduzir consideravelmente o tempo para solucionar as necessidades de engenharia do projeto.

De acordo com Ruby Andrews, desenvolvedora de software e membro da equipe de experiência de contas da New Relic, o resultado de desempenho no Apache Flink impressionaram os profissionais.

Uma breve descrição do Flink

Flink é uma estrutura de processamento de fluxo de dados de código aberto com alta precisão do consumo de dados.

Além disso, a ferramenta consegue se recuperar rapidamente de erros e conflitos, essas foram as principais razões que levaram a New Relic e a equipe de experiência de contas criar um projeto-piloto com o Apache Flink.

A princípio, os desenvolvedores criaram dois serviços no Flink utilizando os aplicativos Usage Calculator e Usage Stamper para rodar em produção.

Dessa forma a equipe pôde acelerar o Flink correspondendo às expectativas de solucionar alguns problemas complexos que surgiram no processo e atender as necessidades exigidas do projeto.

Por dentro do Flink

O aplicativo Usage Calculator desenvolvido pela equipe de desenvolvedores é responsável por ler e interpretar os tópicos gerados pelo Apache Kafka. Dentro dos tópicos ficam alocados os metadados de uso dos agentes APM, Infrastructure e Shynthetics da New Relic.

Depois de ler os tópicos, o Usage Calculator agrega os dados de uso gerados nas últimas 24 horas e gera mais um tópico dentro do Apache Kafka.

A função do Usage Stamper interpreta os dados gerados e os agrega de acordo com a hierarquia da conta utilizada em tópicos armazenados no New Relic Database.

Programando no Flink

O projeto piloto da New Relic com o Flink da Apache impressionou os desenvolvedores pela simplicidade em programar e inserir códigos nos aplicativos. A programação do Usage Calculator seguiu o seguinte modelo.

  • Leitura: nesse processo o aplicativo consome dados nos tópicos do Kafka direto dos agentes;
  • Processo: aqui ele passa a executar uma série de operações que calculam o uso diário;
  • Gravação: após recolher os dados, o Usage Stamper armazena os tópicos no Database;

O Flink se demonstrou surpreendente ao constatar que em apenas um dia de trabalho a equipe de experiência de contas conseguiu sair do zero absoluto para uma primeira versão beta.

Com aproximadamente cem linhas de comandos foi possível criar um sistema utilizando dois aplicativos interdependentes e autônomos.

Vantagens adicionais

O Flink utiliza um gerenciador de tarefas paralelo ao aplicativo que coordena outros gerenciadores dentro da operação, ele otimiza a execução do aplicativo detectando dados ociosos.

Esses dados são nomeados como “lazy evaluation” e permitem que a equipe de desenvolvedores manipulem e configurem esse conjunto de dados nos monitores de acordo com a necessidade do projeto.

Além disso, o aplicativo permite gerar operações paralelas em massa com um gerenciador de tarefas, que coordena cada operação definida pelo usuário.

Tanto a equipe de experiência de contas, quanto a New Relic aprovou o Apache Flink destacando seu potencial para otimizar e facilitar a programação de novos projetos.

Ainda há muita coisa para aprender sobre a ferramenta, e mesmo sem dominar completamente o Flik, a equipe da New Relic foi capaz de resolver questões complexas de maneira simples além de desenvolver uma versão beta em apenas um dia de trabalho.

Deixe uma resposta

Fechar Menu