Upgrade to Pro — share decks privately, control downloads, hide ads and more …

OpenFeature - making feature flags a commodity

OpenFeature - making feature flags a commodity

With the evolution of software delivery methods, feature flags became one of the ways to deliver features and get user feedback. Modern applications may have hundreds of feature flags describing customizations, preview features, and environment specifics. Feature flags are not just a single toggle anymore, their values are often determined at runtime depending on the instance, user context, and inputs from the control plane.

In this session, we will talk about OpenFeature - a new collaboration by many feature flag vendors and end users. OpenFeature, a CNCF sandbox project, is an open standard for feature flag management, created to support a robust feature flag ecosystem using cloud native technologies and to make feature flags a commodity. OpenFeature provides a unified API and SDKs, and a developer-first, cloud-native implementation, with extensibility for open-source and commercial offerings.

We will provide adoption examples from the open-source projects from the Java and Cloud Native ecosystems.

Oleg Nenashev

August 25, 2022
Tweet

Video

More Decks by Oleg Nenashev

Other Decks in Technology

Transcript

  1. My first feature flag Image source: https://en.wikipedia.org/wiki/Jumper _%28computing%29 Jumper -

    a short length of conductor used to close, open or bypass part of an electronic circuit
  2. > whoami • In open source since 2012 • Was

    doing feature flags before is was a mainstream • Dynatrace OSPO, ex. CloudBees/Synopsys/Intel • Wood chopper & water carrier in OpenFeature LibreCores
  3. This talk • Feature Flags 101 • OpenFeature Introduction •

    Live Demo • What’s next? https://bit.ly/dokc-openfeature These slides
  4. Feature Flag Use-Cases • Preview Features • A/B testing •

    Progressive delivery • (?) Settings • … Classification: • Temporary or permanent • Runtime or not • Boolean, numeric, etc.
  5. Feature flags are NOT just tumblers Source: https://www.bennadel.com/blog/3612-vie wing-the-launchdarkly-feature-flag-evalu ation-process-as-a-pure-function.htm

    • Complex evaluation • Based on context ◦ user ◦ location/language ◦ instanceId, etc. ◦ control plane inputs ◦ user defined settings
  6. There are [open-source] frameworks for it! • SDKs are usually

    open source • Technology-specific libraries • Services ◦ Flagsmith, Unleash, FeatureHub, GO Feature Flag, Flipt… Source: optimizely.com/insights/blog/manage-outdated-feature-flags
  7. Feature Flagging ecosystem • Many SDKs solving essentially the same

    problem • SDKs are generally open source but have a limited ecosystem • Open Source projects cannot use existing SDKs, not vendor neutral • Vendor lock-in at the code-level • No solution fully utilizes cloud native capabilities • Missing integration with observability tools (e.g. OpenTelemetry)
  8. Let’s build OpenTelemetry of Feature Flagging • Define an open

    standard, vendor-neutral specification • Develop a unified API and SDK • Provide a developer-first, cloud-native reference implementation • Support extensibility for commercial offerings (open core)
  9. Proposed solution • Publish an open standard that allows new

    and existing feature flag solutions to become spec-compliant • Develop spec-compliant, vendor agnostic SDKs • Integrate with cloud native technologies, such as OpenTelemetery, allowing for enhanced distributed traces, metrics, and request scoped context • Provide a Kubernetes focused reference implementation
  10. OpenFeature is an open standard for feature flag management, created

    to support a robust feature flag ecosystem using cloud native technologies. OpenFeature will provide a unified API and SDK, and a developer-first, cloud-native implementation, with extensibility for open source and commercial offerings. openfeature.dev
  11. OpenFeature • Started in Feb 2022 by Dynatrace • Many

    founding companies - end users and vendors • 20+ interested companies by now • CNCF Sandbox Project https://github.com/open-feature/community/blob/ main/interested-parties.md
  12. What’s inside? • Open Specification • Open Source SDKs for

    common technology stacks • FOSS reference implementations for control plane • Vendor-neutral community
  13. OpenFeature SDKs Done/Preview: • Node.js • Java • Golang •

    .NET & .NET Framework In progress • Python Backlog: Ruby & Co github.com/orgs/open-feature/projects/1/views/8
  14. OpenFeature Providers • Split • CloudBees Feature Management • LaunchDarkly

    • Flagsmith • Go-feature-flag • flagD • … Demos: github.com/open-feature/playgroun d#demo-providers Providers roadmap: https://github.com/orgs/open-featur e/projects/2
  15. February 2022 Define and contact stakeholders. Organize initial team. March

    2022 Define the mission, governance, vision, initial scope, and architecture. May 2022 Announce the project at KubeCon EU. August 2022 Beta release with observability integrations. October 2022 Announce GA release at KubeCon US. Feb Mar Apr May Jun Jul Aug Sept Oct Nov Dec Milestones Project Roadmap
  16. Open Future of OpenFeature Now: • Outreach to potential contributors

    • Summarizing research results, spec drafts • Prototyping and reference implementations • Specification - Beta release Next: • Kubecon! • General Availability release Public Roadmap: github.com/orgs/open-feature/projects/2
  17. Takeaways 1. OpenFeature grows fast, many vendors are onboard 2.

    OpenFeature is ready for evaluation 3. Try it out! github.com/open-feature/playground
  18. Participate in OpenFeature! • Join our Slack • Join us

    for project meetings • Add yourself to Interested Parties • Develop SDKs • Share your feedback! github.com/open-feature/community
  19. Links • Website: openfeature.dev • GitHub: github.com/open-feature • Specification: github.com/open-feature/spec

    • Community and Governance: github.com/open-feature/community • Project roadmap: github.com/orgs/open-feature/projects/2