You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: blog/2022-10-21-hardening-and-1-0-sdks.md
+5-3Lines changed: 5 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,7 +22,7 @@ The release includes stable versions the following features:
22
22
23
23
The specification documents associated with these features have been marked as `hardening`, meaning breaking changes are no longer allowed and usage of these features are encouraged in production environments.
24
24
The release of these SDKs and the stabilization of the specification represent a culmination of efforts by a dedicated group of vendors, practitioners and subject matter experts.
25
-
Providers are [already available](https://openfeature.dev/docs/reference/technologies/) for major vendors and popular community projects.
25
+
Providers are [already available](https://openfeature.dev/docs/reference/sdks/) for major vendors and popular community projects.
26
26
It's our hope that the efforts to stabilize the OpenFeature specification and SDKs will lead to more adoption of both OpenFeature and feature flagging in general, and promote a vibrant ecosystem around this increasingly important development pattern.
27
27
28
28
In addition to those mentioned above, experimental features available in the 1.0 SDKs include:
@@ -33,7 +33,9 @@ In addition to those mentioned above, experimental features available in the 1.0
33
33
34
34
## What's next?
35
35
36
-
Our goal in the upcoming months will be to harden our existing experimental features. Additionally, we'll work to develop and standardize new capabilities, including: client-side feature flagging, improved cloud native tooling, and implicit transaction-scoped data propagation of contextual attributes.
36
+
Our goal in the upcoming months will be to harden our existing experimental features.
37
+
Additionally, we'll work to develop and standardize new capabilities, including: client-side feature flagging, improved cloud native tooling, and implicit transaction-scoped data propagation of contextual attributes.
37
38
Furthermore, we're working on SDKs for additional languages, including [PHP](https://github.com/open-feature/php-sdk), [Python](https://github.com/open-feature/python-sdk), and [Ruby](https://github.com/open-feature/ruby-sdk).
38
39
39
-
If you're interested in contributing or learning more about OpenFeature, please join our expanding and friendly community. Visit our [GitHub](https://github.com/open-feature), join the [OpenFeature slack channel](https://cloud-native.slack.com/archives/C0344AANLA1) on the CNCF Slack instance, or hop into our [bi-weekly community meeting](https://github.com/open-feature/community#meetings-and-events).
40
+
If you're interested in contributing or learning more about OpenFeature, please join our expanding and friendly community.
41
+
Visit our [GitHub](https://github.com/open-feature), join the [OpenFeature slack channel](https://cloud-native.slack.com/archives/C0344AANLA1) on the CNCF Slack instance, or hop into our [bi-weekly community meeting](https://github.com/open-feature/community#meetings-and-events).
Copy file name to clipboardExpand all lines: blog/2023-03-27-feature-flags-if-statements.md
+24-8Lines changed: 24 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,7 +11,8 @@ draft: false
11
11
12
12
Most feature flag explainers begin by explaining that feature flags are equivalent to environment variables.
13
13
14
-
While that’s true (to a point), feature flags wouldn’t be as versatile or as popular as they are, if that’s all they were. Indeed, you wouldn’t need a feature flag – you could easily achieve the same thing with an environment variable.
14
+
While that’s true (to a point), feature flags wouldn’t be as versatile or as popular as they are, if that’s all they were.
15
+
Indeed, you wouldn’t need a feature flag – you could easily achieve the same thing with an environment variable.
15
16
16
17
<!--truncate-->
17
18
@@ -26,47 +27,60 @@ if isPremiumMember {
26
27
return v1
27
28
}
28
29
```
30
+
29
31
Now try modeling this in code:
32
+
30
33
- If user is premium and located in Europe = v2 (purple)
31
34
- If user is premium and located in the US = v3 (red)
32
35
- If user is premium and located in Australia = v4 (orange)
33
36
- Everyone else gets v1 (green)
34
37
35
-
That’s 2 variables. Imagine how many variations a real system has. Now imagine trying to update these conditions in real time, without a redeployment.
38
+
That’s 2 variables.
39
+
Imagine how many variations a real system has.
40
+
Now imagine trying to update these conditions in real time, without a redeployment.
- Simple or complex: Flag rules can be as simple or as complex as you wish. This makes getting started easy with plenty of room to grow and expand.
42
-
- Separation of concerns: Feature flags allow a deployment without a release. All new features are placed behind flags and those flags are disabled during deployment.
46
+
- Simple or complex: Flag rules can be as simple or as complex as you wish.
47
+
This makes getting started easy with plenty of room to grow and expand.
48
+
- Separation of concerns: Feature flags allow a deployment without a release.
49
+
All new features are placed behind flags and those flags are disabled during deployment.
43
50
- Shortcut to continuous delivery: If you can deploy anything at any time with zero risk, why not do it?
44
51
- Separation of responsibilities: Product managers take responsibility for feature flags, leaving DevOps teams to deal with their area of responsibility.
45
52
46
53
## So, are Feature Flags if Statements?
47
-
No, feature flagging is so much more powerful and dynamic than environment variables or if statements. But if you’re already using if statements, you already have enough knowledge to take your environment variables and if statements to the next level with feature flags.
54
+
55
+
No, feature flagging is so much more powerful and dynamic than environment variables or if statements.
56
+
But if you’re already using if statements, you already have enough knowledge to take your environment variables and if statements to the next level with feature flags.
48
57
If you’re stuck on the environment variable + if statement metaphor, feature flags are a very flexible if statement that you can **target**, **update**, **toggle** and **gain observability over**, in**real time** without a **re-deployment**.
49
58
50
59
## Where Do I Start?
60
+
51
61
Start with the OpenFeature hands-on tutorials.
52
62
53
63
These tutorials are provided by Killercoda, a third-party in-browser learning platform.
54
64
55
65
All tutorials are free to use and the [tutorial source code is open](https://github.com/open-feature/killercoda).
56
66
57
67
### 1: OpenFeature Demo
68
+
58
69
Never encountered feature flags?
59
70
This is the 30,000ft view showing the power and versatility of feature flags.
Any open source tool or vendor can support OpenFeature and many do. Check the [technologies section](https://openfeature.dev/docs/reference/technologies/) to see what tools and vendors are supported in your language.
79
+
Any open source tool or vendor can support OpenFeature and many do.
80
+
Check the [technologies section](https://openfeature.dev/docs/reference/sdks/) to see what tools and vendors are supported in your language.
68
81
69
-
If you don't already use a flag evaluation system, flagd is a good place to start without having to code your own backend solution. Try the [flagd demo on killercoda](https://killercoda.com/open-feature/scenario/flagd-demo).
82
+
If you don't already use a flag evaluation system, flagd is a good place to start without having to code your own backend solution.
83
+
Try the [flagd demo on killercoda](https://killercoda.com/open-feature/scenario/flagd-demo).
70
84
71
85
### 3. Instrument Your Application
72
86
@@ -77,8 +91,10 @@ Your application must now be modified to interact with your chosen flag evaluati
77
91
The [Five minutes to feature flags](https://killercoda.com/open-feature/scenario/five-minutes-to-feature-flags) tutorial walks through how to do this.
78
92
79
93
### 4: Feature Flags on Kubernetes?
94
+
80
95
Are you Kubernetes-native and want to manage and use feature flags entirely on Kubernetes?
81
96
82
97
Any open source or vendor tool which offers OpenFeature compliant k8s feature flagging will work.
83
98
84
-
The [Operator tutorial](https://killercoda.com/open-feature/scenario/openfeature-operator-demo) shows one option, using flagd. Flagd leverages Custom Resources to manage feature flags via GitOps and make feature flags available to your pods via annotations.
99
+
The [Operator tutorial](https://killercoda.com/open-feature/scenario/openfeature-operator-demo) shows one option, using flagd.
100
+
Flagd leverages Custom Resources to manage feature flags via GitOps and make feature flags available to your pods via annotations.
0 commit comments