rollfuse
← Voltar ao blog

Feature Flags com Prometheus: o que está de fato conectado

"Feature flags com Prometheus" geralmente significa uma coisa específica na prática: usar uma métrica que já vive no Prometheus pra decidir se o rollout de uma flag deveria continuar avançando, pausar, ou reverter. Vale ser precisa sobre isso, porque uma plataforma de feature flag e um banco de métricas são dois sistemas diferentes fazendo dois trabalhos diferentes. Conectar os dois é uma integração deliberada, não um modo embutido que nenhum dos dois vem por padrão.

O que cada lado faz de fato

O trabalho de uma plataforma de feature flag é targeting e exposição: quem vê qual variação, em qual percentual, estagiado como. O trabalho do Prometheus é armazenamento e consulta de métrica: o que aconteceu, agregado e consultável via PromQL. Nenhum dos dois foi construído pra fazer o trabalho do outro. Uma plataforma de feature flag que afirma "suportar Prometheus" geralmente quer dizer uma de duas coisas: ela consegue empurrar suas próprias métricas operacionais pro Prometheus (útil pra observabilidade, irrelevante pra decisões de rollout), ou ela tem algum mecanismo pra um valor derivado do Prometheus guiar uma decisão de rollout, que é a capacidade bem mais rara e útil.

Como essa conexão se parece concretamente

O rollfuse não faz scrape do Prometheus diretamente, sendo direta sobre isso desde já. O que ele tem é um modelo de guardrail onde o valor de uma definição de métrica, não importa como chegou lá, pode abortar um rollout automaticamente quando viola um limite. Colocar um resultado de PromQL nesse pipeline é o equivalente a duas chamadas de API de integração, não uma feature de plataforma pra ativar:

  1. Defina a definição de métrica que o rollfuse deveria avaliar.
  2. Coloque o resultado do PromQL nela: empurrado numa programação que bate com sua janela de avaliação, ou puxado via um Connector configurado contra a própria API de query do Prometheus.

Uma vez conectado, o rollout em estágios da flag se comporta exatamente como qualquer outro rollout embasado em guardrail: o valor derivado do Prometheus é avaliado na programação, e uma violação reverte a exposição da flag automaticamente.

A versão honesta de "suporta Prometheus"

Se a história de Prometheus de uma plataforma é "você pode apontar um webhook ou API genérica pra ele", isso é uma capacidade real e útil. Só não é a mesma afirmação de "falamos PromQL nativamente" ou "conecte seu Prometheus em um clique". Vale checar qual das duas você está de fato comprando antes de desenhar um processo de rollout em cima disso. O buraco entre as duas geralmente não é grande em esforço (um script pequeno ou um Connector mapeado), mas é real, e pular ele na fase de planejamento é como um time acaba com um guardrail que deveria estar observando uma métrica que nunca chegou de fato.