DevCycle Joins OpenFeature
DevCycle Now Supports OpenFeature
We are thrilled to announce that DevCycle now supports OpenFeature, a standards setting open-source project established to set a unified and open standard for feature flag management. To kick things off, we are introducing our inaugural OpenFeature Provider for our NodeJS SDK! By supporting the vendor-agnostic OpenFeature API, DevCycle provides developers with more flexibility and portability in their feature flag implementation.
What is OpenFeature?
OpenFeature is a Cloud Native Computing Foundation (CNCF) project designed to establish a unified and standardized approach to feature flag management. The project's ultimate goal is succinctly encapsulated in its mission statement:
“OpenFeature is an open standard that provides a vendor-agnostic, community-driven API for feature flagging that works with your favorite feature flag management tool.”
OpenFeature provides a specification for a vendor-neutral implementation of feature flags. Its goal is to offer a set of unified SDKs, which are compatible with various third-party feature flagging providers avoiding vendor lock-in in your code.
At the core of OpenFeature is the principle of extensibility and compatibility. This means organizations can adopt OpenFeature and be confident they won't be locked into a specific vendor. This project also makes it easier for organizations to start with a basic implementation of feature flag management and migrate to more comprehensive solutions as their requirements mature.
Why DevCycle is Supporting OpenFeature
At DevCycle we believe strongly in Open Source and Open Standards. We already have our SDKs, core decision logic, SDK test harness, Open API specifications and documentation available openly, allowing our customers to use DevCycle in ways that best suit their specific needs.
Through our conversations with customers, we've come to understand the difficulty involved in migrating between vendors when there are hundreds or even thousands of flags scattered across various codebases. An open, common standard like OpenFeature dramatically reduces the risk of vendor lock-in and facilitates portability between providers.
We believe that the real distinguishing factor for feature flagging tools lies in a relentless focus and continuous improvement of the developer experience. To that end, we are committed to building the best end-to-end developer experience for teams of all sizes using feature flags, whether through our own SDKs or OpenFeature Providers.
We have shipped our first OpenFeature Provider for our NodeJS SDK and have plans to support OpenFeature Providers for all our supported Server SDKs. Being an active participant in the OpenFeature community, we will continue to provide our support as they expand the scope to include Client SDKs. We look forward to fostering the OpenFeature ecosystem together through Open Source and Open Standards.
How to Use OpenFeature JS SDK with DevCycle
Install the OpenFeature JS SDK and DevCycle Provider:
Initialize the DevCycle SDK and set the DevCycleProvider as the provider for OpenFeature:
See our documentation for Context and JSON limitations, also note that the OpenFeature SDK is primarily for interacting with individual flag values, if you need to access allVariables() / allFeatures() / track() you will need to do that against the DVCClient SDK instance.
The Future of OpenFeature and DevCycle
In addition to supporting all Server SDKs with OpenFeature Providers and aiding in the implementation of Client SDK support for OpenFeature, we are excited about the potential of extending OpenFeature through Hooks. Here is an example of how Hooks are being utilized to relay flag evaluation data to OpenTelemetry today.
We aim to expand our open source tools to better support OpenFeature, like our Feature Importer that imports your features from existing platforms into DevCycle. We are interested in exploring how we can better support all platform migrations in an open way, easing the transition to OpenFeature.
In addition, the DevCycle CLI has functionality that can detect DevCycle variable usage in your code base and enables automatic variable cleanup through a simple CLI interface. We will investigate adding OpenFeature support for this functionality so that you can still leverage our CLI while using a OpenFeature Provider and SDK. This would also enable OpenFeature support for our various CLI powered tools like our GitHub Actions / Bitbucket Pipes code usage and change integrations.
We are excited to collaborate with the OpenFeature community to make feature flags more accessible to organizations of all sizes, all while focusing on enhancing the developer experience of using feature flags for our customers.
If you would like to get involved with the OpenFeature project start here.