Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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)
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
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:
- Crea un flag di funzionalità Rollout
- Filtri delle caratteristiche
- Filtro della finestra temporale
- Filtro di puntamento
Esperimento
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
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:
- Telemetria dei flag di funzionalità
- Visualizza gli eventi dei feature flag
- Analizza l'impatto delle feature flag
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.
- ASP.NET Core
- Aspire
- .NET/.NET Framework
- Servizio in background di .NET
- Java Spring
- Python
- JavaScript
- Go
- Go Gin
- Servizio Azure Kubernetes
- Funzioni di Azure
Creare e gestire flag di funzionalità
- Crea un flag di funzionalità: Crea e gestisci i flag di funzionalità Switch, Rollout ed Experiment nel portale Azure.
Approfondisci le capacità di Rollout ed Experiment
- Abilitare le funzionalità condizionali con filtri di funzionalità
- Abilitare le funzionalità in base a una pianificazione
- Implementare le funzionalità per i gruppi di destinatari
- Usare flag di funzionalità varianti
- Abilita la telemetria per i flag di funzionalità
- Visualizza gli eventi dei feature flag
- Analizza l'impatto delle feature flag
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à.