Por Que Isso é Importante

Feature flags são a base de estratégias modernas de deploy. Até agora, configurar divisões ponderadas no Vercel Flags exigia configuração manual no dashboard ou ferramentas externas. O novo comando vercel flags split traz esse poder direto pro seu terminal, facilitando a automação em pipelines CI/CD.

Isso é útil para:

  • Rollouts graduais (ex.: 5% dos usuários veem um novo checkout)
  • Testes A/B com agrupamento preciso por usuário
  • Lançamentos canários vinculados a atributos do usuário

O comando faz parte da versão mais recente do Vercel CLI. Confira o anúncio oficial para mais detalhes.

Como Funciona

A divisão é definida por flag e por ambiente. Você especifica um atributo de agrupamento (como user.id ou session_id) e atribui pesos a cada variante. O total deve ser 100.

Modo Interativo

Basta rodar:

vercel flags split redesigned-checkout

O CLI vai pedir o ambiente, atributo e pesos.

Modo Não Interativo (Para Scripts)

Passe tudo como flags:

vercel flags split redesigned-checkout \
  --environment production \
  --by user.id \
  --weight off=95 \
  --weight on=5

Isso configura uma divisão 95/5 para a flag redesigned-checkout em produção, agrupando por user.id. A variante off recebe 95% do tráfego, on recebe 5%.

Vercel CLI terminal showing weighted traffic split configuration for feature flags Programming Illustration

Exemplo Prático: Lançamento Canário

Imagine que você está lançando um novo fluxo de pagamento. Quer testar em um grupo pequeno antes do lançamento completo.

vercel flags split new-payment-flow \
  --environment production \
  --by user.id \
  --weight old=90 \
  --weight new=10

E no código da sua aplicação:

import { get } from '@vercel/flags';

const paymentFlow = await get('new-payment-flow');
if (paymentFlow === 'new') {
  // renderiza novo componente de pagamento
} else {
  // renderiza componente antigo
}

Monitore taxas de erro e conversão. Se tudo correr bem, ajuste a divisão para 50/50 e depois 100% new.

Limitações e Cuidados

  • Consistência é chave: O atributo de agrupamento deve ser estável para cada usuário (ex.: user.id). Usar ip pode causar experiências inconsistentes se o IP mudar.
  • Pesos devem somar 100: O CLI valida isso, mas verifique ao usar scripts.
  • Por ambiente: Divisões são por ambiente. Configure cada um separadamente (staging, produção, etc.).
  • Sem ajuste em tempo real: Mudanças entram em vigor na próxima avaliação da flag, não instantaneamente. Planeje um pequeno atraso de propagação.

Developer using Vercel Flags split command in production environment Algorithm Concept Visual

Comparação com Outras Plataformas

FuncionalidadeVercel Flags (CLI)LaunchDarklySplit.io
Configuração de split via CLI✅ Nativo❌ Apenas API❌ Apenas API
Agrupamento por atributo✅ Sim✅ Sim✅ Sim
Modo interativo✅ Sim❌ Não❌ Não
Amigável para CI/CD✅ Sim✅ Sim (API)✅ Sim (API)
Necessita de dashboard❌ Não✅ Sim✅ Sim

A abordagem da Vercel é única por eliminar a necessidade de sair do terminal. Para equipes que vivem no CLI, isso é um enorme ganho de produtividade.

Próximos Passos

  1. Atualize seu Vercel CLI (vercel update).
  2. Teste o modo interativo em uma flag de teste.
  3. Integre o comando não interativo no seu pipeline CI/CD para deploys canários.

Para comparações mais aprofundadas, veja nossa análise sobre Cloudflare Sandboxes and Containers Are Now GA A Deep Dive into the New Features e Beyond Notebooks Accelerating ML/AI Development with Metaflows New Spin Feature.

Considerações Finais

Divisões ponderadas de tráfego pelo CLI podem parecer uma adição pequena, mas sinalizam uma mudança em direção a um gerenciamento de features focado no desenvolvedor. Ao reduzir o atrito, a Vercel facilita a adoção de práticas seguras de deploy. Teste na sua próxima flag!

Diagram of A/B test traffic distribution with 95/5 weight split on user.id System Abstract Visual

Este conteúdo foi elaborado com o auxílio de ferramentas de IA, com base em fontes confiáveis, e revisado pela nossa equipe editorial antes da publicação. Não substitui o aconselhamento de um profissional especializado.