Earlier this year on the Verify blog, we discussed two market leading Configuration Management tools; Puppet & Chef. While both Puppet & Chef perform similar tasks, debates persisted in the tech press regarding which tool was superior. Following on from our discussion of Puppet Vs Chef, we recently interviewed John McBride, Cloud Architect at Asavie in Dublin, Ireland to gain a deeper industry insight into the tools favoured by leading technology companies.
In the following guest post, John McBride weighs in on the debate, offering his thoughts of Puppet and sharing with us the merits of Ansible, the CM tool favoured by Asavie to manage configuration of its global IoT connectivity platform.
John McBride, Cloud Architect at Asavie:
Mobile devices are going to become central to our daily lives more so in the future than ever before. Not only will they continue to connect us with other people around us but they’ll increasingly connect us with the things around us. This is the emerging Internet of Things which will give mobile users greater control over everyday objects using RF technology and mobile telephony.
But if the technology connecting mobiles with the outside world is unavoidably complicated now, it’ll become vastly more complicated when these same mobile devices become control devices for domestic objects and even industrial processes.
At Asavie we have built the cloud-based Asavie PassBridge platform. It’s designed to handle this unavoidable complexity. Asavie PassBridge is a software defined network as a service platform that provides on-demand network services to connect and secure people and things in this evolving world of IoT.
This management must be seamless and across a range of different telecoms systems and must scale to meet demand. Asavie’s partners include AT&T, EE, eir, Telefonica, Three, Vodafone and many more major Telco players.
Asavie PassBridge has to work in and with a many different infrastructures, Architectures and technologies. One tool that Asavie have found crucial to these complex projects has been a configuration management (CM) tool called Ansible.
Ansible is a Python based CM tool. Asavie’s operations and networks are scaling globally and Ansible offers the opportunity to automate tasks that are repeated in these complex, high scaling, cloud and data centre operations. If the project at hand is building server clusters for deployment Ansible can capture the details of each build and replicate that whenever you’re delivering a similar build. Asavie use it for cloud deployments on AWS.
Initially, we used Fabric, which is also Python based, but it really was a task based system. We needed something much more powerful: a declarative tool that preferably was Python based and Ansible fitted that profile.
Ansible is also very effective in the orchestration of deployments: this is co-ordinating deployments so they happen sequentially.
Puppet is another configuration management tool. But we’ve found that on balance Ansible comes out on top. When using Ansible you really don’t have to do a lot of big installs on the client machines. All that’s required is that the clients have Python installed, with Puppet you need agent software loaded on to the clients. There is a lot more work involved with Puppet, whilst with Ansible you get the return with a lot less work. This is one major efficiency gain with Ansible. Ansible also has lower barriers to getting the system up and running.
Ansible is also great at automating customer manifests; these are documents that contain all the details of the customer’s agreed solution. Ansible can replicate these and in this way scale the automation it performs.
Also, Puppet runs continuously, the team has less control over this whereas with Ansible you can switch off and on as needed. It runs manually, the team have greater control. A CM tool that runs continuously is fine but it would be optimised for different cloud architectures.
Comparing Ansible and Puppet on security it’s really difficult to see any advantage of one over the other. Ansible is easy to extend, it’s relatively easy to get automation systems up and running using Ansible but with Puppet there’s a steeper learning curve.
There’s a lower barrier to entry for anyone who is coming to Ansible for the first time. Although Ansible is Python based you really don’t have to do much Python coding when using it. Also, if a member of a team is reassigned to a different project for a time and then returns to working with Ansible, it’s easier to pick up again and start working on the project.
If there is any drawback in using Ansible it’s using it with older operating systems; this requires a bit more work. But writing plugins and workarounds are easier.
We have high expectations of Ansible in the company’s future: we intend to expand the use of Ansible more and more. We can use it on the VMWare infrastructure to generate virtual machines and also apply it to the network.
Asavie (pronounced: Asa-vee) have built the PassBridge™ platform to make it easier for people to connect to each other and everything around us. Asavie PassBridge™ is a software defined network as a service platform that manages the connectivity and security of your Internet of Things and mobility projects seamlessly across heterogeneous networks, at scale. Asavie partners with the world’s leading mobile operator groups (AT&T, EE, Telefonica, Three, Vodafone etc.) and has more than 20,000 end-user companies, many of them household names, using its award-winning technology to launch, scale and secure IoT and enterprise mobility projects.