Skip to main content

Centralized Configuration for .NET Core using Azure Cosmos DB and Narad

We are living in a micro services world. All these services are generally hosted in Docker container which are ephemeral. Moreover these service need to start themselves up, talk to each other, etc. All this needs configuration and there are many commercially available configuration providers like Spring Cloud Config Server, Consul etc. These are excellent tools which provide a lot more functionality than just storing configuration data. However all these have a weakness - they have a single point of failure - their storage mechanism be it a file system, database etc. There are ways to work around those but if you want a really simple place to store configuration values and at the same time make it highly available, with guaranteed global availability and millisecond reads, what can be a better tool than Azure Cosmos DB!

So I set forth on this journey for ASP.NET Core projects to talk to Cosmos DB to retrieve their configuration data. For inspiration I looked at Steeltoe Configuration Provider and modified it to support Azure Cosmos DB. Enter Narad - an Azure Cosmos DB Configuration Provider for .NET Core.

To use Narad, first create a Cosmos DB database and upload your configuration data as JSON file in one of the collection. There are excellent instructions available on MSDN docs on how to do this. Next clone or download it from GitHub repository and add the reference to "Narad.Extensions.Configuration.CosmosDBCore". Narad is now available as a Nuget package. Search for "Narad.Extensions.Configuration.CosmosDBCore" or follow this link - https://www.nuget.org/packages/Narad.Extensions.Configuration.CosmosDBCore/.Also in your appsettings.json, you will have to provide the following details:

The database and collection name can be whatever you want. Next in Program.cs, add the AddCosmosDB() method. You are done! Optionally you can also bind your configuration POCO class to the configuration values retrieved from Cosmos DB as shown in the Startup.cs.


You can find the complete source code as well as sample client on GitHub - https://github.com/mayankthebest/Narad

Comments

  1. Its very informative blog and useful article thank you for sharing with us , keep posting learn
    more about .NET Online Course Hyderabad

    ReplyDelete

Post a Comment

As far as possible, please refrain from posting Anonymous comments. I would really love to know who is interested in my blog! Also check out the FAQs section for the comment policy followed on this site.

Popular posts from this blog

The IKEA Pilgrimage

"Hez!". If you were in Hyderabad for the opening of first IKEA store in India, you would be forgiven for thinking that it's a religious chant for followers of a religion who are trampling over themselves for getting into their place of worship. Except they were visitors to the new IKEA store.
For the past few days, the news had been carrying multitude of articles related to IKEA opening. The marketing by IKEA team only hyped the situation. Since I was looking to buy a bed, I made the unfortunate decision of going to the IKEA store for a quick in-n-out shopping with my wife on my way to office. The first red flag should have been when we couldn't get parking at 10 am in the morning of a weekday and were asked to park at one of external parking locations. The IKEA folks were kind enough to handout a map of the same.

We were asked to park near ITC Kohenur. From that location, like every well organized pilgrimage, there was a shuttle service to IKEA after every 30 minut…

Book Review - The Girl In Room 105

There are couple of reasons why I pre-ordered Chetan Bhagat's latest - its price is less than a cup of decent coffee making it an impulse purchase and more importantly the book's claim that it is an "unlove story", whatever that means. Bhagat had pioneered the trend of bubblegum IIT college love stories targeted at teens and college-going population which inspired a generation of wannabe writers. But you can chew bubblegum only for so long. After some time you have to spit it out. With this book Bhagat threw away the bubblegum only for it to stick to his shoes.
The story starts the same way as have Bhagat's previous books - in a college and more specifically in an IIT. For initial few chapters you would be forgiven if you think you have picked up one of Bhagat's previous works by mistake. Bhagat is still obsessed with fair skin, women's churidar kurta and how she arranges her hair. The English is still pedestrian which Bhagat justifies as this is how rea…