![Uma jornada de código aberto para ambientes nativos de nuvem mais ecológicos](https://optimuscloud.com.br/wp-content/uploads/2024/03/1710945240_Uma-jornada-de-codigo-aberto-para-ambientes-nativos-de-nuvem-150x150.jpg)
Uma jornada de código aberto para ambientes nativos de nuvem mais ecológicos
20 de março de 2024![KubeCon24: alternativa mais simples da VictoriaMetrics ao Prometheus](https://optimuscloud.com.br/wp-content/uploads/2024/03/KubeCon24-alternativa-mais-simples-da-VictoriaMetrics-ao-Prometheus-150x150.png)
KubeCon24: alternativa mais simples da VictoriaMetrics ao Prometheus
20 de março de 2024Os custos de observabilidade estão explodindo à medida que as empresas se esforçam para oferecer a máxima satisfação do cliente com alto desempenho e disponibilidade 24 horas por dia, 7 dias por semana.
A despesa anual global com a observabilidade em 2024 é bem superior a 2,4 mil milhões de dólares e espera-se que atinja os 4,1 mil milhões de dólares até 2028. Numa base de empresa individual, isto reflecte-se em custos de observabilidade que variam entre 10% e 30% dos gastos globais com infra-estruturas.
Estes custos irão, sem dúvida, aumentar à medida que os ambientes digitais se expandem e se tornam cada vez mais complexos. Como tal, é imperativo que as empresas conscientes dos custos avaliem a melhor forma de reduzir estes custos, mantendo ao mesmo tempo a excelência geral na observabilidade.
Vamos discutir por que o software de observabilidade é tão procurado, como implementar uma abordagem DIY de otimização de custos e os critérios para selecionar uma opção pronta para uso que garanta que os custos de observabilidade permaneçam os mais baixos possíveis.
Por que a observabilidade é tão cara?
A causa mais óbvia para o crescimento dos custos de observabilidade é que as empresas devem atender aos consumidores de hoje, que esperam acesso extremamente rápido, sob demanda e 24 horas por dia, 7 dias por semana, a qualquer coisa digital. Monitorar a integridade do sistema é fundamental para as empresas modernas. Mas, paralelamente, vários factores tecnológicos e organizacionais aumentaram os custos de observabilidade.
Vamos dar uma olhada em alguns deles:
Microsserviços
Os microsserviços produzem mais dados observáveis do que suas aplicações monolíticas equivalentes. Isto é especialmente significativo para dados de rastreamento que mostram como os dados fluem através do aplicativo através de todas as interfaces intersectadas. Quanto mais microsserviços existem, mais dados existem – com interdependências cada vez mais complexas.
Servidores Efêmeros
No passado, um servidor funcionava durante anos; mas em nosso mundo centrado na nuvem, a capacidade de ativar servidores sob demanda e o aumento do uso de instâncias spot, juntamente com a própria natureza dos microsserviços e da conteinerização, tornam os servidores efêmeros bastante comuns. Isto também aumenta a complexidade da infraestrutura e aumenta os volumes de dados.
SRE e Engenharia do Caos
Os engenheiros de confiabilidade de sites (SREs) geralmente usam a engenharia do caos para testar aplicativos, introduzindo falhas propositalmente para verificar a resiliência. Por exemplo, os SREs destruirão um servidor apenas para ver como o sistema responderá. As falhas resultantes normalmente não são vistas no comportamento normal do dia a dia do sistema; portanto, mais uma vez, os dados de observabilidade são aumentados para cobrir esses modos e cenários de teste.
Indexação e armazenamento a quente
Como resultado dos fatores acima, as soluções de observabilidade devem ingerir e processar enormes quantidades de dados para que as empresas possam entender onde existem problemas e garantir que a saúde de seus aplicativos ou sites não seja comprometida. No entanto, isso normalmente envolve a indexação de dados para acelerar as operações de pesquisa e consulta e, em seguida, armazenar os dados em armazenamento quente para recuperação rápida e frequente. Isso aumenta diretamente os custos de observabilidade, principalmente porque o armazenamento a quente é extremamente caro.
O volume de dados não é o problema – o gerenciamento de dados é
Embora alguns fornecedores de observabilidade recomendem limitar a ingestão de dados para reduzir custos, esta estratégia pode prejudicar a observabilidade, com falha na detecção de problemas de produção, perda de dados valiosos necessários para análise de causa raiz e aumento do risco de não conformidade com vários requisitos regulatórios.
Antes de discutirmos como você pode gerenciar melhor seus dados e custos associados, vejamos algumas estatísticas impressionantes sobre o consumo de dados de mais de 1.000 empresas.
![](https://optimuscloud.com.br/wp-content/uploads/2024/03/1710952270_991_Uma-estrutura-DIY-para-otimizar-custos-de-observabilidade.png)
Fonte: Coralogix
Observabilidade faça você mesmo
Adotar a abordagem DIY pode funcionar melhor para muitas empresas com equipes experientes de DevOps e SRE. Aqui está o que você precisa saber ao construir a observabilidade DIY.
Comece com a estrutura certa para uma observabilidade econômica DIY
Dada a complexidade do gerenciamento de dados, é fácil se perder nos detalhes. No entanto, para reduzir seus custos de observabilidade e mantê-los baixos, basta começar com a abordagem certa.
A redução dos custos de observabilidade não precisa ser um projeto de consultoria grande ou complexo. As principais etapas a seguir:
Determine como os dados são usados
Aqui estão três categorias que você pode usar para se organizar:
- Dados que você pesquisa diariamente
- Dados que você usa para painéis e alertas, mas não pesquisa com frequência
- Dados que você mantém apenas para fins de conformidade
Muitas ferramentas de código aberto lhe darão algumas dicas sobre o que está sendo mais pesquisado. Por exemplo, os logs de consulta do Prometheus podem informar quais consultas estão sendo executadas mais e, portanto, quais métricas de série temporal são mais importantes.
À medida que avança, você pode querer expandir as categorias acima, já que sua organização, sem dúvida, tem muitos cenários diferentes de uso de dados. No entanto, começar com esta categorização básica é essencial, pois iremos exigi-la mais tarde.
Abandone o padrão de indexação de tudo
Uma tendência típica das soluções de observabilidade é indexar todos os dados ingeridos em uma ferramenta como o OpenSearch e depois, com o tempo, movê-los para opções de armazenamento mais baratas, como o S3. Nem todos os dados ingeridos serão usados em pesquisas rápidas, com 30% dos dados nunca sendo usados. A indexação é muito cara, por isso deve ser limitada aos dados que serão pesquisados com frequência.
Esse padrão é típico porque é fácil configurar o fluxo. No entanto, ao definir casos de uso, as equipes podem criar um padrão de roteamento de dados mais inteligente que categoriza os dados antes de determinar o que deve ser feito com eles.
Roteie os dados para o armazenamento apropriado
Depois que os casos de uso de dados e as estatísticas estiverem implementados, categorizar os dados se tornará mais simples. As categorizações permitem que as equipes entendam quais dados precisam ser consultados rapidamente, quais dados nunca serão consultados e tudo mais. Com base na categoria, você pode decidir encaminhar seus dados para serem arquivados, armazenados em discos de estado sólido (SSDs) de armazenamento quente ou talvez uma opção intermediária, como volumes magnéticos do Amazon Elastic Block Store (EBS).
Com esse fluxo, apenas dados altamente importantes e pesquisados com frequência serão indexados e armazenados em SSDs (armazenamento quente) caros. Por outro lado, os dados de conformidade que não agregam valor operacional podem ser enviados diretamente para armazenamento de arquivo barato. Os dados necessários para uso intermitente podem ser armazenados em volumes EBS magnéticos.
Não faça a coisa de reindexar
A reindexação é feita quando os dados já estão armazenados no arquivo, mas você precisa acessá-los novamente. Por exemplo, os dados regulamentares podem ser arquivados regularmente, mas uma vez por ano, você precisa deles para gerar um relatório. Este ato de reindexação é muito caro, mesmo que os dados sejam eventualmente excluídos do armazenamento quente. Além disso, as consultas operacionais ficam mais lentas ao adicionar esses dados em massa de volta ao índice.
Como alternativa a esta reindexação dispendiosa e ineficiente, os dados arquivados devem ser guardados num formato de código aberto e de fácil acesso, como Parquet ou CSV. Ao fazer isso, o arquivo pode ser consultado diretamente sem indexação. Isso reduz o custo da sua conta de observabilidade, mas, mais importante, mantém os dados históricos e operacionais separados e mantém as consultas de dados operacionais funcionando rapidamente.
Minimize a geração de dados sempre que possível
Pare de produzir logs, rastreamentos e métricas desnecessários. A categorização que descrevemos ajudará você a entender quais dados são úteis e quais não são.
Os dados necessários para conformidade regulatória ou tranquilidade devem ser colocados diretamente em armazenamento de arquivo de baixo custo. Na maioria das vezes esses dados não serão usados, mas poderão ser consultados diretamente no arquivo, conforme descrito na seção anterior.
Converter logs e spans em métricas
Nenhuma regra diz que você precisa ingerir dados em sua forma original. Os logs são especialmente caros para armazenar devido ao seu tamanho. Nem todos os campos dos dados de log são úteis. Se um log tiver campos úteis limitados, considere convertê-los em métricas de série temporal e retire o log original do armazenamento. As métricas são pequenas em comparação e são mais baratas para armazenar. As equipes de DevOps também recebem os mesmos insights porque esses dados ainda podem ser indexados; há significativamente menos dados para indexar, o que otimiza o custo.
Uma exceção às métricas de baixo custo de armazenamento é quando elas têm alta cardinalidade. Essas métricas possuem um rótulo com muitos valores distintos, como uma métrica de endereços IP onde milhões de usuários são suportados. Cada valor distinto em um rótulo fornece uma maneira diferente de consultar os dados. Isso retarda suas consultas, aumenta os custos e resulta em interrupções mais duradouras. As métricas geralmente funcionam melhor com muitas séries temporais diferentes do que com uma única série temporal com um grande número de rótulos de alta cardinalidade e alta dimensionalidade.
Para evitar alta cardinalidade, as equipes podem agregar métricas para reduzir rótulos, remover rótulos desnecessários ou gerar métricas menores com menor cardinalidade. Estas ações ajudarão a reduzir custos e são fundamentais para manter elevados os padrões de desempenho.
Observabilidade pronta para uso
Às vezes, a sobrecarga operacional de gerenciar sua própria solução de observabilidade é muito alta. Essa sobrecarga pode desviar o foco da sua equipe e sobrecarregá-la com a manutenção trabalhosa da pilha de observabilidade e da infraestrutura subjacente. Se você estiver considerando uma solução de observabilidade gerenciada, as seções a seguir fornecem algumas orientações gerais.
O que procurar em um fornecedor de observabilidade
Ao analisar as opções de observabilidade SaaS, a otimização de custos será diferente dependendo do provedor, de sua arquitetura e de como os insights são gerados em seu sistema proprietário.
Aqui estão algumas dicas para escolher uma solução econômica.
Faça as perguntas certas sobre custos
Para consumidores que utilizam provedores de observabilidade SaaS, deve haver uma maneira de otimizar custos em cada sistema. Quer você já tenha se integrado a um provedor ou esteja escolhendo um pela primeira vez, pergunte sobre otimização de custos de uma forma específica. Pergunte: “Quais ferramentas você oferece aos clientes para otimizar custos?”
A resposta fornecida pelo fornecedor esclarecerá em qual ferramenta ele investiu e construiu, em vez de colocar o ônus da otimização de custos diretamente sobre você, o consumidor. Como os clientes não têm tanto controle sobre o fluxo quando utilizam uma solução de terceiros, uma resposta típica à redução de custos é simplesmente reduzir o volume de dados. Como discutimos, essa não é a melhor opção, pois você também pode perder informações sobre a integridade do sistema de software e é necessário um tempo significativo de engenharia para implementar essas reduções (aumentando ainda mais seus custos). Portanto, se as ferramentas reais de otimização de custos não estiverem integradas na oferta, o fornecedor provavelmente não deseja que você otimize seus custos e, como tal, devem ser evitadas.
Entenda o modelo de preços do fornecedor
Isso pode exigir mais esforço, mas é fundamental ler as letras miúdas. Se um fornecedor tiver muitos serviços agrupados que forçam você a comprar recursos desnecessários, preços por host que não diferenciam o tamanho do host ou muitas taxas diferentes e não padronizadas para cada recurso, você deve pensar duas vezes.
Procure um fornecedor que forneça preços simples e claros para que você possa estimar facilmente os custos e evitar custos excessivos.
A postagem Uma estrutura DIY para otimizar custos de observabilidade apareceu pela primeira vez em The New Stack.