Skip to main content
This guide demonstrates how to use AWS AppConfig (part of AWS Systems Manager) to roll out configuration changes safely without redeploying application code. AppConfig is ideal for feature flags, runtime toggles, and staged configuration rollouts that reduce risk and improve observability. What you’ll learn:
  • Create an AppConfig Application and Environment
  • Add a Configuration Profile that acts as your config source
  • Define a Deployment Strategy for staged rollouts
  • Start a controlled deployment and observe progress
Useful links:

1) Open AppConfig and create an application

  1. Open the AWS Systems Manager console and select AppConfig from the left-hand navigation.
  2. Create a new Application to represent the workload whose configuration you want to manage (for example, a web app, API, or backend service).
  3. Name the application with a descriptive identifier (for example, DemoApplication).
  4. Create an Environment for that application (for example, Production) so you can isolate and control where configuration changes are deployed.
Screenshot of the AWS AppConfig console showing a "DemoApplication" details page with Application ID "g4l6ota" and buttons to update or delete the application. The page also shows tabs for Configuration Profiles, Environments, Experiments and a highlighted "Create environment" button.
Environments separate configuration for development, testing, and production. When created, the console shows the environment’s state (for example, “Ready for deployment”) and lists associated Deployments and Monitors.
A screenshot of the AWS AppConfig console showing the "Production" environment for a DemoApplication, marked "Ready for deployment" with buttons to Update, Delete, and Start deployment. The Environment ID "hqsgoyn" and tabs for Deployments and Monitors are visible.

2) Create a configuration profile (your config source)

Configuration Profiles hold the data your application retrieves at runtime. Typical uses include feature flags, toggles, or other runtime settings. Steps:
  • From your Application page, create a new Configuration Profile.
  • Choose the configuration type (for this demo, use a freeform configuration).
  • Give it a name (for example, DemoConfigFreeform) and set the content type (e.g., JSON).
  • Add the configuration content and either deploy immediately or save for later.
Example (feature-flag style JSON):
After creation, the profile appears on the Application page.
A screenshot of the AWS AppConfig console showing the "Configuration Profiles and Feature Flags" page for a DemoApplication, with a listed profile named "DemoConfigFreeform" and a prominent "Create configuration" button. The top navigation bar shows the region/account area, search field, and other AWS console controls.

3) Create a deployment strategy

Deployment strategies define how configuration updates are rolled out across targets. Instead of changing everything at once, AppConfig supports staged rollouts (linear, canary, all-at-once) to limit blast radius. To create a strategy:
  • Open Deployment strategies in AppConfig.
  • Create a new strategy (for example, SafeDeployment).
  • Choose a deployment type. For this demo pick a Linear strategy and configure:
    • Step percentage: how much of the target gets updated in each increment
    • Step duration: how long to wait between increments
A linear strategy increases the rollout by the configured percentage at each step until the rollout reaches 100%.
Screenshot of the AWS AppConfig "Create deployment strategy" page in the AWS console, showing fields like Deployment type set to "Linear", Step percentage at 20, and deployment time settings.
Once created, your strategy appears in the list.
Screenshot of the AWS AppConfig "Deployment strategies" console. It shows listed strategies (SafeDeployment, AppConfig.AllAtOnce, AppConfig.Linear50PercentEvery30Seconds) with buttons to Update, Delete, or Create a deployment strategy.
Quick overview of common strategies:

4) Start a deployment

To start a deployment:
  1. Return to the Application page and select the target Environment.
  2. Choose the Configuration Profile you created (e.g., DemoConfigFreeform).
  3. Select the Hosted configuration version (first rollout will usually be version 1).
  4. Choose the Deployment strategy (e.g., SafeDeployment).
  5. Optionally add a description and click Start deployment.
The console displays deployment progress and state (for example, Baking, Complete, or Stopped), plus percentage complete and strategy details. Staged strategies advance progress in increments defined by step percentage and interval.
Screenshot of the AWS AppConfig console showing "Deployment 1" deployment details, with the deployment state listed as "Baking" and percentage complete at 100%. The page also shows the start time (Wed, 30 Sep 2026 21:57:07 GMT) and a "Stop deployment" button.
AWS AppConfig separates application configuration from code and lets you perform controlled, observable rollouts (feature flags, scheduled rollouts, and staged deployments) without redeploying application binaries. This reduces risk and accelerates safe operational changes.
Always validate configuration changes in a non-production environment and use monitors/alarms during initial rollout steps. Staged deployments reduce risk but do not replace good observability and testing.
Quick checklist for safe AppConfig rollouts: For exam and practical purposes, remember:
  • AppConfig separates configuration from application code.
  • It supports controlled deployments (linear, canary, all-at-once).
  • It enables feature flags and scheduled rollouts without a full application deployment.
References and further reading:

Watch Video