Working with deployment strategies - AWS AppConfig

Working with deployment strategies

A deployment strategy enables you to slowly release changes to production environments over minutes or hours. An AWS AppConfig deployment strategy defines the following important aspects of a configuration deployment.

Setting Description

Deployment type

Deployment type defines how the configuration deploys or rolls out. AWS AppConfig supports Linear and Exponential deployment types.

  • Linear: For this type, AWS AppConfig processes the deployment by increments of the growth factor evenly distributed over the deployment. Here's an example timeline for a 10 hour deployment that uses 20% linear growth:

    Elapsed time Deployment progress

    0 hour

    0%

    2 hour

    20%

    4 hour

    40%

    6 hour

    60%

    8 hour

    80%

    10 hour

    100%

  • Exponential: For this type, AWS AppConfig processes the deployment exponentially using the following formula: G*(2^N). In this formula, G is the step percentage specified by the user and N is the number of steps until the configuration is deployed to all targets. For example, if you specify a growth factor of 2, then the system rolls out the configuration as follows:

    2*(2^0) 2*(2^1) 2*(2^2)

    Expressed numerically, the deployment rolls out as follows: 2% of the targets, 4% of the targets, 8% of the targets, and continues until the configuration has been deployed to all targets.

Step percentage (growth factor)

This setting specifies the percentage of callers to target during each step of the deployment.

Note

In the SDK and the AWS AppConfig API Reference, step percentage is called growth factor.

Deployment time

This setting specifies an amount of time during which AWS AppConfig deploys to hosts. This is not a timeout value. It is a window of time during which the deployment is processed in intervals.

Bake time

This setting specifies the amount of time AWS AppConfig monitors for Amazon CloudWatch alarms after the configuration has been deployed to 100% of its targets, before considering the deployment to be complete. If an alarm is triggered during this time, AWS AppConfig rolls back the deployment. You must configure permissions for AWS AppConfig to roll back based on CloudWatch alarms. For more information, see (Recommended) Configure permissions for automatic rollback.

You can choose a predefined strategy included with AWS AppConfig or create your own.