Blog

Grafana: Illuminating Kubernetes clusters

O desenvolvedor Torkel Ödegaard descreve a evolução do projeto Grafana, que é uma ferramenta de código aberto criada para auxiliar os desenvolvedores na visualização das atividades dentro de ambientes de nuvem distribuída.

shutterstock 987349 three white clouds in a blue sky
Imagem: stephmcblack/Flickr

Em 2014, durante o período em que a popularidade dos contêineres, Kubernetes e computação distribuída estava crescendo na indústria de tecnologia, Torkel Ödegaard desempenhava o cargo de engenheiro de plataforma no eBay Suécia. Assim como outros inovadores da área de devops, Ödegaard enfrentava desafios com a nova abordagem de microsserviços e contêineres, tentando lidar com as complexas operações do Kubernetes e superar as dificuldades de aprendizagem associadas a ele.

Como um engenheiro que se esforça para facilitar a entrega contínua de forma segura para os desenvolvedores, Ödegaard precisava de uma maneira de monitorar o sistema Kubernetes e o comportamento dos usuários. Infelizmente, não havia um guia claro sobre como coletar, agregar e visualizar os dados de telemetria desses sistemas. A pesquisa de Ödegaard o levou a uma ferramenta emergente de monitoramento chamada Graphite, juntamente com outra ferramenta chamada Kibana, que simplificava a criação de visualizações.

“De acordo com o Ödegaard da InfoWorld, com a Graphite, é possível enviar facilmente métricas detalhadas da sua aplicação para obter insights em tempo real sobre seus comportamentos internos. Isso proporciona uma sensação visualmente emocionante e gratificante, aumentando a confiança em relação ao desempenho e comportamento das aplicações e serviços após mudanças de código ou novas implantações.”

Ödegaard foi solicitado a iniciar seu próprio projeto lateral, pois achava difícil utilizar o Graphite devido à complexidade da linguagem de consulta e dos processos para construir estruturas. No entanto, ele percebeu que ao combinar o poder de monitoramento do Graphite com a facilidade do Kibana, seria possível criar visualizações mais acessíveis e úteis para os desenvolvedores em sistemas distribuídos.

Assim surgiu a ideia por trás do Grafana. Atualmente, Grafana e outras ferramentas de monitoramento não ocupam apenas um espaço no cenário de observação, mas preenchem uma lacuna que as ferramentas tradicionais de monitoramento de rede e sistemas jamais previram.

Um sistema de operação baseado na nuvem.

Nas últimas décadas, houve avanços significativos na evolução da infraestrutura. Inicialmente, passamos de servidores individuais de alta capacidade para utilizar frotas de servidores Linux mais simples em data centers. Em seguida, demos um novo salto ao considerar nossa infraestrutura como uma combinação de recursos de nuvem acessíveis por meio de APIs.

RELACIONADO:  A tendência futura da tecnologia empresarial ainda é a utilização de softwares de código aberto.

Durante o desenvolvimento dos sistemas distribuídos impulsionados pela combinação, simplificação e automatização, a metáfora do “sistema operacional” tem sido frequentemente utilizada. Por exemplo, a Sun Microsystems popularizou o slogan “A rede é o computador.” Matei Zaharia, da UC Berkeley AMPLab, conhecido por criar o Apache Spark e co-criar o Apache Mesos, atual CTO e co-fundador da Databricks, afirmou que “o data center necessita de um sistema operacional.” Atualmente, o Kubernetes é comumente mencionado como um “sistema operacional na nuvem.”

Alguns críticos argumentam que chamar o Kubernetes de um sistema operacional é equivocado, pois destacam as diferenças entre o Kubernetes e os sistemas operacionais tradicionais.

A comparação é válida. Assim como não é necessário indicar ao seu laptop qual núcleo deve ser utilizado ao abrir um aplicativo, também não é preciso especificar ao servidor quais recursos devem ser utilizados a cada solicitação de API. O sistema operacional automatiza esses processos. Da mesma forma, o Kubernetes e outros softwares de infraestrutura nativa em nuvem agem como um sistema operacional, abstraindo as operações de baixo nível e possibilitando a utilização de sistemas distribuídos.

O contraponto de toda essa incrível abstração e automatização é que compreender o funcionamento interno do Kubernetes e de sistemas distribuídos exige uma grande coordenação que acaba recaindo sobre o usuário. Kubernetes não foram originalmente desenvolvidos com uma interface gráfica intuitiva que apresenta automaticamente as métricas de desempenho do sistema, e as ferramentas de monitoramento convencionais não foram criadas para consolidar todos os dados de telemetria gerados por esses sistemas altamente complexos.

De nenhum a 20 milhões de utilizadores em uma década.

Os desenvolvedores geralmente associam Grafana à criação e visualização de painéis de controle. Sua eficácia como ferramenta de visualização e sua habilidade de lidar com uma variedade de dados fizeram dele um projeto de código aberto amplamente utilizado, especialmente em ambientes de computação distribuída e na nuvem.

Os entusiastas usam a ferramenta de visualização Grafana em uma variedade de situações, como monitorar atividades das abelhas em uma colmeia e acompanhar as pegadas de carbono em estudos científicos. Grafana foi empregada no centro de controle da SpaceX durante o lançamento do Falcon 9 em 2015, e também foi utilizada pela Agência de Exploração Aeroespacial do Japão em uma missão de pouso lunar. Essa tecnologia está presente em diversos contextos que requerem visualização de dados.

RELACIONADO:  As melhores opções de plugins de associação de membros para o seu site.

No entanto, a verdadeira importância do Grafana reside na transformação que trouxe para a área de observabilidade. Antes da sua introdução, esse campo era dominado por bancos de dados de back-end proprietários e linguagens de consulta restritas que limitavam os usuários a determinados fornecedores, tornando a mudança para outros fornecedores custosa e restringindo o acesso a diferentes fontes de dados.

Ödegaard credita em grande parte o sucesso inicial do Grafana ao sistema de plugins que ele desenvolveu nos primeiros dias da plataforma. Após ter criado as fontes de dados do InfluxDB e Elasticsearch para o Grafana, membros da comunidade passaram a contribuir com integrações para o Prometheus e OpenTSDB, resultando em uma série de plugins comunitários para o Grafana. Atualmente, o projeto suporta mais de 160 fontes de dados externas, adotando o que ele descreve como uma abordagem inclusiva para a observabilidade.

O Grafana colabora com outros projetos de código aberto, como o OpenTelemetry, visando oferecer modelos padronizados simples para todos os tipos de dados de telemetria. Esse esforço busca unificar diferentes tipos de dados de telemetria, como logs, métricas, vestígios e perfis, sob uma abordagem comum. A comunidade do Grafana é unida por uma filosofia de valorização dos próprios dados, o que tem atraído conectores e integrações com diversos bancos de dados e tipos de dados de telemetria.

Próximos desenvolvimentos do Grafana: Adição de novas formas de visualização e fontes de dados de monitoramento.

Ödegaard enfatiza que tem se dedicado intensamente ao aprimoramento do projeto, com foco especial nas funcionalidades de visualização oferecidas pela Grafana. Ele destaca o trabalho contínuo na criação de uma nova arquitetura de aplicativos React, permitindo que desenvolvedores externos construam aplicativos semelhantes aos painéis presentes na Grafana.

Além de ampliar as possibilidades para que terceiros desenvolvam visualizações com base nessa estrutura de aplicativos, os próprios painéis estão sendo aprimorados com mais inteligência.

Ödegaard mencionou que uma tendência significativa é a possível obsolescência da criação manual de painéis de instrumentos. Ele ressaltou que os desenvolvedores devem ser capazes de gerá-los automaticamente com base em diversos critérios, como tipos de dados, relacionamentos de equipe e conhecimento em linguagem de consulta, bibliotecas e linguagens de programação utilizadas. O objetivo é tornar a experiência mais dinâmica, reutilizável e componível.

RELACIONADO:  As GPUs Nvidia H100 de núcleo tensor estão chegando à Oracle Cloud.

Ödegaard percebe que as funcionalidades de visualização do Grafana estão progredindo para novas formas de decomposição – permitindo a análise dos gráficos para compreender sua composição e desagregar os dados em diferentes dimensões de componentes e causas fundamentais.

A evolução da observação da infraestrutura na nuvem continuará a incorporar novas formas de abstração e coleta de dados. A utilização de abstração de nível kernel eBPF está mudando a maneira como os elementos básicos do kernel podem ser programados pelos engenheiros de plataforma. O projeto Cilium, que faz parte da incubação da Cloud Native Computing Foundation, desenvolveu uma camada de abstração de rede que possibilita maior integração e abstração em ambientes de múltiplas nuvens.

Esta é apenas a fase inicial. A inteligência artificial está trazendo constantemente novas perspectivas para a interseção entre conceitos básicos de linguagem de programação, tecnologia especializada e a importância de os humanos compreenderem o funcionamento das tarefas de IA altamente dinâmicas, que demandam muitos recursos computacionais para serem executadas.

Você redige e acompanha.

À medida que Kubernetes e seus projetos associados consolidam o modelo operacional da nuvem, Ödegaard prevê que a responsabilidade de monitorar e observar a saúde dos sistemas recairá cada vez mais sobre os operadores humanos, tornando a observabilidade uma habilidade crucial que diferenciará os profissionais mais requisitados.

“É essencial ser responsável pelo software que você cria, pensando não apenas em seu desempenho e estabilidade, mas também em seu impacto nos negócios, incluindo a monitoração e medição de seu comportamento.”

Para um sistema operacional em nuvem em constante evolução, quem melhor do que Ödegaard para ressaltar a importância da capacidade humana de pensar de forma crítica sobre os sistemas fundamentais? Além de ser entusiasta do programa, ele demonstra um grande interesse pela história natural e evolução, devorando todos os livros disponíveis sobre esses temas.

Se você não se maravilha com a evolução, algo está fora do comum. É a maneira como a natureza se desenvolve. Até que ponto pode ser mais surpreendente?

Artigos relacionados

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button