AWS AppConfig is a capability of AWS Systems Manager that allows customers to quickly and safely define, validate, and deploy their application configurations. These configurations can be syntactically and semantically tested in the pre-deployment phase. They can also be monitored and automatically rolled over if an alert is set. AWS AppConfig can be used to quickly deploy changes across multiple targets, update apps without interruptions, and manage the distribution of changes throughout your application.
How do you get started with AWS AppConfig? We will be covering all major areas of the service, including how to get started with AWS AppConfig.
What is AWS AppConfig and how can it help you?
AWS AppConfig is an AWS Systems Manager function that allows you to quickly create, manage, deploy, and manage application settings. It manages Amazon Elastic Compute Cloud instances (Amazon EC2), AWS Lambda containers, IoT devices, and mobile apps.
AWS AppConfig also performs the following tasks.
1. Configure
Amazon Simple Storage Service (Amazon S3) and AWS AppConfig hosted configurations are good places to start looking for setups. Use the AWS CodePipeline integration to get your settings from Bitbucket Pipelines and GitHub.
2. Validate
Unplanned downtime could result from a minor error in the deployment of application settings. AWS AppConfig validations can help you avoid problems with your production systems. AWS AppConfig validaters perform a syntactic or semantic check to ensure that your configurations are deployed as intended. Only correct configuration data can allow for deployments to proceed.
3. Monitor and deploy
To ensure that you deliver the latest configuration to your targets, you will need to define deployment criteria and rate restrictions. Set deployment velocity, deployment time, and bake time using AWS AppConfig deployment methods. To spot potential errors early, make sure you use the AWS AppConfig connection to Amazon CloudWatch Events. If AWS AppConfig detects an issue, it will revert the deployment to minimize the impact on your app’s users.
AWS AppConfig: Benefits
These are some of the benefits of AWS AppConfig
1. AWS AppConfig allows you to quickly and safely manage configuration.
Software behavior can be modified quickly or slowly without having to re-deploy a new version of code. Configuration changes can be made during runtime. This means that your teams can be more responsive to AWS AppConfig. They can turn features on and off, throttle up or down other configurations, and all this without having to restart your app.
2. To avoid costly mistakes, validate your configuration before you deploy
AWS AppConfig allows you to prevent configuration errors that could cause customer-facing issues, or even outages. An AWS Lambda function can be used to validate configuration data against a schema. Or, you can use an AWS Lambda Function to validate configuration data against the configuration. This validation logic can be included in your application settings to ensure that your configuration data is semantically and syntactically correct before you release it to your application. This validation ensures that the configuration is deployed produces the desired results. Only after the validation passes can deployment begin.
3. Monitor configuration and rollback automatically if necessary
AWS AppConfig supports best practice by allowing configuration changes that can be applied immediately or gradually. Customers can select a time frame for the configuration change to occur. AppConfig can roll back configuration changes if you have Amazon CloudWatch alerts set up.
4. Reduce errors in configuration changes
AWS AppConfig reduces application downtime by allowing you to create rules to verify your configuration. It is not possible to deploy incompatible configurations. AWS AppConfig provides two options for verifying setups:
A JSON schema can also be used to validate syntactic content. AWS AppConfig inspects your configuration and compares it with the JSON schema to ensure it meets the application’s requirements.
AWS Lambda functions can be used to execute your configuration, before you deploy it for semantic validation.
5. Rapidly deploying changes across a set of targets
AWS AppConfig makes managing large-scale apps easier by allowing you deploy configuration changes from one location. AWS AppConfig is compatible with applications running on AWS.
EC2 instances
AWS Lambda
Containers
Mobile apps
IoT devices.
Targets don’t require the Systems Manager SSM agent or the AWS Identity and Access Management IAM instance profile, which other Systems Manager capabilities require. AWS AppConfig can also be used with instances not controlled by AWS.
6. Update applications without interruptions
AWS AppConfig sends configuration updates to your targets during runtime. You won’t need to go through lengthy creation procedures or shut down your goals.
7. Control the deployment of changes throughout your application
AWS AppConfig lets you use a deployment strategy to reduce risk and distribute configuration changes to your targets. The rate controls in a deployment strategy can determine how quickly an application target should receive a configuration change.
Use Cases for AWS AppConfig
1. Flags of feature
Many customers use AWS AppConfig to distribute new features. A feature can be delivered to production, but hidden behind a feature flag making it inaccessible to the users. AWS AppConfig might “turn on” the ability for consumers when the product launches.
