Tidy up - Unused Project and Nuget package reference using Visual Studio 2019

If you are a Developer/Architect using Visual Studio as IDE for your development activities, this blog post will be of your interest. During the Ignite 2021 conference, Microsoft released Visual Studio 2019 v16.9 and v16.10 Preview 1. As part of version 16.10 Preview 1, one of the cool features they introduced is to "Remove Unused References..." for any Projects and Nuget packages that are not in use. At the time of writing this blog post, we have Visual Studio Version 16.10.0 (official release) which includes this new feature.  As part of development, we generally get carried away and introduce new Nuget package references to your project and add new references to your Projects. By the end of development, you will not be 100% sure which are not being referenced and unused which means you will leave those unused project references in your application. Now you might be wondering what's the big deal in it since it doesn't harm. The advantage of removing unused project r

Azure App Configuration - How it's different from Azure Key Vault?

Azure App Configuration is a cloud-based managed service that helps developers and infrastructure team members to centralize and manage application configurations and feature flags. Using Azure App Configuration helps to separate application configuration from code. One of the Twelve-Factor App principles states strict separation of config from code with Azure App configuration this can be easily achieved. Azure App Configuration is now generally available as a free or paid service based on the pricing tier you choose as part of provisioning the service. 

In the modern world, applications often can run in different geographical locations, can be hosted on services like App Services, virtual machines, Serverless functions, Azure Container Instance, AKS, etc. Managing application configuration for all this type of service can be done in a centralized location using App configuration which means your operations and support team members need not go to N number of places to look for application configurations. Additionally, you can set or access App configuration values from the Azure DevOps pipeline.

Provisioning Azure App Configuration

Azure App Configuration can be provisioned through Azure Portal, Azure CLI, or ARM template. If you are creating using Azure Portal following steps need to be carried out.
  1. Go to Azure Portal
  2. Click on the "Create a resource" button.
  3. Search for "App Configuration" 
  4. Enter relevant details in the blade-like 
    • Resource Name - Name for the App configuration service
    • Subscription - Select the Azure Subscription under which the service needs to be provisioned.
    • Resource group - Logical grouping of resources
    • Location - Geographical location for the service to be provisioned.
    • Pricing Tier - Free or Standard based on your need.

Benefits of Azure App Configuration

Following are a few key benefits of Azure App Configuration
  • Centralized management for application configuration for all your applications.
    • Single Source of Truth
    • Avoids Duplication
  • Supports Feature Management provides UI for configuring it.
  • Flexible key representations and mappings - supports flat and hierarchal key management.
  • Dynamically change application settings without the need to redeploy or restart an application.
  • Tagging with labels - support categorizing keys using labels.
  • Point-in-time snapshots that can be replayed. App Configuration stores a complete timeline in key-value changes. Supports compare configuration values for different points in time 
  • Built-in support for Azure Managed Identity, which means web apps, Azure functions, etc applications can easily access the application configuration without specifying credentials in code.
  • Support popular framework including Java, .NET.
  • Integration with Azure DevOps pipelines.
  • Integration with Azure Key Vault.
  • Data encryption at rest or in transit.
  • A fully managed service from Azure that can be provisioned in minutes and need not worry about the underlying platform and SLA's.
When I initially looked at the App configuration service one question that came into mind how it's different compared to the Azure Key Vault service.

App Configuration vs Key Vault

App Configuration doesn't replace Key Vault. Key Vault is used to store secrets (sensitive data), certificates, etc. With Key Vault you will get options for rotating passwords, certificates. App configuration is used to hold application configuration which is insensitive. App configuration is one store for application configurations for multiple applications. App configuration is well suited in a scenario like dynamically changing application settings because the application can pick changes without a restart. App configuration complements Feature Management functionality by providing feature managed user interface. App Configuration can be integrated with Azure Key Vault.

References:



Comments

Popular posts from this blog

Tidy up - Unused Project and Nuget package reference using Visual Studio 2019

Swagger UI for Azure Function v2 & v3 APIs

Authenticate Azure Functions - API Keys