What is External Configuration Store?
External Configuration Store is a cloud design pattern that recommends storing configuration information out of the application deployment package to a centralized location.
This pattern is useful for:
- Shared configuration between multiple applications or multiple instances of the same application.
- A standard Key-Value configuration system.
- Simplify administration and monitoring of configuration settings.
According to the 12-factor app, it is recommended to store configuration separate from the code. Just separating the configuration from the code is not enough, cloud-native applications are mostly microservices deployed in 100s or 1000s of nodes, developed using different programming languages, hosted usually in the cloud with different cloud computing models (Serverless, PaaS, sometimes IaaS) and every microservice needs some kind of configuration.
In a nutshell, it is a key-value store.
Azure App Configuration supports:
- Batch retrieval
- Hot reload
- Event-driven/ reactive architecture
When it is recommended to use the Azure App Configuration
Storing configuration in a highly-available centralized store is recommended when configuration items are shared between different applications or multiple instances of the same application.
Administration and monitoring become easier when the configuration is stored centrally.