Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What are some tools to manage a large number of configuration files across an enterprise?

My company has many applications each with it's own configuration information (usually in a .config file (.net code), but sometimes in the registry). These configuration files have information such as the servers one piece of a multi tier application need to connect to or file shares and similar things which vary dependign on the environment (dev, qa, stage, production). In addition many of these applications are scaled across multiple machines. This can make the process of managing and understaningd all these points of configuration difficult for our system admin team.

Are there some 3rd party tools that can be used to manage all these points of configuration in a centralized way? Some tool you could point to every single configuration file and then use to update those various configuration points with centrally?

like image 506
Stimy Avatar asked Oct 02 '13 17:10

Stimy


People also ask

Which tool is used for configuration management?

Red Hat® Ansible® Automation Platform, when used as a configuration management tool, is used to store the current state of your systems and help you to maintain that state.

Which of these tools can you use to setup the server configuration and manage large sets of servers at scale?

CFEngine is a configuration management tool that provides automation configuration for huge computer systems, inclusive of the unified management of servers, systems, users, embedded networked devices, mobile devices, and systems.

Which tool is used for environment configuration?

CFEngine is an automation tool primarily used for managing and provisioning software deployment in an operational IT environment. It is best suited for providing configuration and maintenance for heavy computer systems, servers, embedded network systems, laptop computers, mobile devices, and other related tech.

What is configuration file management?

Network Configuration Manager's file configuration management features allow you to: Back up devices' running and startup network configurations. Set versions and labels for configuration files. Upload configuration files to multiple devices.


3 Answers

There are many tools for this purpose.

Here are some common (guess your machines running Windows):

  • CFEngine
  • chef
  • puppet
  • bcfg

Another approach will be to use DRCS like git, to manage those config files.

like image 71
MeNa Avatar answered Nov 09 '22 16:11

MeNa


Zookeeper is specially indicated to orchestrate servers, and one common use case is managing shared configuration, which all the processes are "watching". The moment any item in the config is changed, it will be communicated to the processes so they can act accordingly. You can use it for example to have a highly available system in which a master node is automatically elected if the master fails. All the client processes will receive immediately (in milliseconds) the ip/port of the new master.

A similar tool for orchestration (not as complete, but it might be good for your use case) is serf

like image 28
Javier Ramirez Avatar answered Nov 09 '22 15:11

Javier Ramirez


Take a look at Config at http://www.configapp.com. It's a tool to manage all your application configuration files in one central location. It's core feature is the ability to handle environments (dev, qa, stage, production). You can add/update/remove common configuration that syncs across all environments, or you can have environment specific configuration (variables). It even has support for instances (cluster, regions, clients, etc). If you have multiple instances with the same configuration, just deploy (push or pull) the same configuration file to multiple locations. If you have instances with different configuration, that's supported as well. All this using a simple to use web interface. No coding needed. Note I'm part of the Config team.

like image 21
Bienvenido David Avatar answered Nov 09 '22 16:11

Bienvenido David