Der Acolad-Blog

Feature Flags in Adobe Experience Manager: Hilfreich und schnell

Geschrieben von Jasper Simon | 02.03.2021 08:00:00

Bei der Pflege der Code-Basis einer Website oder jeglichen Projekts in Adobe Experience Manager (AEM) gibt es häufig Komponenten, die zu groß sind, um sie in einem Durchgang zu implementieren. Sie können diese Features zwar in mehrere kleinere Änderungen unterteilen, aber manchmal ist das keine ernsthafte Option. Theoretisch könnten Sie das Design Ihres Online-Auftritts auch schrittweise umgestalten, aber wahrscheinlich wollen Sie Ihre brandneue Website „aus einem Guss“ präsentieren.

Deshalb stellen wir Ihnen heute die Feature Flags vor; mit ihnen können Sie dieses Problem umgehen und Features implementieren, ohne dass sie auf Ihrem Produktionssystem direkt live gehen. Feature Flags sind einfach eine Konfiguration, mit der Sie bestimmte Features nach Bedarf aktivieren oder deaktivieren können.

Und das sind die vier wichtigsten Vorteile im Überblick: 

  • Sie funktionieren in agilen Umgebungen

 


Die Grundlagen der agilen Web-Entwicklung sind ja nichts Neues. Doch so sehr man sich auch bemüht, die Arbeit in kleine, übersichtliche und gut zu bearbeitende Pakete zu unterteilen: Manchmal funktioniert das einfach nicht. Die umfangreiche Überarbeitung der Website, die komplexe Migration eines benutzerdefinierten Systems in die kürzlich eingeführten Content Fragments des Adobe Experience Manager ... alles zusammen lässt sich kaum in einem Durchlauf erledigen.

Die Arbeit kann – und sollte – weiterhin in kleine, überschaubare Pakete eingeteilt werden; in der Testumgebung kann man die Features nun einzeln testweise aktivieren. QA-Ingenieure können die Ergebnisse überprüfen, und dann lassen sich die Features ohne Risiko in die Produktionssysteme installieren. Solange das Feature deaktiviert ist, verändert sich dort nichts. 

  • Alles bleibt unter Kontrolle

Durch das Aktivieren und Deaktivieren von Feature Flags in einem Live-System – ohne dass dieses abgeschaltet werden müsste! – haben die Auftraggeber die Kontrolle darüber, wann bestimmte Features im Produktionssystem tatsächlich live gehen.


Das entlastet das Entwicklerteam und schenkt mehr Flexibilität bei kurzen Lieferfristen.

Zurück zu unserem Beispiel der umfangreichen Website-Überarbeitung: Die Auftraggeber können frei entscheiden, wann das neue Design der Öffentlichkeit präsentiert wird. Vielleicht zusammen mit dem Release einer neuen Version der Smartphone-App? Dank der Feature Flags müssen dies jetzt nur die für das Produkt Verantwortlichen koordinieren, unabhängig von den Entwicklerteams. Mit Feature Flags bekommen Ihre Kunden die Änderungen über Ihr gesamtes digitales Ökosystem hinweg einheitlich präsentiert. 

  • Verschiedene Features für verschiedene Kunden

Haben Sie mehrere Websites mit identischem Code? Da sind Sie nicht allein. Mit nur einer Code-Basis senken Sie die Kosten und sorgen für ein einheitliches Auftreten.

Doch es gibt ein Problem, wenn mehrere Sites auf identischem Code basieren: Nicht immer sollen alle Sites das neue Design bekommen.

Auch hier bieten Feature Flags eine Lösung. Die Konfigurationen der einzelnen Websites können sich unterscheiden – und Feature Flags lassen sich als Teil dieser Konfigurationen einstellen. Adobe Experience Manager umfasst bereits Kontext-sensitive Konfigurationen. Sie lassen sich abhängig davon verändern, auf welcher Website man sich gerade befindet. Durch das Hinzufügen Ihrer Feature Flags zur Konfiguration können die Verantwortlichen der jeweiligen Sites die Flags ganz nach Bedarf aktivieren oder deaktivieren. 

  • Gezielte Reaktion auf Fehler

Sie können noch so viel testen – irgendwann wird doch mal etwas schiefgehen. Und das kann manchmal schwere Folgen haben. Oft reicht es, dass nur ein kleiner Teil des Codes fehlerhaft ist, um einen ganzen Bugfix auszulösen – für den möglicherweise dann das gesamte System abgeschaltet werden muss.

Anstatt für eine bestimmte Zeit alle Funktionen zu deaktivieren, sollten Sie vorbereitet sein, um die Fehler so schnell und effizient wie möglich beheben können.

Mit Feature Flags können die für das jeweilige Produkt Verantwortlichen – sowie alle Nutzer mit den entsprechenden Rechten – Features in dem Moment deaktivieren, da es nötig ist, ohne Unterstützung der Entwickler. Die Website bleibt online und funktional, ohne Downtime, und es ist kein System-Update erforderlich.

Wieder zurück zu unserem Beispiel; sagen wir, dass die Überarbeitung Ihrer Website eine unerwünschte Nebenwirkung hatte und eine wichtige Funktion unbenutzbar geworden ist: Mit Feature Flags können Sie das neue Design einfach deaktivieren, den Vorfall Ihren Entwicklern melden und das vorherige Design reaktivieren.

In einem Satz: Mithilfe von Feature Flags können Sie Features einer Website wie Content behandeln. Genauso, wie Sie eine Seite von Ihrer Website entfernen können, wenn Sie Fehler darauf finden, können Sie nun auch unvollendete Features einfach deaktivieren – und reaktivieren, wenn sie ausgefeilt sind.

Neue Funktionen schnell und einfach aktivieren, zügig auf Probleme mit bestehenden Funktionen reagieren ... Feature Flags bieten viele Vorteile. Denken Sie daran, wenn Sie Ihr nächstes Feature implementieren. Sie werden von den Möglichkeiten begeistert sein.