logo

Turn Me On With Cloud-Native Feature Flags!

2022-10-28

Authors:   Alex Jones


Summary

The presentation discusses the Open Feature project and its two sub-projects, Flag D and Open Feature Operator, which aim to provide a flexible and scalable feature flagging solution for organizations using Kubernetes.
  • The Open Feature project aims to provide a flexible and scalable feature flagging solution for organizations using Kubernetes
  • The Flag D sub-project allows for flag evaluation from a file and supports RPC TCP, UDP datagrams, and percentile-based evaluation
  • The Open Feature Operator sub-project injects feature flag configurations via Flag D into workloads and uses a shared Informer Factory to watch the Kubernetes API for updates
  • The project has garnered interest from various organizations and contributors
  • The speaker shares anecdotes about the development process and the challenges faced in creating a robust and efficient solution
The speaker shares their thought process in developing the Open Feature Operator sub-project, including the initial idea of using config map mounting and the eventual realization that a shared Informer Factory would be a more efficient solution. They also mention the importance of smart logic being driven by Flag D and consumed by applications, using the example of a flag that determines whether to display apples or bananas.

Abstract

Feature flags have long been loved for the ease of turning on or off components running in production. They are fantastic for everything from chaos testing to market research. Open Feature, a new project in the CNCF sandbox, is dedicated to creating a ubiquitous specification for feature flags and enabling them across the entire cloud-native stack. In this talk, we look specifically at the Kubernetes native implementation of Open Feature and illustrate how multiple types of pod workloads can now leverage feature flags. Whether they are web servers, C processes or serverless functions, all can use either Kubeneters native primitives or remote configuration to enable experimentation in a new way. The speaker will walk through key project components such as FlagD and explain the design choices and usage of these services, including an overview of how this enables a complete feature flagging system; with further anecdotes of how multiple communities have collaborated on this project. This first-hand information from one of the project team maintainers will aim to excite and get people thinking about how they can implement feature flags in their own workloads.

Materials: