diff options
author | EuAndreh <eu@euandre.org> | 2020-10-11 06:06:59 -0300 |
---|---|---|
committer | EuAndreh <eu@euandre.org> | 2020-10-11 11:08:52 -0300 |
commit | 0a8cb2d44554a98a8859efad550278737888a796 (patch) | |
tree | ab36c211e97b3cdbbf408188c35be9758f2ba42f /_slides | |
parent | rm drafts/til.md (diff) | |
download | euandre.org-0a8cb2d44554a98a8859efad550278737888a796.tar.gz euandre.org-0a8cb2d44554a98a8859efad550278737888a796.tar.xz |
rollout slides: Add tweaked version, after improving post presentation
Diffstat (limited to '_slides')
-rw-r--r-- | _slides/2020-10-09-rollout-feature-flag-experiment-operational-toggle.slides (renamed from _slides/2020-10-10-rollout-feature-flag-experiment-operational-toggle.slides) | 39 |
1 files changed, 21 insertions, 18 deletions
diff --git a/_slides/2020-10-10-rollout-feature-flag-experiment-operational-toggle.slides b/_slides/2020-10-09-rollout-feature-flag-experiment-operational-toggle.slides index cb374f4..7c78150 100644 --- a/_slides/2020-10-10-rollout-feature-flag-experiment-operational-toggle.slides +++ b/_slides/2020-10-09-rollout-feature-flag-experiment-operational-toggle.slides @@ -1,6 +1,6 @@ --- title: Rollout, feature flag, experiment, operational toggle -date: 2020-10-10 +date: 2020-10-09 layout: slides lang: en ref: rollout-feature-flag-experiment-operational-toggle @@ -104,6 +104,8 @@ Relevant as long as the new code is being developed Lives for as long as the code is in production. +It feels like a system-level circuit breaker. + --- We now know about the types @@ -114,28 +116,28 @@ We now know about the types # backend -1. **rollout**: k8s, blue/green, canary pipeline and `common-rollout` +1. **rollout**: k8s blue/green, canary and `common-rollout` 2. **feature flag**: `common-rollout` and datasets -3. **operational toggle**: `common-rollout` -4. **experiment**: `common-xp` +3. **experiment**: `common-xp` +4. **operational toggle**: `common-rollout` ??? -rollout: k8s, common-rollout - This is a bit why common-rollout isn't called *common-feature-flag*: it was -initially designed with backend usage of *rollouts* in mind. +initially designed with backend usage of mostly *rollouts* in mind, and just a +bit *feature flags*. -feature flag: +Avoid using configuration for doing operational toggles: it is less dynamic, so +it defeats the purpose. --- # frontend 1. **rollout**: CDN and page refreshes -2. **feature flag**: percentages and maybe IPs (no `:customer/id` on [www.nubank.com.br](www.nubank.com.br)) -3. **operational toggle**: via dynamic backend control -4. **experiment**: via dynamic backend control +2. **feature flag**: percentages and maybe IPs (no `:customer/id` on the website) +3. **experiment**: via dynamic backend control +4. **operational toggle**: via dynamic backend control --- @@ -143,8 +145,8 @@ feature flag: 1. **rollout**: app stores 2. **feature flag**: via dynamic backend control -3. **operational toggle**: via dynamic backend control -4. **experiment**: via dynamic backend control +3. **experiment**: via dynamic backend control +4. **operational toggle**: via dynamic backend control --- @@ -193,13 +195,14 @@ But it is easy to fallback to "reload the page and try again". # Costs - more complex code -- nested flags combine exponentially +- compatibility with old app versions +- nesting is exponential --- # Benefits -- dynamically choose code paths for each customer +- dynamicity --- @@ -293,7 +296,7 @@ Use `:app-version` with `:min-version` instead # ***Always*** rely on a feature flag on the app -Hotfixes and expedited releases is a thing of the past +Hot fixes and expedited releases is a thing of the past ??? @@ -314,8 +317,8 @@ You should ask yourself: References: -1. these slides: https://euandre.org/slides.html -2. [prose version of this presentation]({% link _articles/2020-10-10-feature-flags-differences-between-backend-frontent-and-mobile.md %}) +1. these slides: [euandre.org/slides.html]({% link slides.md %}) +2. [prose version of this presentation]({% link _articles/2020-10-12-feature-flags-differences-between-backend-frontent-and-mobile.md %}) 3. ["Feature Toggles (aka Feature Flags)"](https://martinfowler.com/articles/feature-toggles.html), by Pete Hodgson 4. [Continuous integration vs. continuous delivery vs. continuous deployment](https://www.atlassian.com/continuous-delivery/principles/continuous-integration-vs-delivery-vs-deployment), |