Why we need configuration as a service ?

Configuration as a Service: Moving Quickly

As a web scale tech organisation, it’s important that we can move quickly at scale within ForceFlow.

While we’re always tackling this — for example, by moving ever closer to continuous deployment, or by removing barriers which can slow teams down, like infrastructure provisioning (by moving towards AWS) — sometimes it would be nice to make changes without deploying any code at all.

This is where Configuration as a service comes in — the ability to change the behavior of our software systems on the fly without the need to make code changes. Recently the squad I work in released ForceFlow’s first iteration of Configuration as a Service.

Our main motivation behind the system was to enable anyone in the business to safely make changes to our production systems while having the changes backed by A/B tests and associated metrics & reporting. Another motivation was that the system allows us to gracefully bypass a service which is experiencing an unexpected problem. Having this flexibility means we can continue deliver the core experience which people come to ForceFlow for even if something goes wrong behind the scenes.