BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Microsoft Releases Azure App Configuration to General Availability

Microsoft Releases Azure App Configuration to General Availability

This item in japanese

Azure App Configuration is a new service on Microsoft's Cloud Platform, allowing developers to centralize their application configuration and feature settings in a secure and straightforward manner. In a recent Microsoft Azure update, the public cloud vendor announced the general availability of this service.

In April of last year, Microsoft introduced Azure App Configuration as a free service. During an Azure Friday episode, Jimmy Campbell, a developer on the Azure App Configuration team, explained to the host Scott Hanselman the use case for the App Configuration service:

If you have just had one spot that you could centralize applications with the capability to really query them at the app level and make sure they're siloed independently and then we were a service so we can give you things like manageability, showing you the history of your configuration and things of that nature.

Now Azure App Configuration is generally available as a free or paid service and provides:

  • A universal fully managed configuration store
  • Fast retrieval of configurations for any Azure application
  • Complete data encryption at rest or in transit
  • Native integration with popular frameworks such as .NET and Java Spring

Rick van den Bosch, principal cloud architect at Betabit and early adopter of Azure App Configuration, told InfoQ:

It’s not just a configuration store. There’s a point-in-time snapshot; there’s feature management, there are key and label filters. It’s a robust, complete solution.

Furthermore, van den Bosch, who also wrote a long blog post on the features of Azure App Configuration, explained to InfoQ the benefit of the native integration with frameworks such as .NET and Java Spring:

The native integration of App Configuration with frameworks like Java Spring and .NET ensures (almost all of) your code is completely unaware of where the configuration is coming from, which makes integrating Azure App Configuration into your (existing) application a walk in the park.

Developers can create an instance of the App Configuration using either the Azure Portal, or Azure Common Line Interface (CLI), or Azure Resource Manager (ARM) template. Once the instance is available, developers can start managing application settings and control feature availability. For example, developers can manage keys and values using Configuration explorer through the operations option. 

Next, through code, developers can access the instance by adding the Azure App Configuration to the ConfigurationBuilder when creating the IHostBuilder and get the values by a label.

public static IHostBuilder CreateHostBuilder(string[] args) =>
    Host.CreateDefaultBuilder(args)
        .ConfigureWebHostDefaults(webBuilder =>
        {
            webBuilder.UseStartup<Startup>();
            webBuilder.ConfigureAppConfiguration((webHostBuilderContext, configurationBuilder) =>
            {
                var settings = configurationBuilder.Build();
                configurationBuilder.AddAzureAppConfiguration(options =>
                {
    options.Connect(settings["AppConfigurationConnectionString"])
                            .Select(KeyFilter.Any, "MyLabel");
                });
            });
        });
    }

In case a developer does not specify a label to a filter, the application will only get values with a null label. As soon as the developer does specify a label, the application will only get values with that label. Furthermore, another benefit is that developers can stack filters, as Van den Bosch told InfoQ:

Since you can stack filters, it’s straightforward to have a customer-specific setting in one case and falling back to the default in another.

Lastly, Microsoft also offers the Key Vault service on their platform and allows storage of secret or even configuration settings centrally. However, Microsoft recommends using the Azure App Configuration service for application settings and Key Vault for secrets. Moreover, the Azure App Configuration has support for Key Vault as developers can create App Configuration values that reference secrets stored in Key Vault. As van der Bosch told InfoQ:

Because App Configuration also supports adding Key Vault references, it’s bound to become your one-stop-shop for all configurations in Azure.

With Azure App Configuration, developers will have two tiers to choose from – a free or standard (paid) tier. The latter offers unlimited resources in a subscription, 99.9% SLA, and other enterprise features. More details on the pricing of Azure App Configurations are available on the pricing page.

Rate this Article

Adoption
Style

BT