Topics

Featured in Development

Understandability is the concept that a system should be presented so that an engineer can easily comprehend it. The more understandable a system is, the easier it will be for engineers to change it in a predictable and safe manner. A system is understandable if it meets the following criteria: complete, concise, clear, and organized.

Featured in Architecture & Design

Sonali Sharma and Shriya Arora describe how Netflix solved a complex join of two high-volume event streams using Flink. They also talk about managing out of order events and processing late arriving data, exploring keyed state for maintaining large state, fault tolerance of a stateful application, strategies for failure recovery, data validation batch vs streaming, and more.

Featured in Culture & Methods

Tim Cochran presents research gathered from ThoughtWorks' varied clients and projects, and shows some of the metrics their teams have identified as guides to creating the platform and the culture for high performing teams.

Microsoft Releases Azure App Configuration to General Availability

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

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.

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.