Yggdrasil: The Organic Evolution of Unleash’s SDKs and the Emergence of a New Flag Evaluation Engine
Blog post from Unleash
Unleash has developed a new library, Yggdrasil, to address the complexities of managing feature flagging across multiple languages and frameworks as the company grew. Initially, Unleash used a detailed client specification to handle edge cases in feature flagging, but the increasing number of SDKs and unanticipated scenarios revealed its limitations. Yggdrasil, a Rust-based library, provides a unified feature flag evaluation engine that can be accessed by various programming languages, ensuring consistent evaluation across all SDKs. The library features a Domain-Specific Language (DSL) for compact and human-readable feature flag configurations, offering performance advantages over generalized tools like JsonLogic. Yggdrasil has been running in production for a year, evaluating trillions of flags and demonstrating high performance. Additionally, there is potential for collaboration with OpenFeature, a project aiming to create a vendor-neutral feature flag SDK, which could benefit from Yggdrasil as a shared solution. Unleash is keen on open-source collaboration, encouraging community involvement in integrating Yggdrasil with other SDKs and exploring technical synergies with OpenFeature.