A BlackLine é uma corporação de software com base em nuvem que automatiza e controla o processo de fechamento financeiro para empresas. Se o software é interrompido nesse tempo, os livros não podem ser fechados e as empresas ficam sujeitas a penalidades rígidas. Como empresa, queremos tornar esse processo o mais otimizado possível. Um grande componente disso é o desempenho do nosso produto. A BlackLine tem uma série de serviços para monitorar, incluindo aplicativos monolíticos, microsserviços e aplicativos de terceiros. Além do mais, cobrimos uma grande variedade de aplicativos, tecnologias e regiões, bem como as complicações que acompanham tudo isso.
A decisão de reduzir as ferramentas de monitoramento
Estávamos usando, mais ou menos, nove ferramentas para monitorar nosso stack, incluindo AppDynamics, GreyLog, Scom, Fog light, Elastic, LogicMonitor e SquaredUp. Isso significava que tínhamos uma visão fragmentada do nosso estado. Também tínhamos em torno de 5.000 a 10.000 alertas por dia. Com dezenas de milhares de transações por hora, precisávamos de uma solução que pudesse lidar com essa quantidade de dados e mostrar aspectos como monitoramento de desempenho do aplicativo (APM) e mapas de serviço. Também tínhamos outros desafios de segurança em relação aos dados confidenciais que gerenciamos para os clientes.
Durante um incidente, várias ferramentas dão aos engenheiros uma alta carga cognitiva. Além de terem que entender o sistema, os engenheiros precisam correlacionar como as ferramentas estão lhes dizendo sobre as interações e preencher as lacunas. É necessário olhar para várias telas para deduzir informações simples. E a maioria dos incidentes não ocorre quando você está no seu melhor momento, eles acontecem às 3h da manhã. Nessa hora, você não quer abrir 10 telas diferentes para correlacionar dados. Queríamos sistemas que fizessem isso por nós, para que pudéssemos dedicar o nosso tempo a descobrir o problema, não a como fazer para descobri-lo.
Qualquer nova solução de monitoramento tinha de ser implantada rapidamente, com retorno sobre o investimento imediato.
Mudança da cultura relacionada a incidentes
Um dos nossos maiores desafios era o tempo médio de detecção (MTTD). Queríamos detectar os problemas antes dos clientes. Quando você tem muitas ferramentas de monitoramento diferentes, os problemas podem se perder no meio do ruído. Antes, quando lidávamos com os incidentes, gastávamos muito tempo analisando os arquivos e logs para fazer essa correlação e identificar o que era importante. Esses minutos iam se somando. O New Relic permite pular essas etapas. Ele dá o sinal e mostra onde devemos dedicar o nosso tempo.
A diferença entre o New Relic e as ferramentas de monitoramento mais tradicionais é como as informações são apresentadas e como você pode utilizá-las. O New Relic nos ajuda a entender o contexto e a correlação desde o início. Você não precisa depender de historiadores para dizerem como e por que os aplicativos foram criados. Esse tempo é importante para nós, mas ainda mais do que isso, o monitoramento é uma área que não precisamos mais ensinar como se faz. Quando alguém se conecta ao New Relic, no momento em que entra na empresa, logo entende como usá-lo. Em todas as áreas, os usuários veem as mesmas informações apresentadas do mesmo jeito. O mesmo ponto de vista ajuda a construir uma equipe global que não requer que todos fiquem acordados ao mesmo tempo. Eu gosto de trabalhar com uma equipe enxuta e quero que tenham um equilíbrio entre vida profissional e pessoal e as ferramentas que permitem isso.
Mudança para o monitoramento proativo
O APM é uma das funcionalidades mais úteis para um SRE: a capacidade de se aprofundar em um aplicativo e ver como se comporta ao longo do tempo, como chamadas específicas em um ecossistema distribuído são executadas uma relação à outra. Essa funcionalidade reduz a carga cognitiva para os engenheiros porque o sistema de APM nos diz como está interagindo. O APM nos mostra quando há um problema ou se está prestes a haver um, e mais importante que isso, se um caso de uso evoluiu a partir de sua projeção original.
O New Relic ajuda a detectar os problemas antes que cheguem aos nossos clientes. Nos proporciona a capacidade de escrever políticas melhores e processos sobre como nos passar as informações e nos alertar. Também nos ajuda a entender quando estamos prestes a ver uma degradação. Nem todos os incidentes acontecem como um pico, às vezes é um processo gradual até a falha: começamos a usar mais recursos, temos taxas de erros mais altas ou notamos linhas do tempo mais longas nas respostas de nossos aplicativos. Se conseguimos captar esses sinais em meio ao ruído, aos alertas e logs, podemos atacar antes que se tornem um incidente. Quanto mais dados você fornece aos engenheiros, melhor. Eles entendem o código que estão escrevendo e como deve ser seu comportamento, não apenas o conjunto de recursos, mas como isso vai afetar o dia a dia das pessoas que mais valorizamos, que são os nossos clientes.
A BlackLine detectou 13 problemas antes que entrassem em produção, simplesmente usando os agentes de infraestrutura do New Relic, antes mesmo que os alertas fossem definidos. A correlação é surpreendente porque, sem nenhuma configuração, você consegue examinar e ver como o APM se relaciona com os logs até chegar ao SQL. Podemos ver o monitoramento de usuários em tempo real olhando para a camada de dados, apenas com a instalação do agente. Isso nos permite colocar métricas e condições de alerta em torno do SRE, como SLAs. Assim, conseguimos aliviar a pressão antes que seja sentida por nossos clientes.
Retorno sobre o investimento em ferramentas de monitoramento
O orçamento é muito importante para nós. Antes de iniciar qualquer projeto, precisamos garantir que o retorno sobre o investimento seja alto. O que nos chamou a atenção no New Relic é que não precisamos pagar por host. Temos hosts espalhados no mundo inteiro e vários modelos de nuvem diferentes, além de sistemas locais. A ingestão é o melhor modelo que temos porque nossos dados podem vir de qualquer lugar. Quando você cobra por host, ainda mais quando tem dezenas de milhares de hosts espalhados pelo mundo, o orçamento pode sair do controle com muita rapidez. A New Relic nos deu um modelo muito fácil de seguir. Sabemos exatamente pelo que seremos cobrados e temos dashboards predefinidos que nos dizem quais são as nossas tendências e qual é a projeção do nosso gasto futuro.
Ano passado, cerca de 244 problemas levaram 5 horas para serem corrigidos com o New Relic. Estimamos uma economia de US$ 16 milhões por ano com o monitoramento proativo. Se podemos evitar incidentes, então temos uma melhor satisfação e experiencia dos clientes. Com o New Relic, todos os dados podem ser ingeridos para mostrar a correlação por meio do monitoramento de usuário real, do monitoramento sintético, dos logs contextualizados e do distributed tracing.
Novas maneiras de criar aplicativos, escrever código e criar dashboards
O New Relic nos ajudou a evoluir como líderes e contribuintes individuais. Ele mostra como o código precisa evoluir. Ele fornece feedback em tempo real sobre como o produto está sendo utilizado. Isso força você a pensar mais sobre como os clientes usarão seus produtos e, portanto, os seus serviços quando os está criando. Esse loop de feedback tona você um engenheiro melhor. Na próxima vez que você cria e implanta algo em uma plataforma como o New Relic, olha para novos problemas, novas maneiras de criar aplicativos, em vez de repetir a história e cometer os mesmos erros.
Se você conhece o básico de script SQL, pode usar New Relic Query Language (NRQL) para criar dashboards, alertas e alertas como código. A NRQL permite criar como código, então as ações são facilmente repetíveis e estáveis. Em qualquer outra plataforma, não é possível repeti-las exatamente na próxima vez. O New Relic alivia a carga cognitiva. O New Relic fornece o desempenho, as métricas e o monitoramento de que precisamos. Ele fornece a nossos clientes a confiança de que estamos monitorando o serviço pelo qual estão pagando e utilizando as ferramentas adequadamente.
As opiniões expressas neste blog são de responsabilidade do autor e não refletem necessariamente as opiniões da New Relic. Todas as soluções oferecidas pelo autor são específicas do ambiente e não fazem parte das soluções comerciais ou do suporte oferecido pela New Relic. Junte-se a nós exclusivamente no Explorers Hub ( discuss.newrelic.com ) para perguntas e suporte relacionados a esta postagem do blog. Este blog pode conter links para conteúdo de sites de terceiros. Ao fornecer esses links, a New Relic não adota, garante, aprova ou endossa as informações, visualizações ou produtos disponíveis em tais sites.