Ansible
Ansible is an open-source IT automation engine which can dramatically improve the scalability, consistency, and reliability of your IT environment. It is a declarative language, not a scripting language.
- Provisioning. Set up the various servers you need in your infrastructure automatically based on code.
- Configuration management. Change the configuration of an application, OS, or device.
- Service Control: Start and stop services.
- Updates and Security. Install or update applications; implement a security policy; or perform a wide variety of other configuration tasks.
- Application deployment. Make DevOps easier by automating the deployment of internally developed applications to your production systems.
- Agentless. Ansible uses SSH keys to communicate with servers or hubs
Key benefits¶
Ansible allows for automated deployment and configuration of virtual infrastructure, as well as flexibility with deploying updates, fixes, and environmental configuration changes in your environments across multiple platforms.
- Allows for consistant, repeatable deployments of infrastrucure.
- Powerful tool for deploying OS updates, patches, and fixes across a variety of platforms.
- Allows flexibility with environment configuration changes, both by making deploys consistant AND by automating deploy of changes post provisioning.
Key components¶
Ansible Project - the Ansible Project is the key component for deployments. Contains all of the roles, group variables, and playbooks used for deployments.
Ansible Roles - the primary mechanism for breaking a playbook into multiple files. This simplifies writing complex playbooks.
Ansible Playbooks - the Ansible Playbook is what is actually called to make the configuration changes for the Ansible template.