Climate LLC operates feature flags for mobile app development
A Bayer subsidiary expanded its digital farming apps amid a global climate crisis and used trunk-based mobile app development and feature indicators to keep them reliable.
Feature flags are a mechanism for enabling and disabling application features as applications move between development and production DevOps environments. Until 2020, Climate LLC, formerly known as The Climate Corp., had used an in-house developed feature flag utility. That year, it signed with a commercial vendor, LaunchDarkly, to support the use of feature flags at scale, with role-based access control and finer-grained feature targeting than what he could achieve with his internal tool.
“Over the past few years, we’ve embraced continuous delivery and testing in production,” said Artie Lee, director of engineering at Climate LLC. “Previously, we used QA, staging and other environments, but now our developers go straight into production after automated testing.”
This approach is called trunk-based development, in which developers commit changes to one main branch of code, rather than merging changes from separate, long-lived feature branches. For the engineering teams at Climate LLC, this improved the speed and safety of feature updates by forcing smaller, more frequent changes. Feature flags, which can be toggled on and off like a switch, provide near-instant rollback for production applications in the event of errors, Lee said.
The stakes for production application reliability are high for Climate LLC’s agricultural customers, who often have limited time windows to plant and harvest crops, he added.
“If something goes wrong, we can quickly roll back to a known good state, rather than redeploying the app,” he said. Redeployment may have to go through Apple and Google’s mobile app verification process, which can take anywhere from 24 hours to 2 days, far too long for agricultural customers to wait for access.
Artie LeeDirector of Engineering, Climate LLC
“In the agricultural space, technology like this is still nascent, and if your average time to retrieve your app hits your users for two days during a critical period, it will do or destroy if they use it again” , did he declare. “As a farmer, you have about 40 chances to succeed in a lifetime – 40 annual seasons. As a software engineer, I have 40 chances every week to write code.”
These crucial days each year are also becoming less and less predictable due to climate change, making the reliability of mobile crop science apps even more crucial. “If you disrupt planting and harvesting, those two days can be a big chunk of a farmer’s annual income,” he said.
Since 2020, the number of chances for Climate LLC developers to make or break its iOS and Android apps has also increased exponentially, as it has grown from being a US-only company to being available in 23 countries and 18 languages, with some 200 million acres under management. starting this year.
“We need to make sure apps are available globally, 24/7, especially with climate change affecting weather and when planting and harvesting can begin,” Lee said. “These cycles were pretty much the same year after year, but they’re not the same anymore.”
Small changes and simple applications are the key to effective incident response
Another attractive aspect of LaunchDarkly’s commercial feature flags tool is that it can archive old and unused feature flags to avoid clutter in the production environment. Its reporting interface replaced an ad hoc system of snapshots managed by multiple teams using tribal knowledge with the previous local tool, Lee said.
While Climate LLC has about 400 developers, the feature flags are primarily used by mobile app development teams, about 90 engineers in total, who share a 75-seat license for LaunchDarkly. According to Lee, some lessons were learned as the company’s developers expanded their use of feature flags, such as the potential pitfalls of too many nested flags.
“If you have a complex feature, you may find yourself in awkward situations trying to test all the different possible code paths,” he said. “We found it best to limit the scope of the flag hierarchy to two levels.”
So far, correlating feature flag toggles with issues that may occur in production is still a manual process for the developers at Climate LLC. LaunchDarkly offers feature flag triggers which toggle indicators on and off in response to alerts from observability tools like Datadog, Dynatrace, and Honeycomb, but Lee said he’d also like to start using something like LaunchDarkly Jira integration to correlate production errors with feature flag changes in existing developer workflows.
“LaunchDarkly gives us a good audit trail of who changed what and why, but [for now] it can be kind of a manual process for engineers to trace an issue back to a specific change,” Lee said.
Beth Pariseau, Senior Writer at TechTarget, is an award-winning veteran of IT journalism. She can be reached at [email protected] or on Twitter @PariseauTT.