Panoramica della gestione delle funzionalità

La gestione delle funzionalità è una procedura di sviluppo di software che separa il rilascio di una funzionalità dalla distribuzione del codice e consente di modificare rapidamente la disponibilità on demand. Utilizza una tecnica chiamata feature flags per amministrare dinamicamente il ciclo di vita di una funzionalità, permettendoti di attivare o disattivare una funzionalità, indirizzarla a utenti specifici o distribuirla gradualmente, tutto senza dover ridistribuire l'applicazione.

Funzionalità principali

Configurazione app di Azure Feature Management supporta tre scenari principali di utilizzo delle feature flag in base a ciò che vuoi ottenere: Switch, Rollout ed Experiment. Ogni scenario si corrisponde a un obiettivo comune di gestione delle funzionalità e sblocca un diverso insieme di funzionalità, da un semplice interruttore on/off a lanci percentuali mirati fino a esperimenti multivariati. In tutti e tre gli scenari, puoi monitorare e analizzare l'impatto delle tue feature flag per comprendere l'effetto di una feature sulle metriche della tua applicazione. Usa le seguenti sezioni per scegliere lo scenario che corrisponde al tuo obiettivo prima di entrare nei dettagli di filtri, condizioni o varianti individuali.

Interruttore (Acceso/Spento)

Schermata del portale di Azure che mostra la funzionalità Crea feature flag - scheda Nozioni di base dell'opzione Switch.

Da usare quando: Serve un controllo on/off semplice e istantaneo per tutti gli utenti.

Funzionalità:

  • Interruttore di spegnimento istantaneo – disabilita una funzione o dipendenza che non si comporta correttamente in pochi secondi, senza dover ridistribuire il codice
  • Interruttore operativo – attivare o disattivare su richiesta uno stato di breve durata, come la modalità di manutenzione

Ad esempio, un team invia un nuovo algoritmo di checkout dietro una bandiera Switch chiamata EnableNewCheckout. Se i tassi di errore aumentano bruscamente dopo il lancio, un ingegnere reperibile disattiva il flag e ogni utente torna immediatamente al precedente flusso di checkout, senza dover ridistribuire il codice. Lo stesso tipo di flag funziona bene anche come toggle operativo, come un flag MaintenanceMode che il team operativo attiva prima di una migrazione del database e lo disattiva una volta completata.

Altre informazioni:

Implementazione

Screenshot del portale di Azure che mostra la scheda Destinatari dell'opzione Rollout della funzionalità Crea flag di funzionalità.

Da usare quando: Vuoi esporre gradualmente una funzionalità a una percentuale di utenti, o a utenti e gruppi specifici, prima di renderla generalmente disponibile.

Funzionalità:

  • Rilascio graduale basato su percentuali – esponi una funzionalità a una piccola percentuale del traffico e aumentala nel tempo (rilascio canario o a fasi) per ridurre il rischio
  • Accesso mirato – abilita una funzione solo per utenti specifici, un gruppo o un attributo personalizzato come regione, tipo di dispositivo o livello di abbonamento
  • Attivazione basata su programmazione – attiva o disattiva automaticamente una funzione durante una finestra temporale definita
  • Distribuzione della configurazione – consegna la configurazione all'interno del flag così che la tua app possa modificarne il comportamento man mano che il flag viene rilasciato, senza un nuovo deployment.

Ad esempio, un team che lancia un nuovo flag EnableNewCheckout potrebbe partire da una percentuale predefinita di 5%, usare gli override di gruppo per includere i gruppi interni di QA e beta-tester a 100%, ed escludere gli account legacy. Nei giorni successivi, aumentano la percentuale predefinita a 25%, poi 50%, infine 100%, mentre osservano le metriche di errore. Potrebbero anche impostare una pianificazione così che la funzione si disattivi automaticamente dopo una finestra di manutenzione.

Il rollout della configurazione ti permette di andare oltre un valore booleano: ad esempio, puoi collegarlo {"theme":"dark"} al flag EnableNewCheckout così che la tua app rilevi il nuovo tema solo quando valuta il flag come abilitato. Questa configurazione è diversa dai valori chiave generali di App Configuration, che non sono legati allo stato valutato di nessun flag.

Altre informazioni:

Esperimento

Screenshot del portale di Azure che mostra la scheda Allocazione dell'opzione Esperimento della funzionalità Crea flag di funzionalità.

Da usare quando: Vuoi confrontare più versioni, o varianti, di una caratteristica e misurare quale delle due si comporta meglio.

Funzionalità:

  • Test A/B – confrontare due, o più di due, varianti di una caratteristica tra loro
  • Allocazione del traffico tra varianti – controlla quale percentuale di utenti è esposta a ciascuna variante

Ad esempio, un team che testa due versioni di una pagina di checkout crea un feature flag con varianti, con una variante Control e una variante NewDesign, e assegna metà dei suoi utenti a ciascuna.

Altre informazioni:

Monitorare e analizzare l'impatto

Screenshot del portale Azure che mostra la scheda Telemetria con una tabella degli eventi di valutazione totale e la Metric Scorecard.

Da usare quando: Vuoi vedere come vengono valutate le tue feature flag e capire se le loro varianti influenzano le metriche che contano per la tua applicazione.

Funzionalità:

  • Raccogli e visualizza gli eventi dei flag di funzionalità – acquisisci gli eventi di valutazione dei flag emessi dall'app e visualizza direttamente nella scheda Telemetria del portale di Configurazione app di Azure i conteggi delle valutazioni, gli utenti unici e la distribuzione per variante o per motivo dell'assegnazione.
  • Analizza l'impatto con scorecard delle metriche (anteprima) – analizza automaticamente la telemetria standard e personalizzata inviata dall'applicazione ad Application Insights e individua quali metriche presentano una differenza statisticamente significativa tra le varianti, senza scrivere una query personalizzata.

Ad esempio, continuando l'esperimento della pagina di checkout, ogni valutazione del flag emette un evento di telemetria, e il team esamina la scheda di telemetria del portale Configurazione app di Azure per confermare che la suddivisione del traffico tra Control e NewDesign funzioni come previsto. Aprono il scorecard della metrica nella stessa scheda e vedono che la NewDesign variante mostra un miglioramento statisticamente significativo in una metrica personalizzata PurchaseCompleted , senza una regressione significativa nel tempo di caricamento della pagina. I raggruppamenti Impattati e Inconcludenti della scheda di punteggio permettono alla squadra di confermare il risultato a colpo d'occhio. Possono comunque approfondire Application Insights per un'analisi più approfondita, come collegare gli eventi di valutazione agli acquisti completati.

Altre informazioni:

Passaggi successivi

Per usare efficacemente i feature flag, devi esternalizzare tutti i feature flag usati in un'applicazione in modo da poterne cambiare gli stati senza modificare o ridistribuire l'applicazione stessa. Configurazione app di Azure fornisce un repository centralizzato per i feature flag: usalo per definire i flag di Switch, Rollout ed Experiment e gestirne gli stati in modo rapido e sicuro, poi usa le librerie App Configuration per il tuo linguaggio di programmazione o framework per aggiungere la valutazione dei feature flag all'applicazione in tempo reale.

Inizia con una guida introduttiva rapida

Per aggiungere la valutazione dei flag di funzionalità all'app, continuare con l'avvio rapido specifico per il linguaggio o la piattaforma dell'applicazione.

Creare e gestire flag di funzionalità

Approfondisci le capacità di Rollout ed Experiment

Librerie client e SDK

Configurazione app di Azure offre librerie di gestione delle funzionalità per diverse lingue e piattaforme. Ogni libreria include pacchetti e campioni NuGet, npm, PyPI o Maven. Per l'elenco completo delle librerie supportate e le relative note di rilascio, vedi Panoramica della Gestione delle Funzionalità.