We built a powerful e-commerce platform and heavily used LaunchDarkly to launch features behind a flag. This allowed us to implement trunk-based development, significantly improving our development speed. We could continuously deploy everything behind a flag and enable features only when ready, which was incredibly helpful.
There are certain features we need to keep behind a flag. Typically, there are two ways to do this: using a property file or using LaunchDarkly. With property files, we had to deploy the feature in a lower environment, update the property, and then restart the server.
LaunchDarkly, on the other hand, offers real-time changes and the ability to disable features if issues arise in production. This real-time capability is extremely beneficial.
Targeting rules have improved our deployment process.
Our deployment process has become much faster. We are able to keep rolling out to production even if a feature isn't fully ready. We simply don't enable it until it's complete. LaunchDarkly also helps with certain business use cases that require time-sensitive run-time decisions.
For instance, during validation processes, both conditions need to be met, but the upstream system isn't ready. We can still provide support and, in the future, transition smoothly.
Imagine a scenario where you need to accept both five-digit and ten-digit order numbers, but your system isn't ready for ten-digit numbers yet. LaunchDarkly allows you to support both initially and then, when all other services are ready, enable the ten-digit feature. This makes the rollout seamless.