Muitos de vocês já conhecem os benefícios da pilha ELK e por que ela está sendo usada por tantas equipes. Ela não só é essencial para diagnosticar e resolver bugs e problemas de produção, mas também é cada vez mais valiosa para os insights do cliente. Além disso, obter métricas adicionais sobre a integridade e o uso dos sistemas oferece à sua equipe uma forte vantagem competitiva. Enquanto outras empresas lutam para descobrir onde estão falhando, sua equipe pode examinar os dados, adaptar-se e fornecer exatamente o que o seu sistema precisa.
Como gerente, geralmente você está pensando em fornecer uma boa solução de criação de logs para seus engenheiros e equipes de DevOps. Mas você também sabe que há um custo a ser pago nisso. Além do custo da infraestrutura, há atualizações, patches e implantações com os quais lidar. E tudo isso exige tempo, esforço e experiência.
Então, como você pode fornecer uma solução de criação de logs elegante que também seja fácil fornecer manutenção e suporte? Existe uma maneira de obtermos todos os benefícios da pilha ELK sem as dores de cabeça?
Por que a criação de logs é tão importante?
Com o crescimento dos dados da máquina, a criação de logs é cada vez mais importante. Ele é essencial para diagnosticar e solucionar problemas para obter o desempenho ideal da aplicação. Além disso, existem muitas ferramentas que permitem obter dados e métricas de negócios críticos a partir dos seus registros. A criação de logs não serve mais apenas para encontrar problemas. Ele também serve para monitorar seus sistemas.
Não há dúvidas em relação a isso, criar logs é essencial. Então, vamos falar sobre como podemos implementar isso. Um método popular hoje é a pilha ELK. Você pode escolher implantar e gerenciar a pilha ELK por conta própria com versões licenciadas do Apache 2.0 do Elasticsearch e Kibana (até a versão 7.10.2) ou autogerenciar uma alternativa de código aberto para a pilha ELK com OpenSearch, OpenSearch Dashboards e Logstash
Por que eu quero uma pilha ELK?
Só para lembrar, o ELK é uma pilha composta no núcleo de Elasticsearch, Logstash e Kibana. Vamos ver um resumo rápido de cada um.
Elasticsearch: um mecanismo de pesquisa e análise usado para pesquisa de texto completo e para analisar registros e métricas.
Logstash: uma ferramenta de código aberto que ingere e transforma registros e eventos.
Kibana: uma ferramenta de visualização e exploração para revisar logs e eventos.
Quando usados juntos, os componentes da pilha ELK oferecem a capacidade de agregar logs de todos os seus sistemas. Ele não só faz análises em busca de problemas, mas também monitora o uso do sistema e encontra oportunidades de melhoria. A análise de dados e visualização que o ELK oferece é imbatível.
Mas por que você usaria um serviço gerenciado para o ELK? Você tem uma boa equipe. Você não deveria ficar preso a um único provedor de hospedagem. E você deseja a flexibilidade de configurar tudo para seu caso de uso específico. Por que não gerenciar o ELK você mesmo?
Resumindo: é difícil.
O que há de tão difícil em gerenciar minha própria pilha ELK?
Vamos revisar alguns dos motivos pelos quais gerenciar o ELK pode não ser algo que você queira fazer sozinho.
A instalação não costuma ser fácil
Ao olhar para a integração de sistemas, não se esqueça de que a instalação nem sempre é simples. Qual é a melhor configuração? Onde você gerencia seus segredos? De quanto hardware você precisa?
Uma rápida pesquisa na Internet fornece muitos artigos que falam sobre como instalar o ELK. Se você der uma olhada, uma coisa que pode notar é que está longe de ser uma implantação de um clique quando você está começando. Na verdade, existem muitos pré-requisitos. E ou você usa a instalação básica que tem configuração pronta para o uso ou gasta mais tempo pesquisando todas as opções de configuração. Quais são os seus limites de ingestão de dados? Qual é o seu plano de retenção? Por que isso importa?
Agora imagine fazer isso várias vezes para cada ambiente que você possui.
Mesmo se você usar o desenvolvimento de scripts automatizados para tudo, levará muito tempo para que tudo esteja configurado e funcionando perfeitamente. Este é o tempo que não será gasto entregando valor a seus clientes. Com serviços gerenciados como o Amazon OpenSearch Service, a implantação de uma pilha ELK é uma tarefa simples e replicável.
E raramente é rápida
A maioria das empresas tenta levar seu produto ao mercado rapidamente. Mas você não será capaz de fazer isso se for forçado a passar semanas ou até meses preparando sua pilha sua e infraestrutura para a produção.
Qual é o seu processo atual para levar aplicações para a produção? Que teste, verificação e polimento você faz para ter certeza de que está pronto? E se o seu hardware precisa ser configurado de maneira ideal para operações intensivas de gravação, você faz isso antes de entrar em produção? Qual é o seu plano para atualizações?
Se você estiver gerenciando sua própria pilha ELK, estará fazendo tudo isso com infraestrutura e aplicações com os quais não está familiarizado. E serviços como o Amazon OpenSearch Service podem ajudar você a reduzir significativamente os custos de infraestrutura, implementação e manutenção contínua.
Mais tempo é gasto em resiliência
Ao gerenciar sua pilha de ELK, você logo ficará preocupado com a resiliência. O que você deve fazer quando um de seus nós Elasticsearch cair? Ou sua performance Kibana se tornar inutilizável?
Além disso, você pode ter problemas se configurar sua infraestrutura corretamente nas etapas acima. O Logstash e o Elasticsearch consomem muita memória. Se você tentar economizar tempo e dinheiro instalando-os na mesma peça minúscula de hardware, eles se atropelam. E nem falamos ainda sobre um plano para atualizar versões ou monitorar e corrigir problemas de segurança!
A AWS pode ajudar com essas necessidades. Por exemplo, vamos pensar nos seus nós Elasticsearch. Se um nó ficar inativo, o Amazon OpenSearch Service o detecta e substitui para você. É outra coisa com a qual você não quer perder tempo se preocupando.
Basicamente, é bom ter uma equipe grande, porque a autogestão a tornará ainda maior. Se a execução de um cluster Elasticsearch não for essencial para sua linha de negócios, faça com que a AWS gerencie isso para você. É sempre uma boa ideia pagar seus engenheiros para criar valor empresarial, não para gerenciar a pilha ELK.
Então, quais ferramentas ajudam a prevenir dores de cabeça com a pilha ELK?
Se você construir, executar e oferecer suporte ao ELK, é importante lembrar que você não oferece suporte a apenas uma ferramenta. Você precisa se preocupar com três. E entrar em produção trará outras preocupações. Para o que mais você pode acabar precisando oferecer suporte em sua busca pela autogestão?
Por exemplo, para trazer mais resiliência, você pode usar o Kafka para enfileirar os logs. Em tempos de alto tráfego, você não quer perder logs porque sua pilha ELK não foi capaz de acompanhar. Você está pronto para trazer a gestão de Kafka também? Você também pode usar o Redis para ajudar a gerenciar a carga durante os horários de pico. Mas espere, isso não é só outra coisa que você precisa gerenciar? E como você vai extrair as análises de que precisa para que sua equipe possa monitorar o sistema? Você vai fazer o trabalho manual aqui também? Ou você vai instalar e configurar outro sistema para fornecer o monitoramento de que você precisa?
Existe uma alternativa. Você pode usar algo como o Amazon Cloudwatch para ajudar. Ele funciona em conjunto com o Kibana, criando um método fácil de usar para analisar logs.
Por último, mas certamente não menos importante, os serviços gerenciados do Elasticsearch, como o Amazon OpenSearch Service, também podem ajudar na integração de segurança, incluindo suporte VPC, criptografia integrada para dados em repouso e em movimento e autenticação do usuário.
As soluções gerenciadas são adequadas para você?
Muitas empresas decidem que a auto-hospedagem é uma opção. Mas nem todos levam em consideração a quantidade de trabalho, recursos técnicos e conhecimentos necessários para mantê-la funcionando bem. E ninguém quer perder tempo mantendo um sistema instalado e funcionando quando poderia estar entregando ótimos produtos aos clientes.
Mesmo se você estiver pensando na auto-hospedagem, deve avaliar começar com serviços gerenciados, como o Amazon OpenSearch Service, para começar a operar rapidamente. É provável que, depois de experimentá-los, você descubra que serviços gerenciados, como o Amazon OpenSearch Service, permitem que você dedique tempo ao que realmente importa.
O OpenSearch contém determinados códigos do Elasticsearch licenciados pelo Apache do Elasticsearch B.V. e outros códigos-fonte. O Elasticsearch B.V. não é a fonte desse outro código-fonte. ELASTICSEARCH é uma marca comercial registrada da Elasticsearch B.V.
Saiba mais sobre os preços do Amazon OpenSearch Service