Configuration
Configuration = a set of parameters (constants) the system is going to be used.
Types:
- Static — configuration and code are bundled into one package. Save but slow (because we need to redeploy)
- Dynamic — config is separate from code. More flexibility. Configs can be saved on some database. We can build over system based on configs (for example UI components). Cons: of course it comes with some risks, no tests & no reviews while something is changed. But special apps can be build to make this process saver. Set up CI/CD better.
Feature flags
Feature flags = technique used to turn features on or off in software without making any code changes.
The main advantage of feature flags is that they provide a way to test new features or changes in a controlled environment, before releasing them to the public.
In addition, feature flags also allows you to test new features on a small group of users, then, if it's successful, you can roll out the feature to a larger group of users, and eventually to all users.