title: .NET external configuration server
body: <p>I am developing a web application which will contain quite a few hosts. I have seen external configuration storages been used in Java e.g. with Spring Cloud Config Server.</p>
  
  <p>Are there any non-custom alternatives in .NET? Currently, I am looking at the MSDN <a href="https://msdn.microsoft.com/en-us/library/dn589803.aspx" rel="noreferrer">External Configuration Store Pattern</a>, and implementing it custom and re-using some of the code from that page.</p>
  
  <p>Essentially, each node would have an initial configuration file (JSON) containing e.g. node name and url to DB where it will find other configuration parameters. Then I would have a separate service that can be queried by other services to return configuration data. It also caches config data locally.</p>
  
  <p>There are some concerns with this:</p>
  
  <ol>
  <li>how well it performs, i.e. configuration service may need to be scaled on multiple instances,</li>
  <li>config data needs to be cached, and may even need a distributed cache for all config services to have a unified view of the cached config data,</li>
  <li>this is custom implementation and will need maintenance,</li>
  <li>how is config data changed, e.g. through a custom admin UI interface with CRUD operations?</li>
  </ol>