Konfigurieren des progressiven Rollouts
Die schrittweise Einführung automatisiert die allmähliche Freigabe von Funktionsmerkmalen für die Benutzer, wodurch manuelle Eingriffe vermieden und der operative Aufwand verringert wird. Sie legen mehrere Phasen mit bestimmten Prozentsätzen und Laufzeiten fest, und „ App Configuration “ verwaltet die Übergänge zwischen den Phasen automatisch entsprechend Ihrem Zeitplan.
Eine schrittweise Einführung bietet zahlreiche Vorteile bei der Bereitstellung neuer Funktionen und hilft Ihnen dabei, Risiken zu minimieren und gleichzeitig eine einheitliche Benutzererfahrung zu gewährleisten. Zu den wichtigsten Vorteilen zählen:
- Automatisierung: Macht manuelle Eingriffe bei zeitgesteuerten Rollouts überflüssig.
- Konsistenz: Stellt sicher, dass derselbe Benutzer während der gesamten Einführung denselben Wert erhält.
- Sicherheit: Ermöglicht es Ihnen, die Einführung in jeder Phase zu stoppen, falls Probleme festgestellt werden.
- Flexibilität: Unterstützt benutzerdefinierte Phasenkonfigurationen oder vordefinierte Vorlagen.
- Planbarkeit: Bietet planmäßige, zeitgebundene Veröffentlichungen neuer Funktionen.
Die schrittweise Einführung ist nur für Benutzer der Stufe Enterprise verfügbar.
Vorbereitende Schritte
Bevor Sie die schrittweise Einführung konfigurieren, stellen Sie bitte Folgendes sicher:
- Sie haben eine App Configuration Enterprise-Instanz
- Sie verfügen über die entsprechenden IAM-Berechtigungen (Rolle Manager oder Writer)
- Sie haben ein Feature-Flag in Ihrer Umgebung erstellt
Einschränkungen bei der Konfiguration
Die schrittweise Einführung unterliegt bestimmten Beschränkungen und Anforderungen, die Sie vor der Konfiguration kennen müssen.
Allgemeine Zwänge
Sehen Sie sich die allgemeinen Einschränkungen an, die für alle Konfigurationen einer schrittweisen Einführung gelten. Diese Einschränkungen gewährleisten einen ordnungsgemäßen Betrieb und verhindern Konflikte mit anderen Funktionen.
- Enterprise-Tier erforderlich: Der schrittweise Rollout ist nur für Benutzer der Enterprise-Stufe verfügbar.
- Ein Rollout pro Flagge: Pro Merkmalskennzeichen ist nur ein progressiver Rollout erlaubt. Sie können sie auf der Ebene der Kennzeichen oder auf der Ebene der Regeln konfigurieren, aber nicht beides gleichzeitig.
- Jeweils eine aktive Bereitstellungsstrategie: Wenn ein Experiment auf einer Flagge läuft, können Sie keinen progressiven Rollout erstellen. Ähnlich verhält es sich, wenn ein progressiver Rollout läuft, können Sie kein Experiment mit dieser Flagge starten.
- Prozentualer Bereich: Der Prozentsatz des Rollouts muss zwischen 1% und 100% liegen.
API-Anforderungen nach Anwendungsbereich
Welche API Sie verwenden, hängt vom Umfang Ihrer Konfiguration für die schrittweise Einführung ab. Wählen Sie die passende API aus, je nachdem, wo Sie die Einführung konfigurieren.
- Progressiver Rollout auf Flaggenebene: Verwenden Sie die Feature-Flag-API, um den Rollout zu erstellen und zu aktualisieren.
- Progressiver Rollout auf Regelebene: Verwenden Sie die Regel-API, um den Rollout zu erstellen und zu aktualisieren.
- Anhalten eines Rollouts: Verwenden Sie die APIs zum Anhalten eines Rollouts, um ein aktives progressives Rollout anzuhalten.
Konfigurationsanforderungen nach Umfang
Bevor Sie eine schrittweise Einführung konfigurieren, stellen Sie sicher, dass Ihr Flag oder Ihre Regel explizite Einführungswerte anstelle von vererbten Werten verwendet. Diese Anforderung verhindert Konflikte und gewährleistet, dass die schrittweise Einführung vollständig kontrolliert erfolgt.
- Bei progressivem Rollout auf Flaggenebene: Keine der Ausrichtungsregeln kann einen vom Flag geerbten Wert
rolloutPercentagehaben. Alle Ausrichtungsregeln müssen überschriebene Rollout-Werte verwenden. - Bei progressivem Rollout auf Regelebene: Die Zielregel, zu der Sie das Rollout hinzufügen, kann keinen Wert verwenden, der vom Kennzeichen geerbt wurde. Die Regel muss einen eigenen expliziten Wert haben.
Blockierte Vorgänge während des progressiven Rollouts
Befindet sich ein schrittweiser Rollout im laufenden Zustand, werden bestimmte Vorgänge gesperrt, um die Integrität des Rollouts zu gewährleisten und Konflikte zu vermeiden.
- Erstellen eines weiteren progressiven Rollouts: Pro Flagge ist nur ein progressiver Rollout erlaubt.
- Starten eines Experiments: Experimente können nicht mit Flaggen durchgeführt werden, die bereits einen progressiven Rollout laufen haben.
- Löschung einer Sammlung: Das Löschen einer Sammlung ist blockiert, wenn ein zugehöriges Merkmalskennzeichen einen progressiven Rollout im laufenden Zustand hat.
- Aktualisieren oder Löschen eines Segments: Segmentaktualisierungen und -löschungen werden blockiert, wenn ein zugehöriges Feature-Flag einen progressiven Rollout im laufenden Zustand hat.
- Ändern der Konfiguration des Kennzeichens oder der Regel: Aktualisierungen des Kennzeichens oder der Zielregel, die das Rollout verwendet, sind nur zulässig, wenn das progressive Rollout nicht ausgeführt wird.
Verhalten im Lebenszyklus
Wenn Sie das Verhalten im Lebenszyklus verstehen, können Sie die Wechselwirkungen zwischen schrittweisen Rollouts und anderen Funktionen besser steuern. „ App Configuration “ sorgt für eine strikte Trennung zwischen den Bereitstellungsstrategien.
- Wenn ein Experiment läuft, können Sie kein progressives Rollout erstellen.
- Wenn ein progressiver Rollout läuft, können Sie kein Experiment mit der gleichen Flagge starten.
- Um einen Rollout zu stoppen, müssen Sie die speziellen APIs zum Stoppen von Rollouts verwenden.
Konfigurieren des progressiven Rollouts
Sie können den progressiven Rollout auf der Ebene der Kennzeichen oder auf der Ebene der Zielgebietsregeln konfigurieren.
Konfigurieren der progressiven Ausrollung auf Flaggenebene
So konfigurieren Sie den progressiven Rollout auf der Flaggenebene:
- Navigieren Sie in der Konsole App Configuration zu Feature-Flags.
- Wählen Sie die Umgebung aus, die Ihr Feature-Flag enthält.
- Klicken Sie auf das Merkmalskennzeichen, das Sie konfigurieren möchten.
- Wählen Sie im Abschnitt Feature-Rollout die Option Progressiv als Rollout-Typ.
- Konfigurieren Sie die Rollout-Einstellungen:
- Voreingestellte Dauer: Wählen Sie aus vordefinierten Vorlagen ( 1hr, 12hr, 24hr, 48hr ) oder wählen Sie Benutzerdefiniert
- Phasen: Definieren Sie jede Phase mit einem Prozentsatz und einer Dauer
- Später einplanen (optional): Schalten Sie diese Option ein, um eine Startzeit in UTC für den Rollout festzulegen. Wenn diese Option nicht aktiviert ist, beginnt der Rollout sofort.
- Klicken Sie auf Speichern.
Der progressive Rollout beginnt automatisch zur konfigurierten Startzeit.
Konfigurieren des progressiven Rollouts auf Regelebene
So konfigurieren Sie den progressiven Rollout auf der Ebene der Zielsetzungsregeln:
- Navigieren Sie in der Konsole App Configuration zu Feature-Flags.
- Wählen Sie die Umgebung aus, die Ihr Feature-Flag enthält.
- Klicken Sie auf das Merkmalskennzeichen, das Sie konfigurieren möchten.
- Wählen Sie im Abschnitt „Targeting“ die Regel aus, die Sie konfigurieren möchten.
- Stellen Sie sicher, dass die Regel einen überschriebenen Wert hat.
- Wählen Sie im Abschnitt Rollout der Regel die Option Progressiv als Rollout-Typ.
- Konfigurieren Sie die Rollout-Einstellungen:
- Voreingestellte Dauer: Wählen Sie aus vordefinierten Vorlagen ( 1hr, 12hr, 24hr, 48hr ) oder wählen Sie Benutzerdefiniert
- Phasen: Definieren Sie jede Phase mit einem Prozentsatz und einer Dauer
- Später einplanen (optional): Schalten Sie diese Option ein, um eine Startzeit in UTC für den Rollout festzulegen. Wenn diese Option nicht aktiviert ist, beginnt der Rollout sofort.
- Klicken Sie auf Speichern.
Schrittweise Einführungsphasen
Eine schrittweise Einführung besteht aus mehreren Phasen, für die jeweils ein Prozentsatz und eine Dauer festgelegt werden.
Konfiguration der Phasen
Legen Sie den Prozentsatz und die Dauer für jede Phase Ihrer schrittweisen Einführung fest. Jede Phase besteht aus zwei Schlüsselkomponenten, die den Fortschritt der Einführung steuern.
Jede Phase umfasst:
- Prozentsatz: Der Prozentsatz der Nutzer, die den aktivierten Wert erhalten (1-100%)
- Dauer: Wie lange diese Phase dauern soll (z. B. " 8h ", " 30m ", " 2d ")
Die letzte Phase erfordert keine Dauer, da sie den Abschlusszustand darstellt.
Beispiele für Phasen
Sehen Sie sich diese Beispiele für Konfigurationen der schrittweisen Einführungsphasen für verschiedene Szenarien an.
Beispiel 1: Schrittweise Einführung der 24-Stunden-Regelung
{
"phases": [
{ "percentage": 5, "duration": "6h" },
{ "percentage": 25, "duration": "6h" },
{ "percentage": 50, "duration": "6h" },
{ "percentage": 100, "duration": "6h" }
]
}
Beispiel 2: Schnelle 1-Stunden-Einführung
{
"phases": [
{ "percentage": 10, "duration": "15m" },
{ "percentage": 50, "duration": "15m" },
{ "percentage": 100, "duration": "30m" }
]
}
Beispiel 3: Konservative 48-Stunden-Einführung
{
"phases": [
{ "percentage": 5, "duration": "12h" },
{ "percentage": 10, "duration": "12h" },
{ "percentage": 25, "duration": "12h" },
{ "percentage": 100, "duration": "12h" }
]
}
Vordefinierte Rollout-Vorlagen
App Configuration bietet vordefinierte Vorlagen für gängige Einführungsszenarien:
| Schablone | Dauer | Phasen |
|---|---|---|
| 1hr | 1 Stunde | 10% ( 15m ), 50% ( 15m ), 100% ( 30m ) |
| 12hr | 12 Stunden | 5% ( 3h ), 25% ( 3h ), 50% ( 3h ), 100% ( 3h ) |
| 24hr | 24 Stunden | 5% ( 6h ), 25% ( 6h ), 50% ( 6h ), 100% ( 6h ) |
| 48hr | 48 Stunden | 5% ( 12h ), 10% ( 12h ), 25% ( 12h ), 100% ( 12h ) |
Stoppen einer schrittweisen Markteinführung
Wenn Sie eine schrittweise Einführung beenden, führt „ App Configuration “ mehrere Bereinigungsmaßnahmen durch, um wieder in den manuellen Einführungsmodus zurückzukehren.
- Die Rollout-Konfiguration wird entfernt.
- Der Rollout-Prozentsatz wird auf den angegebenen Prozentsatz aktualisiert
- Der Rollout-Typ kehrt zum manuellen Rollout zurück
- Benutzer, die den aktivierten Wert erhalten haben, erhalten ihn weiterhin auf der Grundlage des gestoppten Prozentsatzes
Sie können ein progressives Rollout in jeder Phase stoppen, wenn Probleme auftreten. Verwenden Sie die entsprechende API entsprechend dem Umfang der Rollout-Konfiguration.
- Rollout auf Feature-Flag-Ebene stoppen: Um einen auf Feature-Flag-Ebene konfigurierten schrittweisen Rollout zu stoppen, verwenden Sie die API zum Stoppen des Rollouts für Feature-Flags.
- Rollout auf Regelebene stoppen: Um einen auf der Ebene der Targeting-Regel konfigurierten schrittweisen Rollout zu stoppen, verwenden Sie die API zum Stoppen des Rollouts für Regeln.
Schrittweiser Abschluss der Markteinführung
Wenn eine schrittweise Einführung ihre letzte Phase erreicht, führt „ App Configuration “ automatisch eine Bereinigung durch und wechselt zurück in den manuellen Einführungsmodus.
- Die Rollout-Konfiguration wird automatisch entfernt.
- Der Rollout-Prozentsatz wird auf den Prozentsatz der letzten Phase aktualisiert (in der Regel 100 %).
- Der Rollout-Typ wird auf manuellen Rollout zurückgesetzt.
- Alle Benutzer erhalten den aktivierten Wert.
Benutzerkonsistenz und Randomisierung
Die schrittweise Einführung gewährleistet ein einheitliches Nutzererlebnis durch eine zweistufige Randomisierungsstrategie, die ein vorhersehbares Verhalten innerhalb eines Einführungszyklus gewährleistet und gleichzeitig Flexibilität über verschiedene Einführungszyklen hinweg ermöglicht.
Im Rahmen eines Rollouts
Im Rahmen einer einzigen schrittweisen Einführung sorgt „ App Configuration “ für einheitliche Zuweisungen für jeden Nutzer, um in allen Phasen ein stabiles Nutzererlebnis zu gewährleisten.
- Die Zufallsgenerierung ist deterministisch, siehe
entity_id. - Die gleiche „
entity_id“ erhält immer denselben Auftrag. - Benutzer, die den aktivierten Wert in Phase 1 erhalten, erhalten ihn auch in den nachfolgenden Phasen weiterhin.
- Mit steigendem Prozentsatz kommen neue Nutzer hinzu.
Über Rollouts hinweg
Wenn Sie eine neue schrittweise Einführung für denselben Flag starten, generiert „ App Configuration “ eine neue Verteilung, um unterschiedliche Nutzungsmuster der Benutzer zu ermöglichen.
- Es wird eine neue Zufallsverteilung generiert.
- Derselbe „
entity_id“ kann einen anderen Auftrag erhalten. - Auf diese Weise können verschiedene Benutzergruppen in unterschiedlichen Einführungsphasen einbezogen werden.
Überwachung der schrittweisen Markteinführung
Überwachen Sie Ihre schrittweisen Einführungen, um sicherzustellen, dass sie wie erwartet verlaufen, und um eventuelle Probleme, die während des Einführungsprozesses auftreten könnten, schnell zu erkennen.
- Dashboard-Ansicht: Das Dashboard „ App Configuration “ zeigt den aktuellen Status und die aktuelle Phase der laufenden schrittweisen Einführungen an.
- Statusanzeigen:
QUEUED: Die Einführung ist geplant, hat aber noch nicht begonnen.RUNNING: Die Einführung schreitet phasenweise zügig voran.
- Aktivitätsverfolgung: Verwenden Sie „ Activity Tracker “, um Rollout-Ereignisse und Phasenübergänge zu verfolgen.
Bewährte Verfahren
Die Befolgung der hier aufgeführten Best Practices trägt dazu bei, erfolgreiche schrittweise Einführungen sicherzustellen und Risiken für Ihre Benutzer und Anwendungen zu minimieren.
- Fangen Sie klein an: Beginnen Sie mit einem niedrigen Prozentsatz (5–10 %), um das Risiko zu minimieren.
- Metriken überwachen: Überwachen Sie die Anwendungsmetriken während jeder Phase kontinuierlich.
- Zeitzonen berücksichtigen: Berücksichtigen Sie bei der Festlegung der Startzeit die Zeitzonen Ihrer Nutzer.
- Testkonfigurationen: Testen Sie Ihre Rollout-Konfiguration zunächst in einer Nicht-Produktionsumgebung.
- Pläne für die Einführung von Dokumenten: Dokumentieren Sie Ihre Einführungsstrategie und die einzelnen Phasen.
- Rollback-Pläne erstellen: Halten Sie einen Plan bereit, um die Einführung zu stoppen, falls Probleme festgestellt werden.
- Legen Sie angemessene Zeiträume fest: Planen Sie in jeder Phase genügend Zeit ein, um aussagekräftige Daten zu erheben.
API-Referenz
Der progressive Rollout kann über die App Configuration API konfiguriert werden. Weitere Informationen finden Sie in der API-Dokumentation.