What is AWS AppConfig?
AWS AppConfig for Quick, Secure, and Simple Deployment
Introduction
Let's imagine you are a developer and you wanna make a change to your application, you have two options you can release an update or make application configuration changes, in both cases you may have to restart the application so the changes take effect.
As you see this isn't the most efficient way to release updates/configuration changes because even the smallest configuration change can affect customers and cause outages
and here comes the magical solution from AWS which makes the process of code deployment a lot more smooth and efficient, I am talking about one of the best configuration management software solutions which is AWS AppConfig
What is AWS AppConfig?
AWS AppConfig is a configuration management software (huh?!)
What is software configuration management?
Software configuration management is a systems engineering process that tracks and monitors changes to software systems configuration metadata. In software development, configuration management is commonly used alongside version control and CI/CD infrastructure. This post focuses on its modern application and used in agile CI/CD software environments.
(source: Atlassian)
AWS AppConfig lets you easily create, manage, and quickly deploy application configurations (What are application configurations?)
A configuration is a collection of settings that influence the behavior of your application
How does AWS AppConfig make tasks easier for developers and DevOps engineers?
- AWS AppConfig makes sourcing configurations easier because it allows you to source configurations from a lot of sources like Amazon Simple Storage Service (Amazon S3), AWS AppConfig hosted configurations, Parameter Store, and Systems Manager Document Store. and you can also use AWS CodePipeline integration to source your configurations from Bitbucket Pipelines, GitHub, and AWS CodeCommit.
- AWS AppConfig help in avoiding outages caused by typos, thanks to the AWS AppConfig validators which do a syntactic check using a JSON schema and a semantic check using an AWS Lambda function to ensure that your configurations deploy as intended
- AWS AppConfig makes deploying and monitoring new releases more efficient and smart because it lets control deployment velocity, deployment time, and bake time. and when an error happens it lets you roll back deployment so you don't affect any users
AWS AppConfig Use Case
After you learned how AWS AppConfig can make your job a lot easier and more efficient
let's imagine you are going to release a new premium feature in your application and how AWS AppConfig will make this a lot more easy and smooth
Use Case
So you want to tweak some stuff in your application before the launch of the premium feature so you decide to use “Application tuning” which lets you introduce changes carefully to your application that can be tested with production traffic, after that you decide to use “Feature toggle” which will let you turn on the new premium feature next Friday and you also use “Allow list” so only premium subscribers can have access to the new premium feature, at the end you use “Operational issues” which reduce stress on your application when a dependency or other external factor impacts the system.
If you have any questions related to the AWS AppConfig you can reach out to me @ Linkedin
Summary (TL;DR)
Learn More About AWS AppConfig
- AWS AppConfig Documentation (Documentation)
- AWS AppConfig Demo (Video)
- AWS AppConfig Java Sample (Code)
Newsletter
I will be sharing my learning journey, cyber security news, new CVEs and study resources, and more, feel free to subscribe 😊 and please don’t forget to drink water 🌊