# Dark Launching and Feature Toggles

DevFeed: [Dark Launching and Feature Toggles](<https://devfeed.tech/articles/dark-launching-and-feature-toggles-31975.md>)

Original publisher: [Read original article](<https://tech.finn.no2013/06/20/dark-launching-and-feature-toggles/>)

Author: mick

Published: 2013-06-20T11:56:20Z

Content type: article

Language: en

Sources: [Finn.no](<https://devfeed.tech/sources/finn-no.md>)

Topics: [Deployment](<https://devfeed.tech/topics/deployment.md>), [DevOps](<https://devfeed.tech/topics/devops.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [Continuous Delivery (CD)](<https://devfeed.tech/topics/continuous-delivery.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [continuous-delivery](<https://devfeed.tech/tags/continuous-delivery.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [devops](<https://devfeed.tech/tags/devops.md>), [incremental](<https://devfeed.tech/tags/incremental.md>), [modular](<https://devfeed.tech/tags/modular.md>), [operations](<https://devfeed.tech/tags/operations.md>), [production](<https://devfeed.tech/tags/production.md>)

## AI overview

The article distinguishes dark launching from feature toggles. It describes dark launching as silently deploying a component, allowing production validation, rollback, and graceful failure, while feature toggles are associated with selective activation, A/B testing, and analytics. It argues that dark launching can support incremental development, continuous delivery, and simpler cleanup.

## Source excerpt

Make sure to distinguish between these two. They are not the same thing, and it's a lot quicker to just Dark Launch. In addition Dark Launching promotes incremental development, continuous delivery, and modular design. Feature Toggles need not, and can possibly be counter-productive. Dark Launching is an operation to silently and freely deploy something. Giving you time to ensure everything operates as expected in production and the freedom to switch back and forth while bugfixing. A Dark Launch's goal is often about being completely invisible to the end-user. It also isolates the context of the deployment to the component itself. Feature Toggling, in contrast, is often the ability to A/B test new products in production. Feature Toggling is typically accompanied with measurements and analytics, eg NetInsight/Google-Analytics. Feature Toggles may also extend to situations when the activation switch of a dark launch can only happen in a consumer codebase, or when only some percentage of executions will use the dark launched code. Given that one constraint of any decent enterprise platform is that all components must fail gracefully Dark Launching is the easiest solution, and a golden opportunity to ensure your new code fails gracefully. Turn the new module on, and it's dark launched and in use, any problems turn it off again. You also shouldn't have to worry about only running some percentage of executions against the new code, let it all go to the new component, if the load is too much the excessive load should also fail-gracefully and fall back to the old system. Dark Launching is the simple approach as it requires no feature toggling framework, or custom key-value store of options. It is a DevOps goal that remains best isolated to the context of DevOps - in a sense the 'toggling' happens through operations and not through code. When everything is finished it is also the easier approach to clean up. Dealing with and cleaning up old code takes up a lot of our time an