Git vs Config

configBlogLeave a Comment

Config was conceptualized to manage the complexity of configuration files. This is fundamentally different from managing source code or documents.

Git is an open source version control system. It’s a general purpose system for managing changes to documents, code and other pieces of information.
Config is a configuration file management SaaS. It’s accessed from the cloud (or installed on-premises) using a browser and is specific to managing configuration files (.txt, .properties, .ini, .json, .xml, .yaml, .toml, etc.). It has version control features like semantic versioning, change history, visual diff, and change notifications.

Git is distributed with an advanced branching model. Repositories are cloned.
Config stores the master configuration file on the Config server. During deployment, the configuration file for the requested version and environment is generated and deployed. Config supports public and private applications using multiple deployment models. It has built-in support for environments (Dev, QA, Staging, Prod, etc.) and instances (clusters, clients, regions, etc.).

Git is fast since most operations are performed locally.
Config is a deployment time dependency. It adds no runtime overhead and is not a single point of failure.

Git is open source. It is released under the GNU General Public License 2.0.
Config is a SaaS. It has a free forever plan for small systems, paid plans for advanced systems, and an enterprise on-premises plan.

Other features of Config:

  • Type safe configuration values. Configuration are given types and validated.
  • Configuration value encryption. Used for sensitive information like passwords and keys.
  • Permissions and review/approval workflow.
  • Search and documentation. View all your application configuration in one place. Search for keys, values and comments. Easy to use interface for documentation and comments.

If you are using hosting services like GitHub or BitBucket, Config is more secure since it’s always private. No need to worry about accidentally making your repository go public and exposing your credentials to the wild.

Leave a Reply

Your email address will not be published. Required fields are marked *