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?
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.
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.
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.
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.
There are many tools for this purpose.
Here are some common (guess your machines running Windows):
Another approach will be to use DRCS like git, to manage those config files.
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
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With