Descrição geral da gestão de funcionalidades

O gerenciamento de recursos é uma prática de desenvolvimento de software que separa a liberação de recursos da implantação de código e permite alterações rápidas na disponibilidade de recursos sob demanda. Utiliza uma técnica chamada feature flags para administrar dinamicamente o ciclo de vida de uma funcionalidade, permitindo-lhe ativar ou desativar funcionalidades, direcionar para utilizadores específicos ou implementá-la gradualmente, tudo isto sem ter de redistribuir a sua aplicação.

Capacidades chave

O Azure App Configuration Feature Management suporta três principais cenários de utilização de flags de funcionalidade, consoante o que pretende alcançar: Switch, Rollout e Experiment. Cada cenário corresponde a um objetivo comum de gestão de funcionalidades e desbloqueia um conjunto diferente de capacidades, desde uma simples alternância de ligar/desligar até lançamentos percentuais direcionados e experiências multivariadas. Em todos os três cenários, pode monitorizar e analisar o impacto das suas flags de funcionalidade para compreender o efeito de uma funcionalidade nas métricas da sua aplicação. Use as secções seguintes para escolher o cenário que corresponde ao seu objetivo antes de entrar nos detalhes dos filtros, condições ou variantes individuais.

Interruptor (Ligar/Desligar)

Captura de ecrã do portal do Azure que mostra a funcionalidade de Criar funcionalidade - separador Básicos da opção Switch.

Usar quando: Precisas de um controlo simples, instantâneo de ligar/desligar para todos os utilizadores.

Capacidades:

  • Interruptor de desligamento instantâneo – desativar uma funcionalidade ou dependência inadequada em segundos, sem necessidade de redistribuir código
  • Interruptor operacional – ativar ou desligar um estado de curta duração, como o modo de manutenção, a pedido

Por exemplo, uma equipa envia um novo algoritmo de checkout atrás de uma bandeira do Switch chamada EnableNewCheckout. Se as taxas de erro dispararem após o lançamento, um engenheiro de prevenção desliga o sinal, e todos os utilizadores recorrem instantaneamente ao fluxo de checkout anterior, sem redistribuir o código. O mesmo tipo de sinalizador também funciona bem como um interruptor operacional, como o MaintenanceMode, que a equipa de operações ativa antes de uma migração da base de dados e desativa quando esta estiver concluída.

Saiba mais:

Rollout

Captura de ecrã do portal do Azure que mostra a funcionalidade de Criar funcionalidade - separador Audience da opção de lançamento.

Usar quando: Quer expor gradualmente uma funcionalidade a uma percentagem de utilizadores, ou a utilizadores e grupos específicos, antes de a tornar disponível de forma geral.

Capacidades:

  • Lançamento gradual baseado em percentagens – expor uma funcionalidade a uma pequena percentagem do tráfego e aumentá-la ao longo do tempo (lançamento canário ou faseado) para reduzir o risco
  • Acesso direcionado – ativar uma funcionalidade apenas para utilizadores específicos, um grupo ou um atributo personalizado como região, tipo de dispositivo ou nível de subscrição
  • Ativação baseada em agendas – ativar ou desligar uma funcionalidade automaticamente durante uma janela de tempo definida
  • Implementação de configuração – entregue a configuração dentro da flag para que a sua aplicação possa ajustar o seu comportamento à medida que a flag é lançada, sem necessidade de uma nova implementação.

Por exemplo, uma equipa que implementa um novo flag EnableNewCheckout pode começar com uma percentagem padrão de 5%, usar sobrescrições de grupo para incluir os seus grupos internos de QA e beta-testers a 100%, e excluir contas legadas. Nos dias seguintes, aumentam a percentagem padrão para 25%, depois 50%, depois 100%, enquanto observam métricas de erro. Também podem adicionar um horário para que a funcionalidade desligue automaticamente após uma janela de manutenção.

O lançamento de configuração permite-lhe ir além de um valor booleano: por exemplo, pode anexar {"theme":"dark"} à flag EnableNewCheckout para que a sua aplicação só detete o novo tema quando avalia a flag como ativada. Esta configuração é diferente dos valores-chave gerais da App Configuration, que não estão ligados ao estado avaliado de nenhuma bandeira.

Saiba mais:

Experimento

Captura de ecrã do portal do Azure que mostra o separador Alocação da opção Experimento na funcionalidade Criar sinalizador de funcionalidade.

Usar quando: Quer comparar várias versões, ou variantes, de uma funcionalidade e medir qual delas tem melhor desempenho.

Capacidades:

  • Teste A/B – compare duas, ou mais de duas, variantes de uma funcionalidade entre si
  • Alocação de tráfego entre variantes – controla que percentagem de utilizadores está exposta a cada variante

Por exemplo, uma equipa que testa duas versões de uma página de checkout cria um flag de funcionalidade variante com uma variante Control e uma variante NewDesign , e aloca metade dos seus utilizadores a cada uma.

Saiba mais:

Monitorizar e analisar o impacto

Captura de ecrã do portal do Azure que mostra o separador Telemetria com um gráfico do total de eventos de avaliação e a Tabela de Pontuação de Métricas.

Usar quando: Queres ver como as tuas feature flags são avaliadas e perceber se as suas variantes afetam as métricas que são relevantes para a tua aplicação.

Capacidades:

  • Recolha e visualize eventos de sinalizadores de funcionalidades – capte eventos de avaliação de sinalizadores que a sua aplicação emite e visualize contagens de avaliação, utilizadores únicos e distribuições de variantes ou de motivos de atribuição diretamente no separador Telemetria do portal do Azure App Configuration.
  • Analise o impacto com scorecards de métricas (pré-visualização) – analise automaticamente a telemetria padrão e personalizada que a sua aplicação envia ao Application Insights e mostre quais métricas mostram uma diferença estatisticamente significativa entre variantes, sem escrever uma consulta personalizada.

Por exemplo, continuando a experiência da página de finalização da compra, cada avaliação de sinalizador emite um evento de telemetria, e a equipa consulta o separador de telemetria do portal do Azure App Configuration para confirmar que a divisão de tráfego entre Control e NewDesign está a funcionar como esperado. Abrem o scorecard da métrica no mesmo separador e veem que a NewDesign variante mostra uma melhoria estatisticamente significativa numa métrica personalizada PurchaseCompleted , sem regressão significativa no tempo de carregamento da página. Os agrupamentos Impactados e Inconclusivos da tabela de pontuação permitem à equipa confirmar o resultado num relance. Ainda assim, podem aprofundar o Application Insights para uma análise mais profunda, como correlacionar eventos de avaliação com compras concluídas.

Saiba mais:

Próximos passos

Para usar as feature flags de forma eficaz, precisa de externalizar todas as feature flags usadas numa aplicação para poder alterar os seus estados sem modificar e redistribuir a própria aplicação. O Azure App Configuration fornece um repositório centralizado para flags de funcionalidades: use-o para definir os flags do Switch, Rollout e Experiment e gere os seus estados de forma rápida e confiante, depois use as bibliotecas App Configuration para a sua linguagem de programação ou framework para adicionar avaliação de flags de funcionalidades à sua aplicação em tempo de execução.

Comece com uma introdução rápida

Para adicionar a avaliação das flags de funcionalidades à sua aplicação, avance para o guia de início rápido específico da linguagem ou plataforma da sua aplicação.

Criar e gerenciar sinalizadores de recursos

Aprofunde os seus conhecimentos sobre as capacidades de Rollout e Experiment

Bibliotecas clientes e SDKs

O Azure App Configuration fornece bibliotecas de gestão de funcionalidades para várias línguas e plataformas. Cada biblioteca inclui pacotes NuGet, npm, PyPI ou Maven e exemplos. Para a lista completa de bibliotecas suportadas e as suas notas de lançamento, consulte Visão Geral de Gestão de Funcionalidades.