Ansible – Automate Software Provisioning, Configuration Management and Application Deployment
Ansible automates software provisioning, configuration management, and application deployment. It can configure systems, deploy software, and orchestrate more advanced IT tasks such as continuous deployments or zero downtime rolling updates.
Unlike other popular open source configuration management software — such as Chef, Puppet, and CFEngine — Ansible uses an agentless architecture where no agents are installed on remote systems.
AWX provides a open source, web-based user interface, REST API, and task engine built on top of Ansible. It lets users better control their usage of Ansible in IT environments. It’s the upstream project for Tower, a commercial derivative of AWX.
- Strong focus on security and reliability
- Uses OpenSSH for transport (with an accelerated socket mode and pull modes as alternatives)
- Manage machines very quickly and in parallel
- Manage new remote machines instantly, without bootstrapping any software
- Decentralized – it relies on your existing OS credentials to control access to remote machines
- External inventory system – pull inventory from a cloud provider, LDAP, Cobbler, and more
- Uses a very simple language (YAML, in the form of Ansible Playbooks) to describe automation jobs in a way that approaches plain English
- Control what machines can access what hosts using Ansible’s “authorized_key” module
- Hundreds of modules to support a wide variety of integrations
- Module development in any dynamic language, not only Python
- Support for managing Windows machines. This uses native PowerShell remoting
Access the source code from Ansible’s GitHub.
|The name "Ansible" references a fictional instantaneous hyperspace communication system (as featured in Orson Scott Card's Ender's Game (1985).
Developer: Ansible Community / Ansible Inc. / Red Hat Inc.
License: GNU GPL v3 (AWX is released under Apache 2.0 License)
Written in: Python, PowerShell