Companies have been dealing with surges in traffic for decades, whether the upswell was caused by a planned event such as Black Friday or a brand-new product launch of the latest and greatest gadget. Many efforts to handle traffic surges involve a “mid-surge deployment” that can often result in a deployment of new code being sent around the world and a possible system restart, which creates lots of fingers-crossed moments in the hope that new errors are not introduced with the update.
New tools are available that allow companies to deal with surges but also fine-tune changes during mid-surge moments without requiring a restart or complete code refresh. AWS AppConfig, a capability within AWS Systems Manager, gives developers the ability to deploy new features using feature flags. These changes are deployed independently of a large scale code deployment. Features within AppConfig also allow IT teams to make fast and real-time updates, with input validation and deployment choices that provide a safer and reliable update process. This can be particularly beneficial during stressful moments such as a big product launch or when the phone rings at 3 a.m. because of a denial-of-service attack.
Customers can use AppConfig to separate configuration files from an application’s main code. This enables customers to update configuration files quickly and deploy the configuration independent of code deployments. Next, configuration changes are checked and validated before they are deployed. Finally, Applications can fetch configuration from this external source at runtime. Because of this separation, developers can create feature flags and levers that allow for the fine-tuning of an app at any time, even during a traffic surge.
For example, imagine that a retailer is planning to launch a new product, which often brings a huge spike in traffic. The goal is to promote the new product efficiently, and drive sales, without bringing the site down. Within the dynamic configuration, a company can place operational throttling values that create levers that can adjust limits on the fly to handle increased users. Second, an app may offer customers five or six additional recommendations of other products to buy, which might slow down the flow of checkout because of additional computing resources needed. Companies can reduce the number of recommendations or disable it completely during the event. Finally, a post-checkout survey pop-up that typically might appear can be limited to appear only 25% of the time as a way to manage the server resource usage.
Depending on the results of these changes, developers can then go back and fine-tune further, perhaps by raising or lowering the number of customers that would see a particular offer. Once traffic returns to normal, companies can then quickly re-adjust the configuration back to “normal” operations.
“The flexibility of what you can put in your configuration is a great feature of AppConfig,” says Steve Rice, Principal Product Manager of AWS AppConfig. “We have customers that will have really big switches that turn on or off a major section of their application, as well as ones that turn little things on and off to see what works, making fine-grained adjustments to their apps.”
To learn more about how you can use AWS AppConfig feature flags click here.