This is the first article from Azure App Configuration Service series. In this series of articles, we are going to discuss key features of this service, which will enable a beginner to get started (setting up the service and using its features) with this service.
In this first article, we are going to discuss about what this service is for. We will also discuss about how to create instance of this service.
What is Azure App Configuration Service ?
Azure App Configuration service is a service provided by Azure to manage application settings and feature flags. It is a service that will help you to keep all your configuration settings at one place.
Modern applications are modular. Each module has many components and they are distributed in nature. For example, an application, which is built using microservices pattern, will have many services hosted as different app services (or via kubernetes cluster).
Each of these components or services may need some configurations. Traditionally, configurations are stored in config files (or
appsettings.json files). But if we spread the configurations at multiple places and let’s say some of the application components are failing during deployment, then it becomes difficult to debug and troubleshoot and locate the issue.
With Azure App Configuration service, all the needed configurations can be placed at a single place. Their accesses can also be secured by applying appropriate policies.
Where it can be used ?
Almost all real world applications have dependency on some or the other kinds of configurations. So, almost any kind of application can use Azure App Configuration Service.
Some of the candidates are:
- Microservices Applications
- Continuous Deployment Pipelines
- Serverless APIs
- Web Applications, etc.
What are some benefits of using this service ?
Below are some of the benefits offered by Azure App Configurations service:
- Fully managed service provided by Azure, which can be setup in minutes
- Flexible key representations and mappings
- Tagging with labels
- Point-in-time replay of settings
- Dedicated UI for feature flag management
- Comparison of two sets of configurations on custom-defined dimensions
- Enhanced security through Azure-managed identities
- Encryption of sensitive information at rest and in transit
- Native integration with popular frameworks
How to create an instance of this service ?
For following all steps in this article, we will need Azure Subscription. If you don’t have an Azure subscription, create a free account before you begin.
To create a new App Configuration store, sign in to the Azure portal. In the upper-left corner, select option to create a resource. In the search box in top navigation bar, search for
App configuration and press Enter.
Then, select App Configuration option from the search results, and then click on Create button.
Next, it will show the wizard to create the service instance. On the first screen, we need to provide the below mentioned inputs:
- Subscription, the Azure subscription under which the resource should be created.
- Resource Group, where we can select either existing resource group or we can also opt to create a new one.
- Location, the region in which the resource should be created
- Resource Name, which should be globally unique, it cannot start or end with hyphens
- Pricing Tier, the desired pricing tier
There are two more inputs, geo-replication (currently in preview) settings and recovery options. For the sake of this article, leave them to their default values.
Then click on Review + Create button. It will trigger the deployment and within few seconds, the resource should be ready to use.
After the deployment is done, go to the resource and select Settings -> Access Keys from the side navigation menu, as shown in the snapshot given below. The highlighted connection string would be needed in the applications which want to read the application settings from this resource instance.
Next step is to add the configuration settings here. We can select Operations -> Configuration explorer -> Create -> Key-value option to add the key-value pairs, which would be used by the applications. Generally the keys may have slashes (/) or colon character (:), to use multiple tokens in the key name so as to convey the setting’s context and semantics.
In coming articles, we are going to discuss about how this service can be used to store local settings and feature toggles. We will see how those settings can be accessed from different types of applications.
I hope you find this information helpful. Let me know your thoughts.