How to Manage a Toggle in a CI/CD Environment


Toggle is a control that lets people update preferences, settings, and other kinds of information. It’s important that toggle switches are clearly labeled so that people know what they are doing. For example, designers often use color to indicate whether a switch is on or off. But this can be problematic because some users have red/green color blindness, and for them it may not make sense to associate green with “on” and red with “off”.

Toggles should be easy for people to understand. They should clearly communicate what will happen if they click on them and they should update their appearance based on what state they are currently in. For example, when a toggle is on it should be bright or active, and when it’s off it should be dim or passive.

The configuration of a Toggle can be managed in various ways, ranging from static files to real distributed configuration systems. In general it is best to avoid hardcoded toggles because once the number of them reaches a certain size changing them becomes difficult. This can negatively impact the time it takes to test a feature or to change it, which can have an adverse effect on the cycle time of your CI/CD process.

When you need to manage a large number of toggles (especially a Permissioning Toggle) it is generally a good idea to use some form of real distributed configuration system such as an application DB or a containerized microservice. This can make it easier for testers and product managers to change a toggle quickly and without affecting the overall system performance.