Serdar Yegulalp
Senior Writer

Ansible 2.1 gets a grip on Microsoft Azure and Docker

news analysis
May 25, 20162 mins

Automation framework Ansible's second point revision adds management for Microsoft Azure and Docker containers, and so far avoids being just a Red Hat support tool

green glove grab steal
Credit: Thinkstock

When popular IT automation framework Ansible was acquired by Red Hat, the question had to be asked: What’s going to change? Would Ansible be geared to support Red Hat’s products?

It didn’t seem that way with Ansible 2.0 when it debuted back in January with a host of generic improvements to its scripting handling. Version 2.1, though, brings broader support for containers, Microsoft Windows, and Microsoft Azure, technologies Red Hat has either invested itself in heavily or partnered with. But the changes remain high-level, not coupled to anything Red Hat does.

The Azure-specific additions include support for Azure Resource Manager, which uses templates and RBACs to consistently and repeatably deploy resources for applications. It’s the kind of work Ansible itself might do, so having Ansible leverage Azure’s methods makes plenty of sense.

With Windows generally, Ansible can now manage other parts of the OS, such as Windows file sharing and the firewall, and it can use NTLM directly, instead of Kerberos, to manage machines joined to a domain. A new action, win_reboot, makes it easier to script workflows that require restarting a system, which is hard to avoid if you’re performing multiple software or kernel-driver installations.

Ansible 2.1 also overhauls container support — another field where Red Hat has been heavily involved. The existing Docker modules have been rewritten, and a new docker_service module allows Docker Compose to be embedded into Ansible playbooks. This means Ansible now has more control over the deployment infrastructrure used to run containers, as well as the ability to interface closely with how containers are built and managed.

A third major addition to Ansible 2.1 is networking automation for using Ansible to control networking platforms like Cisco, Juniper, Cumulus, Arista, and OpenSwitch.

So far, Red Hat has provided Ansible with features that are at least a partial reflection of Red Hat’s own interests, but on a high level — such as support for containers generally, rather than OpenShift or RHEL specifically. That’s a good direction to take, as it does justice to existing Ansible users and their use cases, rather than putting the brunt of new and future Ansible features into supporting Red Hat infrastructure. Let’s hope it stays that way.

Serdar Yegulalp

Serdar Yegulalp is a senior writer at InfoWorld. A veteran technology journalist, Serdar has been writing about computers, operating systems, databases, programming, and other information technology topics for 30 years. Before joining InfoWorld in 2013, Serdar wrote for Windows Magazine, InformationWeek, Byte, and a slew of other publications. At InfoWorld, Serdar has covered software development, devops, containerization, machine learning, and artificial intelligence, winning several B2B journalism awards including a 2024 Neal Award and a 2025 Azbee Award for best instructional content and best how-to article, respectively. He currently focuses on software development tools and technologies and major programming languages including Python, Rust, Go, Zig, and Wasm. Tune into his weekly Dev with Serdar videos for programming tips and techniques and close looks at programming libraries and tools.

More from this author