liveBook · Manning

OpenFeature SDK

As explained in Platform Engineering on Kubernetes

The OpenFeature SDK is a software development kit that provides client components for consuming and evaluating feature flags through OpenFeature.

The OpenFeature SDK gives application services a consistent API for consuming and evaluating feature flags, independent of the provider that stores and manages them. section 7.3.4

Use the SDK to separate service code from feature-flag infrastructure:

  • Connect services to an OpenFeature provider such as flagd, which can watch feature definitions stored in a Kubernetes ConfigMap. section 7.3.4
  • Evaluate complex flags in application code, including their types and enabled or disabled state. section 7.3.5
  • Change the provider or its storage mechanism without changing application code, while allowing updated values without restarting containers. section 7.3.4 section 7.3.5

Evaluating a Conference application flag

A Go service can evaluate the eventsEnabled flag through its OpenFeature client, passing an evaluation context and receiving a typed object value. In the Conference application, each service includes the SDK and points to flagd, while platform teams control how shared flags are stored and managed. section 7.3.5

Figure 7.22 Consuming and evaluating feature flags from our application services

Use the architecture figure to trace application services through the OpenFeature SDK to the flagd provider and its feature-flag definitions. section 7.3.4

How Platform Engineering on Kubernetes covers it

How deep it goes
Explains provider abstraction and typed evaluation, but stops short of detailing the SDK implementation internals.
Examples
Uses a Go Conference application, flagd, a ConfigMap, variant definitions, and an eventsEnabled evaluation call.
What it assumes
Assumes familiarity with application services and feature flags, while demonstrating provider abstraction and evaluation from a service-level perspective.
What you can do after
Apply it via the OpenFeature Go SDK to evaluate typed flags while keeping service code independent of provider implementation.
How it connects
Connects feature flags with flagd, Kubernetes ConfigMaps, feature-flag providers, and platform capabilities.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Platform Engineering on Kubernetes. The section links point to the parts of the book it draws on.