To save time and money, organizations use configuration management, automation and orchestration tools, such as Ansible, for DevOps workflows. Ansible is a simple tool that uses easy-to-read-and-write code languages to manage workloads on dynamic infrastructures without extra bells and whistles bogging down tool adoption.
For those new to configuration management, check out the beginning of this guide, which provides an introduction to Ansible for DevOps, including how it works and what it does.
Already familiar with Ansible and ready to start working in the tool? Jump past the Ansible basics, and read articles that go in to detail on how to write YAML scripts, set up configurations for different environments and create a playbook.
1An Ansible intro for newcomers-
Determine if Ansible covers your organization's needs
The configuration management tool space is full of options that cover a wide range of functions, setups and workloads. Ansible is an open source tool, owned by Red Hat and based on Python. It uses YAML scripts to automate workloads on dynamic infrastructures. Ansible offers multiple features to suit the needs of both small companies and organizations at scale.
Red Hat acquired Ansible in 2015 and has absorbed it into its tool set, but Ansible operates beyond the realm of its parent company. Most admins think Linux when considering Ansible for DevOps, but the configuration management automation tool also works for Windows and network environments. Ansible Engine supports network automation; Ansible Tower improves operational scalability. And because of Ansible's various modules' malleability, the tool set fits well into internet of things environments. Continue Reading
Ansible uses Secure Socket Shell key pairs to connect to managed nodes, which are controlled from one central machine. Admins create a list of instructions in a playbook, which runs on nodes through modules that ensure the same actions occur the same way on every node. Admins can use the command-line interface and directly write YAML scripts, or move to Ansible Tower's GUI designed for large environments. Tower includes role-based access control and scheduling capabilities. Continue Reading
IT admins have been writing -- and collecting -- scripts to automate their work for decades, but often, those scripts are generally inefficient or potentially unsecure. Experienced systems administrators value Ansible for its simplicity and efficiency. It does exactly the same thing that admins are already doing but faster and more easily, without the risk of security flaws. Continue Reading
The British Army uses Ansible for DevOps, relying on Ansible Tower to manage its Red Hat Enterprise Linux (RHEL)-based infrastructure and ease the maturation of its legacy applications. Ansible's structure enables it to work in multiple dynamic cloud environments simultaneously to shrink commit times from a day to merely hours or less, which helps organizations to improve both their operational effectiveness and user relations. Continue Reading
2Dive into Ansible for DevOps-
Manage infrastructure configurations with Ansible
Ansible's structure consists of plays, which are grouped into playbooks that contain all of the necessary directions for any given workload or host setup. Plays can be as static or dynamic as admins need, through the use of modules and variables. Learn how to write the code that will set up Ansible for DevOps in your organization.
Ansible works with a desired state, which means that users define the configuration and Ansible upholds it. The tool ensures that no change affects the state, and it reverts any change that does. This video tutorial takes users through Ansible setup basics before diving into a command-line configuration creation, via ad hoc commands and playbooks. Continue Reading
YAML is an easy-to-learn-and-read scripting language that many configuration management tools use to automate infrastructure workloads. Although seemingly straightforward, YAML can be challenging in its demand for exactitude: Each space, symbol and return must be placed correctly in order for YAML scripts to execute. Continue Reading
This article walks admins through how to write plays in YAML, as well as how to collect those plays into playbooks so that every machine is automated the same way every time. The YAML files that make up playbooks will feature include code, which brings the contents of an external file into this file; modules written in Python, such as yum and service, which provide flexibility; and variables, which refer to fixed or set information in the main Ansible file. Continue Reading
YAML is beneficial for large and flexible environments because it enables controlled automation from a single, central host. Have a rapidly changing environment? Ansible's answer is the variable. Admins can use variables to point to static code, which can then be inserted into plays for various hosts depending upon the workload. Variables range from global all the way down through specific plays to specific hosts for heightened control. Continue Reading
Red Hat's CloudForms is a platform that offers native integration with Ansible to ease cross-cloud and hybrid cloud infrastructure management. Ansible playbooks are not platform-restricted, which enables centralized management of multiple infrastructures and workload types. Continue Reading
Double-check the building blocks
Here's a short glossary of the terms in use around Ansible for DevOps to ease any uncertainty and keep your evaluation from veering off track.