In this post you will learn about Configuration Management and What CM tools we used for DevOps. System Administrators usually perform repetitive tasks such as installing servers, configuring those servers, etc. They can automate this task, by writing scripts, but it is a very hectic job when you are working on a large infrastructure.
To solve this problem, Configuration Management was introduced. Configuration Management is the practice of handling changes systematically so that a system maintains its integrity over time. Configuration Management (CM) ensures that the current design and build state of the system is known, good & trusted; and doesn’t rely on the tacit knowledge of the development team. It allows access to an accurate historical record of system state for project management and audit purposes.
Configuration Management overcame the following challenges:
To solve this problem, Configuration Management was introduced. Configuration Management is the practice of handling changes systematically so that a system maintains its integrity over time. Configuration Management (CM) ensures that the current design and build state of the system is known, good & trusted; and doesn’t rely on the tacit knowledge of the development team. It allows access to an accurate historical record of system state for project management and audit purposes.
Configuration Management overcame the following challenges:
- Figuring out which components to change when requirements change.
- Redoing an implementation because the requirements have changed since the last implementation.
- Reverting to a previous version of the component if you have replaced with a new but flawed version.
- Replacing the wrong component because you couldn’t accurately determine which component needed replacing.
Configuration Management Benefits
The primary benefit of configuration management is consistency of systems and software. With configuration management, you no longer guess or hope that a configuration is current. It is correct because the configuration management system ensures that it is correct.
When combined with automation, configuration management can improve efficiency because manual configuration processes are replaced with automated processes. This also makes it possible to manage more targets with the same or even fewer resources.
Why Configuration Management Is Important
Configuration management is important because it enables the ability to scale infrastructure and software systems without having to correspondingly scale administrative staff to manage those systems. This can make it possible to scale where it previously wasn’t feasible to do so.
Best Configuration Management Tools:
There are basically 4 tools at the top, Chef, Ansible, Puppet and Salt. In my opinion and based on my experience Ansible is the best and easiest tool of all for the very simple fact that it doesn’t require you to set up a minion agent on the machines, you can deploy ansible playbooks wherever you want, from any machine, you just need to have the playbook and the credentials (or keys). Also, as I mentioned unlike the others, you don’t need to install anything on the target servers, you just need python and SSH (most servers come with those 2 dependencies by default).
Another important point to add is Ansible has a HUGE library of modules and an extensive community that creates ansible playbooks and share them with the community.
No comments:
Post a Comment