Profile picture
Heidi in transit @wiredferret
, 21 tweets, 11 min read Read on Twitter
#OReillySACon @jkodumal: The problem with “feature flags” is that we associate “features” with something users see, but lots of ways to reduce risk aren’t visible to end users. Feature flagging can fit into devops neatly.
#OReillySACon @jkodumal: How does feature management fit into the devops puzzle? First, let’s talk about devops.
#OReillySACon @jkodumal: The original “devops talk” was “10 Deploys a Day at Netflix” by Allspaw and Hammond in 2009. They were talking about feature flags even then!
#OReillySACon @jkodumal: Both Dev and Ops exist to enable the business to keep running. They don’t have conflicting goals, if you drill down into motivations.
#OReillySACon @jkodumal: Current state of feature flagging: Used by devs to control new customer visible changes. Roll back if there’s a bug.
#OReillySACon @jkodumal: Where we should be: devs and devops should be using feature flagging to 1) Mitigate risk around most complex changes. 2) Provide safety valves to ensure site availability 3) Tune and optimize operational parameters.
#OReillySACon @jkodumal: We want the world to look more like DevOps mission control, with the ability to both monitor and control parts of spaceflight.
#OReillySACon @jkodumal: Feature flag definition 1) A decision point in code whose behavior can vary based on input (Fancy IF statement)
#OReillySACon @jkodumal: 2) Feature flagging is coding without destroying what happened before.
#OReillySACon @jkodumal: 3) Feature flagging is a way to separate deployment from release.
#OReillySACon @jkodumal: 4) Context-sensitive, dynamic configuration
#OReillySACon @jkodumal: Load balancing is a great complimentary technique for feature flags. Some things can’t be feature flagged, especially if they’re outside the application code.
#OReillySACon @jkodumal: Users are too sophisticated to accept planned downtime for schema migration. You might use dual-write systems to transfer traffic to a new DB.
#OReillySACon @jkodumal: But it’s all-or-nothing. If the cutover fails, you’re stuck. And it’s hard to roll back/reverse the migration.
#OReillySACon @jkodumal: Using feature flags to gradually cut over the database and comparing and then discarding the results of the new DB.
#OReillySACon @jkodumal: Safety valves: A long-term flag that can be used to degrade non-critical functionality to maintain availability under heavy load.
#OReillySACon @jkodumal: Use nested feature flags to group together all similar items that you may want to shut off at once (third-party scripts)
#OReillySACon @jkodumal: Use permissions on your flag to keep people from taking down the system accidentally.
#OReillySACon @jkodumal: Captain’s log: When an on-call engineer goes off-shift, they enter information to pass on to the next person.
#OReillySACon @jkodumal: Dynamic configuration management: Feature flags don’t have to return boolean values - we can use them to return anything, like connection pool settings or timeouts.
#OReillySACon @jkodumal: Having a configuration that changes on a per-user bases is powerful and interestesting, but also pretty risky!
Missing some Tweet in this thread?
You can try to force a refresh.

Like this thread? Get email updates or save it to PDF!

Subscribe to Heidi in transit
Profile picture

Get real-time email alerts when new unrolls are available from this author!

This content may be removed anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just three indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member and get exclusive features!

Premium member ($3.00/month or $30.00/year)

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!