|
6 | 6 |
|
7 | 7 | AWS SDK for JavaScript AppConfig Client for Node.js, Browser and React Native.
|
8 | 8 |
|
9 |
| -<p>Use AppConfig, a capability of Amazon Web Services Systems Manager, to create, manage, and quickly |
10 |
| -deploy application configurations. AppConfig supports controlled deployments to |
11 |
| -applications of any size and includes built-in validation checks and monitoring. You can |
12 |
| -use AppConfig with applications hosted on Amazon EC2 instances, Lambda, containers, |
13 |
| -mobile applications, or IoT devices.</p> |
14 |
| -<p>To prevent errors when deploying application configurations, especially for production |
15 |
| -systems where a simple typo could cause an unexpected outage, AppConfig includes |
16 |
| -validators. A validator provides a syntactic or semantic check to ensure that the |
17 |
| -configuration you want to deploy works as intended. To validate your application |
18 |
| -configuration data, you provide a schema or an Amazon Web Services Lambda function that runs against |
19 |
| -the configuration. The configuration deployment or update can only proceed when the |
20 |
| -configuration data is valid.</p> |
21 |
| -<p>During a configuration deployment, AppConfig monitors the application to |
22 |
| -ensure that the deployment is successful. If the system encounters an error, AppConfig rolls back the change to minimize impact for your application users. You can |
23 |
| -configure a deployment strategy for each application or environment that includes |
24 |
| -deployment criteria, including velocity, bake time, and alarms to monitor. Similar to error |
25 |
| -monitoring, if a deployment triggers an alarm, AppConfig automatically rolls back |
26 |
| -to the previous version. </p> |
27 |
| -<p>AppConfig supports multiple use cases. Here are some examples:</p> |
| 9 | +<p>AppConfig feature flags and dynamic configurations help software builders |
| 10 | +quickly and securely adjust application behavior in production environments without full |
| 11 | +code deployments. AppConfig speeds up software release frequency, improves |
| 12 | +application resiliency, and helps you address emergent issues more quickly. With feature |
| 13 | +flags, you can gradually release new capabilities to users and measure the impact of those |
| 14 | +changes before fully deploying the new capabilities to all users. With operational flags |
| 15 | +and dynamic configurations, you can update block lists, allow lists, throttling limits, |
| 16 | +logging verbosity, and perform other operational tuning to quickly respond to issues in |
| 17 | +production environments.</p> |
| 18 | +<note> |
| 19 | +<p>AppConfig is a capability of Amazon Web Services Systems Manager.</p> |
| 20 | +</note> |
| 21 | +<p>Despite the fact that application configuration content can vary greatly from |
| 22 | +application to application, AppConfig supports the following use cases, which |
| 23 | +cover a broad spectrum of customer needs:</p> |
28 | 24 | <ul>
|
29 | 25 | <li>
|
30 | 26 | <p>
|
31 |
| -<b>Feature flags</b>: Use AppConfig to turn on |
32 |
| -new features that require a timely deployment, such as a product launch or |
33 |
| -announcement. </p> |
| 27 | +<b>Feature flags and toggles</b> - Safely release new |
| 28 | +capabilities to your customers in a controlled environment. Instantly roll back |
| 29 | +changes if you experience a problem.</p> |
34 | 30 | </li>
|
35 | 31 | <li>
|
36 | 32 | <p>
|
37 |
| -<b>Application tuning</b>: Use AppConfig to |
38 |
| -carefully introduce changes to your application that can only be tested with |
39 |
| -production traffic.</p> |
| 33 | +<b>Application tuning</b> - Carefully introduce |
| 34 | +application changes while testing the impact of those changes with users in |
| 35 | +production environments.</p> |
40 | 36 | </li>
|
41 | 37 | <li>
|
42 | 38 | <p>
|
43 |
| -<b>Allow list</b>: Use AppConfig to allow |
44 |
| -premium subscribers to access paid content. </p> |
| 39 | +<b>Allow list or block list</b> - Control access to |
| 40 | +premium features or instantly block specific users without deploying new code. |
| 41 | +</p> |
45 | 42 | </li>
|
46 | 43 | <li>
|
47 | 44 | <p>
|
48 |
| -<b>Operational issues</b>: Use AppConfig to |
49 |
| -reduce stress on your application when a dependency or other external factor impacts |
50 |
| -the system.</p> |
| 45 | +<b>Centralized configuration storage</b> - Keep your |
| 46 | +configuration data organized and consistent across all of your workloads. You can use |
| 47 | +AppConfig to deploy configuration data stored in the AppConfig |
| 48 | +hosted configuration store, Secrets Manager, Systems Manager, Parameter |
| 49 | +Store, or Amazon S3.</p> |
51 | 50 | </li>
|
52 | 51 | </ul>
|
| 52 | +<p> |
| 53 | +<b>How AppConfig works</b> |
| 54 | +</p> |
| 55 | +<p>This section provides a high-level description of how AppConfig works and how |
| 56 | +you get started.</p> |
| 57 | +<dl> |
| 58 | +<dt>1. Identify configuration values in code you want to manage in the cloud</dt> |
| 59 | +<dd> |
| 60 | +<p>Before you start creating AppConfig artifacts, we recommend you |
| 61 | +identify configuration data in your code that you want to dynamically manage using |
| 62 | +AppConfig. Good examples include feature flags or toggles, allow and |
| 63 | +block lists, logging verbosity, service limits, and throttling rules, to name a |
| 64 | +few.</p> |
| 65 | +<p>If your configuration data already exists in the cloud, you can take advantage |
| 66 | +of AppConfig validation, deployment, and extension features to further |
| 67 | +streamline configuration data management.</p> |
| 68 | +</dd> |
| 69 | +<dt>2. Create an application namespace</dt> |
| 70 | +<dd> |
| 71 | +<p>To create a namespace, you create an AppConfig artifact called an |
| 72 | +application. An application is simply an organizational construct like a |
| 73 | +folder.</p> |
| 74 | +</dd> |
| 75 | +<dt>3. Create environments</dt> |
| 76 | +<dd> |
| 77 | +<p>For each AppConfig application, you define one or more environments. |
| 78 | +An environment is a logical grouping of targets, such as applications in a |
| 79 | +<code>Beta</code> or <code>Production</code> environment, Lambda functions, |
| 80 | +or containers. You can also define environments for application subcomponents, |
| 81 | +such as the <code>Web</code>, <code>Mobile</code>, and |
| 82 | +<code>Back-end</code>.</p> |
| 83 | +<p>You can configure Amazon CloudWatch alarms for each environment. The system monitors |
| 84 | +alarms during a configuration deployment. If an alarm is triggered, the system |
| 85 | +rolls back the configuration.</p> |
| 86 | +</dd> |
| 87 | +<dt>4. Create a configuration profile</dt> |
| 88 | +<dd> |
| 89 | +<p>A configuration profile includes, among other things, a URI that enables |
| 90 | +AppConfig to locate your configuration data in its stored location |
| 91 | +and a profile type. AppConfig supports two configuration profile types: |
| 92 | +feature flags and freeform configurations. Feature flag configuration profiles |
| 93 | +store their data in the AppConfig hosted configuration store and the URI |
| 94 | +is simply <code>hosted</code>. For freeform configuration profiles, you can store |
| 95 | +your data in the AppConfig hosted configuration store or any Amazon Web Services |
| 96 | +service that integrates with AppConfig, as described in <a href="http://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-free-form-configurations-creating.html">Creating |
| 97 | +a free form configuration profile</a> in the the <i>AppConfig User Guide</i>.</p> |
| 98 | +<p>A configuration profile can also include optional validators to ensure your |
| 99 | +configuration data is syntactically and semantically correct. AppConfig |
| 100 | +performs a check using the validators when you start a deployment. If any errors |
| 101 | +are detected, the deployment rolls back to the previous configuration data.</p> |
| 102 | +</dd> |
| 103 | +<dt>5. Deploy configuration data</dt> |
| 104 | +<dd> |
| 105 | +<p>When you create a new deployment, you specify the following:</p> |
| 106 | +<ul> |
| 107 | +<li> |
| 108 | +<p>An application ID</p> |
| 109 | +</li> |
| 110 | +<li> |
| 111 | +<p>A configuration profile ID</p> |
| 112 | +</li> |
| 113 | +<li> |
| 114 | +<p>A configuration version</p> |
| 115 | +</li> |
| 116 | +<li> |
| 117 | +<p>An environment ID where you want to deploy the configuration data</p> |
| 118 | +</li> |
| 119 | +<li> |
| 120 | +<p>A deployment strategy ID that defines how fast you want the changes to |
| 121 | +take effect</p> |
| 122 | +</li> |
| 123 | +</ul> |
| 124 | +<p>When you call the <a href="https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_StartDeployment.html">StartDeployment</a> API action, AppConfig performs the following |
| 125 | +tasks:</p> |
| 126 | +<ol> |
| 127 | +<li> |
| 128 | +<p>Retrieves the configuration data from the underlying data store by using |
| 129 | +the location URI in the configuration profile.</p> |
| 130 | +</li> |
| 131 | +<li> |
| 132 | +<p>Verifies the configuration data is syntactically and semantically correct |
| 133 | +by using the validators you specified when you created your configuration |
| 134 | +profile.</p> |
| 135 | +</li> |
| 136 | +<li> |
| 137 | +<p>Caches a copy of the data so it is ready to be retrieved by your |
| 138 | +application. This cached copy is called the <i>deployed |
| 139 | +data</i>.</p> |
| 140 | +</li> |
| 141 | +</ol> |
| 142 | +</dd> |
| 143 | +<dt>6. Retrieve the configuration</dt> |
| 144 | +<dd> |
| 145 | +<p>You can configure AppConfig Agent as a local host and have the agent |
| 146 | +poll AppConfig for configuration updates. The agent calls the <a href="https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_appconfigdata_StartConfigurationSession.html">StartConfigurationSession</a> and <a href="https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_appconfigdata_GetLatestConfiguration.html">GetLatestConfiguration</a> API actions and caches your configuration data |
| 147 | +locally. To retrieve the data, your application makes an HTTP call to the |
| 148 | +localhost server. AppConfig Agent supports several use cases, as |
| 149 | +described in <a href="http://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-retrieving-simplified-methods.html">Simplified |
| 150 | +retrieval methods</a> in the the <i>AppConfig User |
| 151 | +Guide</i>.</p> |
| 152 | +<p>If AppConfig Agent isn't supported for your use case, you can |
| 153 | +configure your application to poll AppConfig for configuration updates |
| 154 | +by directly calling the <a href="https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_appconfigdata_StartConfigurationSession.html">StartConfigurationSession</a> and <a href="https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_appconfigdata_GetLatestConfiguration.html">GetLatestConfiguration</a> API actions. </p> |
| 155 | +</dd> |
| 156 | +</dl> |
53 | 157 | <p>This reference is intended to be used with the <a href="http://docs.aws.amazon.com/appconfig/latest/userguide/what-is-appconfig.html">AppConfig User
|
54 | 158 | Guide</a>.</p>
|
55 | 159 |
|
|
0 commit comments