Como o KeyBank usou o Elastic Stack para criar uma solução de monitoramento empresarial
Este post é uma recapitulação de uma palestra para a comunidade apresentada no Elastic{ON} Tour Chicago em 2019. Quer saber sobre outras palestras como esta? Veja o arquivo da conferência ou descubra quando o Elastic{ON} Tour estará em uma cidade perto de você.
O KeyBank é um dos maiores bancos dos Estados Unidos. E, conforme o banco foi crescendo, o mesmo ocorreu com seu sistema de monitoramento de ponta a ponta. Com mais de 1,1 mil agências e 1,4 mil caixas eletrônicos espalhados por 15 estados, a infraestrutura do KeyBank virou algo como um “design Arca de Noé”, diz Mick Miller, gerente sênior de produto de nuvem nativa do KeyBank. Em outras palavras, eles tinham um par de tudo, resultando em 21 ilhas de dados diferentes. “Descobrimos que nosso tempo médio para resolução era muito longo, mas nosso tempo médio para achar um culpado era bem curto.”
Desenterrar as raízes
Com tantos sistemas e nenhuma maneira fácil de correlacionar os dados entre os silos, a equipe não tinha visibilidade da causa raiz dos problemas. As agências estavam relatando um mau desempenho nas estações de trabalho, e as avaliações do app de serviços bancários no celular estavam em queda livre; entretanto, sem dados de observabilidade correlacionados, eles ficavam de mãos atadas. Além disso, seus sistemas de logging e métricas começaram a ficar sem capacidade de armazenamento, interrompendo todos os novos monitoramentos, e o custo para atualizar a licença do provedor anterior era muito alto para ser sequer considerado.
Enquanto a equipe começou a criar uma enorme lista de solicitações de monitoramento pendentes, consumindo todo o tempo que eles precisavam dedicar ao desenvolvimento de um novo sistema, surgiu um problema ainda mais crítico: a perda de clientes por causa do mau desempenho. Por exemplo, quando alguns clientes iam abrir contas, o sistema travava repetidamente, criando muita espera e uma experiência insatisfatória para o usuário. E quando os clientes em potencial não conseguem abrir uma conta facilmente, eles vão procurar outro banco.
Aumento da observabilidade com o Elasticsearch
Como seus sistemas não forneciam mais os logs e métricas necessários para investigar problemas não relacionados à segurança, o KeyBank recorreu ao Elastic Stack. Usando o cluster de desenvolvimento do Elasticsearch que tinham configurado, eles implantaram o Winlogbeat e o Metricbeat em milhares de estações de trabalho em sua rede de agências e começaram a indexar dados de logs e métricas. Alguns dias depois, eles tinham muitas informações e identificaram três causas raízes: E/S de disco consistentemente alta, pouca memória disponível e uma rede completamente saturada.
Enquanto mais funcionários do KeyBank visualizavam dados de tempo de resposta no Kibana, o senso de urgência aumentava. A equipe precisava iniciar um esforço maciço de atualização em todo o sistema, e a gerência deu luz verde para implantar o primeiro cluster de produção. O influxo de dados de observabilidade deu a eles a visibilidade necessária, mas gerou outro problema: o fluxo estava inundando o ambiente de desenvolvimento. Eles perceberam que precisavam fazer um planejamento para o crescimento.
“A má notícia é que é realmente impossível prever a sua carga de trabalho com precisão. A boa notícia, porém, é que aprendemos ao longo do caminho que tínhamos de mudar. Por isso, projetamos a arquitetura do nosso sistema para garantir que pudéssemos reconfigurar os nossos sistemas sem tempo de inatividade.” — Mick Miller, KeyBank
Ampliação com precisão cirúrgica
Conforme suas necessidades de monitoramento aumentam, o KeyBank vai realizando a evolução do sistema de monitoramento do Elasticsearch usando uma abordagem iterativa para ampliar seu sistema de ponta a ponta. Após alguns ajustes finos, sua arquitetura agora segue alguns princípios fundamentais que lhes permitem ser “cirúrgicos” sobre as mudanças que efetuam, de forma que não afetem o sistema inteiro. Cada uma das camadas lógicas deve ser:
- Ampliável independentemente
- Altamente disponível
- Tolerante a falhas
Felizmente, essas são áreas nas quais o Elasticsearch — e sua arquitetura horizontal — demonstra sua excelência. Todo o processo de ponta a ponta do KeyBank, desde a ingestão até a indexação, leva menos de meio segundo. Portanto, se eles não cumprirem esse SLA, tudo o que precisarão fazer será ampliar. “Ter todos os dados em um só lugar proporciona todos esses benefícios inesperados, e achamos que o Elasticsearch é uma ótima solução para isso”, diz Miller.
Saiba mais sobre como (e quando) ampliar o seu sistema do Elasticsearch assistindo à apresentação How KeyBank Used Elastic to Build an Enterprise Monitoring Solution (Como o KeyBank usou a Elastic para criar uma solução de monitoramento empresarial) do Elastic{ON} Tour Chicago de 2019. Você também verá como eles implementaram a automação e a virtualização balanceada em relação aos recursos físicos de computação — e economizaram mais de US$ 5 milhões.