Configuration Management
- Assumptions are
- Software package to be deployed is ready
- Servers with some OS are available
- Configuration Management (CM) has two methods
- PULL BASED CM: Nodes initate the communication to the CM Server
- PUSH BASED CM: CM server will initiate the communication to the nodes.

PULL BASED CM
- In PULL BASED CM, An agent is installed on every node which is responsible for initiating the communication and following instructrions from CM Server

PUSH BASED CM
- In PUSH BASED CM, CM Server has admin credentials of the node and the details like ip adress/hostname to login and execute the declarative configuration

Ansible
- Ansible is a push based CM.
- Ansible maintains the list of nodes to be communicated and is referred as inventory.
- To write the declarative configuation, Ansible used YAML and calls it as Playbook.
- Ansible requirements:
- Configuration Management Server in the case of ansible can be very light weight machin.
- Ansible logs in to the nodes and executes the declarative configuration & for that it requires python to be installed on the node.
Approach
- Make a note all the manual steps for deploying the application.
- For each step find the command and convert that into declaration (Module).

Note
- AWS Free tier account: Refer Here
- Azure Free Tier account: Refer Here
