Ansible uses 'playbooks' to deploy, manage, build, test and configure anything from full server environments to websites to custom source code for applications.
Features:
- Agentless: There is no need for agent installation and management on host.
- Built on top of python.
- It uses SSH for secure connection.
- It follows push based architecture for sending configurations
- Very easy and fast to setup with minimal requirements.
Tools like puppet and chef are pull based and they require agents to be installed like chef client. Agents on the server periodically check for the configuration information from central server (Master). Ansible is pull based and central server pushes the configuration information on target servers. We also have control on when to apply changes made on the servers.
Push based advantages:
- Full control
- Synchronous
- Simple and easy to learn
Push based disadvantages:
- Cannot achieve full automation
- Lack of Scalability(unless we make use of heavy threading)
- Full automation
- Scaling up is very easy.
Pull based disadvantages:
- We cannot configure system whenever we want it.
- Setting up initially will take a lot of time.
Depending on these pros and cons of both pull based and push based tools, when we have large infrastructure we opt for pull based and where configuration should be fast we use push based.
Ansible agent less architecture:
Ansible architecture:
- The following image shows the Ansible architecture.It consists of host inventory, modules, plugins, connection plugins and playbooks.
- Modules are pieces of code that get executed on host.
- Plugins are special kind of modules that are executed before a module gets executed.
- Connection plugins may be SSH plugin/ docker container plugin.
- Host Inventory contains the list of hosts grouped together.
This above information really Good beginners are looking for these type of blogs, Thanks for sharing article on Devops Online Training
ReplyDelete