spring-cloud / spring-cloud-config

External configuration (server and client) for Spring Cloud
Apache License 2.0
1.96k stars 1.29k forks source link

Spring cloud config embedded server documentation #1203

Open anandsunderraman opened 5 years ago

anandsunderraman commented 5 years ago

This is a request for more documentation around best practices using spring cloud config server

The Embedding the Config Server documentation states:

The Config Server runs best as a standalone application

It would be great if there was more documentation around the pros and cons of running an embedded server as against a centralized configuration server.

Within our organization we are debating against these approaches and it feels like we were missing something in the documentation that supports either cause.

Here is what I could come up with:

Assumptions: We are using git as the datastore for the app configurations

Embedded server: Pros: No need to standup a new server

Cons: Each application will now have to

  1. store git credentials
  2. store encryption keys if encryption mode is turned on
  3. have ssh configuration to communicate with git repository, assuming ssh is the mode of authentication

Centralized server: Pros: Centralized server to:

  1. serve out configurations
  2. encrypt information
  3. git credentials

Cons:

  1. Single point of failure
asalan316 commented 4 years ago

Happy to update documentation (as mentioned by @anandsunderraman ). But need help to get started on the process.