What is Ansible?
Ansible is a configuration management tool. It automates configuration management, cloud provisioning, application deployment, infra service orchestration, and many more IT needs.
When it is used as a configuration management tool, it is used to store the current state of our systems and help us to maintain that state, it makes changes and deployments faster, removing the potential for human error while making system management predictable and scalable
What is configuration management?
Configuration management is a process for maintaining computer systems, servers, and software in a desired, consistent state.
It's a way to make sure that a system performs as it's expected to as changes are made over time.
How Ansible Works?
Ansible works by connecting to our nodes/servers and pushing out small programs via ssh, called Ansible Module.
These programs are written to be resource modules for the desired state of the system.
Ansible then executes these modules and removes them when finished.
Ansible modules can be written in any language that can return JSON.
Inventory is lists of nodes or hosts having their IP addresses, databases, servers, etc which are needed to be managed.
Ansible APIs works as the transport for the public or private cloud servers
Ansible connected the nodes and spread out the Ansible modules programs. Ansible executes the module and removes it once after finished execution.
Hosts are the node systems, which are automated by Ansible and any machine.
Ansible is used to automate different networks, and it uses the simple, secure, and powerful agentless automation framework for IT Operations and development.
A cloud is a network of remote servers on which you can store, manage, and process data.
Plugins are the piece of code that expands the core functionality of ansible. There are many useful plugins available and we can even write our own plugin code.
Playbooks contain our code and they are written in YAML, which describes the tasks and executes through the ansible.
CMDB is a type of repository which acts as the data warehouse for the IT installations.