OpenFlags
OpenFlags ist ein Open-Source, self-hosted Feature-Flag-System für progressive Delivery: lokale Evaluation in App-SDKs und ein simples Control-Plane für gezielte Rollouts.
Was ist OpenFlags?
OpenFlags ist ein Open-Source, self-hosted Feature-Flag-System für progressive Delivery: lokale Evaluation in App-SDKs und ein simples Control-Plane für gezielte Rollouts. Es stellt ein Control Plane und SDKs bereit, damit Anwendungs-Code Flags lokal evaluieren und Feature-Verhalten ohne erneutes Deployen für jede Änderung aktivieren kann.
Der Kernzweck von OpenFlags ist die Unterstützung von Release-Workflows – wie Prozent-Rollouts, gezielte Aktivierung und kontrollierte Freigabe – bei gleichzeitig niedriger Latenz der Flag-Evaluation und Laufzeit-Ownership in der eigenen Infrastruktur.
Wichtige Features
- Self-hosted Flag-Infrastruktur: Flag-Speicher, Targeting-Logik und Runtime-Ownership in der eigenen Infrastruktur halten, statt auf eine gehostete Plattform angewiesen zu sein.
- Lokale Evaluation via typisierter SDKs: Flags in der App mit TypeScript-Paketen evaluieren, für schnelle, vorhersehbare Checks durch lokale Ausführung im Code.
- Progressive-Delivery-Steuerung: Features kontrollierten Gruppen (inkl. Prozent-Rollouts) ausrollen, statt Änderungen für alle auf einmal freizugeben.
- Granulares Targeting: Flags basierend auf spezifischem User-Targeting aktivieren, damit verschiedene Kohorten unterschiedliches Feature-Verhalten erhalten.
- REST-Control-Plane mit fokussiertem Surface Area: Einfache REST-API für Flag-Control-Plane und -Management, als Teil eines Monorepos mit dedizierten Rollen für Server, Dashboard, SDKs und Docs.
- Dashboard für Toggle und Rollout-Management: React-basiertes Admin-UI hilft Teams, Releases zu togglen und Rollout-Konfigurationen zu verwalten.
OpenFlags nutzen
- Mit Dokumentation und Quickstart starten: Bereitgestellte Docs nutzen, um Server, Dashboard und SDKs in der eigenen Umgebung einzurichten.
- SDK-Client in der App erstellen: Client mit API-URL, Project-Identifier und User-Identifier initialisieren.
- Flags lokal in Anwendungs-Code evaluieren: SDK nutzen, um zu prüfen, ob ein Flag aktiviert ist (z. B. via
flags.isEnabled("flag_name")), und Verhalten bedingt rendern. - Rollout-Konfiguration vom Control Plane aus verwalten: Dashboard und/oder REST-API für Rollout-Verhalten wie prozentuale Aktivierung oder gezielte Freigabe nutzen.
Anwendungsfälle
- Neue User Experience progressiv freigeben: UI oder Workflow hinter Feature Flag setzen und für kontrollierten User-Anteil aktivieren, statt für allen Traffic auf einmal.
- Beta-Test mit gezielten Usern durchführen: Feature für spezifische Kohorten aktivieren, um Verhalten zwischen Gruppen zu vergleichen, ohne den Rest zu beeinflussen.
- Blast Radius mit Prozent-Rollouts reduzieren: Änderung schrittweise ausrollen (z. B. an 35 % der User) und Rollout-Verhalten anpassen, ohne App neu zu bauen oder zu deployen.
- Flag-Checks in performance-sensitiven Apps schnell halten: Lokale Evaluation in der App für niedrige Latenz und konsistente Laufzeit-Checks.
- Ownership in eigener Infrastruktur behalten: Self-hosted Control Plane für operativen und Audit-Surface im eigenen Stack nutzen.
FAQ
-
Ist OpenFlags self-hosted oder cloud-hosted? OpenFlags Cloud wird als „coming soon“ beschrieben, das aktuelle Angebot ist open source und self-hosted.
-
Wie funktioniert die Feature-Evaluation? OpenFlags unterstützt lokale Evaluation via SDKs, sodass Flag-Checks im App-Code erfolgen, statt bei jeder Evaluation einen Remote-Call zu machen.
-
Welche Rollout-Patterns werden unterstützt? Die Seite erwähnt progressive Delivery mit Prozent-Rollouts, granulasem Targeting und kontrollierter Freigabe.
-
Welche Komponenten umfasst OpenFlags? Das Monorepo enthält einen Server (Bun-basierte API für Control Plane), ein React-basiertes Dashboard, TypeScript-SDK-Pakete und Dokumentation.
-
Für welche Sprachen/Frameworks sind die SDKs ausgelegt? Die Seite hebt JavaScript-first SDK-Nutzung hervor und erwähnt Unterstützung für Bun, React, Next.js, Vite und Node-Apps.
Alternativen
- Gehostete Feature-Flag-Plattformen (SaaS): Diese zentralisieren in der Regel das Flag-Management in einem gehosteten Service. Im Vergleich zum self-hosted Control Plane von OpenFlags kann die Evaluation und operative Kontrolle stärker vom Vendor abhängen.
- Infrastructure-as-Code-basierte Rollouts (ohne dedizierte Flag-Evaluation): Teams können progressive Delivery mit Deployments, Routing oder Config-Toggles approximieren. Das unterscheidet sich von OpenFlags durch das Fehlen eines speziell für lokale Evaluation aufgebauten Feature-Flag-SDK-Workflows.
- Open-Source-Feature-Flag-Services mit anderen Architekturen: Alternative Open-Source-Systeme bieten ähnliche Konzepte (Flags, Targeting, Dashboards), jedoch mit anderen Abwägungen bei SDK-Ansatz, Control-Plane-API-Design oder der Handhabung der lokalen Evaluation.
Alternativen
Rectify
Rectify ist eine All-in-One-Operations-Plattform für SaaS: Monitoring, Analytics, Support, Roadmaps, Changelogs und Agent-Management in einer visuellen Workspace – steuerbar per Konversation.
GitBoard
GitBoard ist eine native macOS-Menüleisten-App für GitHub Projects: Kanban-Board ansehen, nach Status filtern, Issues suchen sowie erstellen oder zuweisen.
Studio CLI
Mit dem Studio CLI steuern Sie WordPress Studio-Funktionen per Terminal: lokale Studio-Sites verwalten, Vorschau-Preview-Sites erstellen/ändern/löschen.
PingPulse
PingPulse überwacht AI-Agent-Workflows mit Echtzeit-Übergabe-Tracking, Workflow-Visualisierung und konfigurierbaren Alerts für Stalls und Fehler in Produktion.
KIT.domains
KIT.domains automatisiert Domain Monitoring und SSL-Tracking: Warnungen bei Domain-Ablauf und DNS-Änderungen, zentrale Übersicht im Dashboard & Renewal-Kalender.
Sleek Analytics
Leichtgewertige, datenschutzfreundliche Analytik mit Echtzeit-Visitor-Tracking: Woher Besucher kommen, was sie ansehen und wie lange sie bleiben.