Configuration Management (CM)
-
Consider the following application
- To host the application on servers, we need to do some configurations (updating os, installing softwares, changing configuration files etc)
- One option of acheiving this is
- manual (use admin)
- Other options (Reducing time to market)
- Scripts (Shell scripts or Powershell scripts):
- Procedural approach (how to do it)
- Configuration Management uses Declarative approach where we express our desired state (What we want) (Declarative Programming)
- Scripts (Shell scripts or Powershell scripts):
- Idempotance: CM executions give same result irrespective of number of executions.
-
CM Tools:
- Ansible
- Chef
- Puppet
- Salt Stack
- Powershell DSC
Ansible
- Ansible is widely used in
- DevOps for CM
- IT for infra mangement and also in Data center automations.
-
Push based CM vs Pull Based CM

-
Ansible needs
- An service account or a user to login into nodes
- Credentials
- Python on linux nodes
