Überblick über die Featureverwaltung

Die Featureverwaltung ist ein modernes Verfahren der Softwareentwicklung, das die Freigabe von Features von der Codebereitstellung entkoppelt und schnelle bedarfsbasierte Änderungen an der Featureverfügbarkeit ermöglicht. Es verwendet eine Technik namens Feature-Flags, um den Lebenszyklus einer Funktion dynamisch zu verwalten, sodass Sie Funktionen ein- oder ausschalten, gezielt auf bestimmte Nutzer ausrichten oder sie schrittweise ausrollen können, ohne Ihre Anwendung neu bereitzustellen.

Wichtige Funktionen

Azure App Configuration Feature Management unterstützt drei Haupt-Feature-Flag-Nutzungsszenarien, je nachdem, was Sie erreichen möchten: Switch, Rollout und Experiment. Jedes Szenario orientiert sich an einem gemeinsamen Feature-Management-Ziel und schaltet verschiedene Funktionen frei, von einem einfachen Ein/Aus-Schalter über gezielte prozentuale Rollouts bis hin zu multivariaten Experimenten. In allen drei Szenarien können Sie die Auswirkungen Ihrer Feature-Flags überwachen und analysieren, um die Auswirkungen einer Funktion auf die Kennzahlen Ihrer Anwendung zu verstehen. Nutzen Sie die folgenden Abschnitte, um das Szenario auszuwählen, das zu Ihrem Ziel passt, bevor Sie sich mit den Details einzelner Filter, Bedingungen oder Varianten beschäftigen.

Schalter (Ein/Aus)

Screenshot des Azure-Portals, das das Feature „Create-Feature-Flag“ zeigt – den Basics-Tab der Switch-Option.

Verwendung wenn: Du brauchst eine einfache, sofortige Ein-/Aus-Steuerung für alle Nutzer.

Fähigkeiten:

  • Sofortiger Kill-Switch – Deaktivieren Sie eine fehlerhafte Funktion oder Abhängigkeit innerhalb von Sekunden, ohne den Code neu auszurollen
  • Betriebsschalter – einen kurzlebigen Zustand, wie zum Beispiel Wartungsmodus, jederzeit ein- oder ausschalten

Zum Beispiel liefert ein Team einen neuen Checkout-Algorithmus hinter einem Switch-Flag namens EnableNewCheckout. Wenn die Fehlerraten nach dem Start stark ansteigen, schaltet ein Bereitschafts-Engineer die Flagge aus, und jeder Benutzer fällt sofort auf den vorherigen Checkout-Ablauf zurück, ohne den Code neu zu deployen. Der gleiche Flag-Typ funktioniert auch gut als operativer Umschalter, zum Beispiel ein MaintenanceMode-Flag , das ein Operationsteam vor einer Datenbankmigration ein- und nach Abschluss wieder ausschaltet.

Weitere Informationen:

Einführung

Screenshot des Azure-Portals, das das Feature „Create-Feature-Flag“ zeigt – den Audience-Tab der Rollout-Option.

Verwendung wenn: Man möchte eine Funktion schrittweise einem Prozentsatz der Nutzer oder bestimmten Nutzern und Gruppen zugänglich machen, bevor sie allgemein verfügbar wird.

Fähigkeiten:

  • Prozentbasierte schrittweise Freigabe – eine Funktion für einen kleinen Prozentsatz des Datenverkehrs freigeben und diesen Traffic-Anteil im Laufe der Zeit erhöhen (Canary- oder gestaffelter Rollout), um das Risiko zu verringern
  • Gezielter Zugriff – Aktivieren Sie eine Funktion nur für bestimmte Nutzer, eine Gruppe oder ein benutzerdefiniertes Attribut wie Region, Gerätetyp oder Abonnementstufe
  • Zeitplanbasierte Aktivierung – eine Funktion automatisch während eines definierten Zeitfensters ein- oder ausschalten
  • Konfigurations-Rollout – Konfiguration innerhalb der Flag liefern, damit Ihre App ihr Verhalten beim Ausführen der Flag anpassen kann, ohne eine neue Bereitstellung.

Zum Beispiel könnte ein Team, das eine neue EnableNewCheckout-Flagge einführt, mit einem Standardprozentsatz von 5%beginnen, Gruppenüberschreibungen verwenden, um ihre internen QA- und Betatestergruppen bei 100%einzubeziehen, und legacy-Konten ausschließen. In den folgenden Tagen erhöhen sie den Standardprozentsatz auf 25%, dann 50%und dann 100%, während sie die Fehlermetriken beobachten. Sie könnten auch einen Zeitplan hinzufügen, sodass die Funktion nach einem Wartungsfenster automatisch ausgeschaltet wird.

Mit dem Konfigurationsrollout kannst du über einen booleschen Wert hinausgehen: Zum Beispiel kannst du an das {"theme":"dark"}-Flag anhängen, sodass deine App das neue Theme erst dann übernimmt, wenn sie das Flag als aktiviert auswertet. Diese Konfiguration unterscheidet sich von allgemeinen App-Konfigurations-Schlüsselwerten, die nicht an den bewerteten Status eines Flags gebunden sind.

Weitere Informationen:

Experiment

Screenshot des Azure-Portals, das das Feature „Create-Feature-Flag“ zeigt – den Allocation-Tab der Experiment-Option.

Verwendung wenn: Man möchte mehrere Versionen oder Varianten einer Funktion vergleichen und messen, welche am besten funktioniert.

Fähigkeiten:

  • A/B-Tests – vergleichen Sie zwei oder mehr als zwei Varianten eines Merkmals miteinander
  • Verkehrsverteilung zwischen den Varianten – kontrollieren Sie, wie viel Prozent der Nutzer mit jeder Variante konfrontiert sind

Zum Beispiel erstellt ein Team, das zwei Versionen einer Checkout-Seite testet, ein Varianten-Feature-Flag mit den Varianten Control und NewDesign und ordnet jeder Variante die Hälfte seiner Nutzer zu.

Weitere Informationen:

Überwachen und analysieren Sie die Auswirkungen

Screenshot des Azure-Portals, das den Telemetrie-Tab mit einer Gesamtbewertungs-Ereignis-Grafik und der Metric Scorecard zeigt.

Verwendung wenn: Sie möchten sehen, wie Ihre Feature-Flags bewertet werden, und verstehen, ob ihre Varianten die für Ihre Anwendung relevanten Kennzahlen beeinflussen.

Fähigkeiten:

  • Sammeln und sehen Sie sich Feature-Flag-Ereignisse an – erfassen Sie Flag-Evaluationsereignisse, die Ihre App aussendet, und sehen Sie sich Evaluationszahlen, eindeutige Nutzer sowie Varianten- oder Zuweisungsgrund-Distributionen direkt im Telemetrie-Tab des Azure App Configuration-Portals an.
  • Analysieren Sie den Einfluss mit Metrik-Scorecards (Vorschau) – analysieren Sie automatisch die Standard- und benutzerdefinierten Telemetrie, die Ihre Anwendung an Application Insights sendet, und zeigen Sie, welche Metriken einen statistisch signifikanten Unterschied zwischen den Varianten zeigen, ohne eine individuelle Abfrage zu schreiben.

Um beim Experiment mit der Checkoutseite zu bleiben: Jede Flag-Auswertung löst ein Telemetrieereignis aus, und das Team überprüft die Registerkarte „Telemetrie“ im Azure App Configuration-Portal, um zu bestätigen, dass die Traffic-Aufteilung zwischen Control und NewDesign wie erwartet funktioniert. Sie öffnen die Metrik-Scorecard auf demselben Tab und sehen, dass die NewDesign Variante eine statistisch signifikante Verbesserung einer benutzerdefinierten PurchaseCompleted Kennzahl zeigt, ohne signifikante Regression bei der Seitenladezeit. Die Gruppierungen Betroffen und Nicht schlüssig in der Scorecard ermöglichen es dem Team, das Ergebnis auf einen Blick zu bestätigen. Sie können weiterhin in Application Insights eintauchen, um sich genauer anzusehen, etwa indem sie Bewertungsereignisse mit abgeschlossenen Käufen in Verbindung bringen.

Weitere Informationen:

Nächste Schritte

Um Feature-Flags effektiv zu nutzen, müssen Sie alle in einer Anwendung verwendeten Feature-Flags externalisieren, damit Sie ihre Zustände ändern können, ohne die Anwendung selbst zu modifizieren und neu zu bereitstellen. Azure App Configuration bietet ein zentrales Repository für Feature-Flags: Nutzen Sie es, um Ihre Switch-, Rollout- und Experiment-Flags zu definieren und deren Zustände schnell und sicher zu verwalten, und nutzen Sie dann die App Configuration-Bibliotheken für Ihre Programmiersprache oder Ihr Framework, um zur Laufzeit eine Feature-Flag-Bewertung in Ihre Anwendung einzubauen.

Fang mit einem Quickstart an

Um die Auswertung von Feature-Flags zu Ihrer Anwendung hinzuzufügen, fahren Sie mit der Kurzanleitung fort, die auf die Sprache oder Plattform Ihrer Anwendung zugeschnitten ist.

Erstellen und Verwalten von Featurekennzeichnungen

Tauchen Sie tiefer in die Möglichkeiten von Rollout and Experiment ein

Client-Bibliotheken und SDKs

Azure App Configuration bietet Feature-Management-Bibliotheken für mehrere Sprachen und Plattformen. Jede Bibliothek enthält NuGet-, npm-, PyPI- oder Maven-Pakete und Samples. Die vollständige Liste der unterstützten Bibliotheken und deren Release Notes finden Sie unter Feature Management Overview.