While he presented several options used by CA for keeping track of these containerized microservices—CoreOS, Kubernetes, Apache Mesos and Apache ZooKeeper—Nadareishvili demonstrated why he believes it works best by using Ansible and Consul.
During the demo, Nadareishvili set up both a server cluster and clients with Consul, provisioned a Docker Host (which he called a Tanker), and installed a Node.js microservice from Docker.io. Once deployed on the Docker Host, Ansible built the fully functioning microservice live onstage in less than half an hour.
The one limitation is the ability to use Ansible inside the containers themselves. Nadareishvili said there’s a great opportunity for Ansible and Docker to work together to improve that aspect of the process.
“I think it’s something Ansible and the container community can really collaborate on,” he said. “What we do now is build Docker images using Docker files or Docker Compose, but the same text of Docker files is not nearly as robust or reliable as the Ansible syntax.”
Nadareishvili’s demo is available on GitHub.
Ansible tips and tricks
Ansible director of engineering Brian Coca rounded out the day with a presentation running down the ways Ansible can be used as a veritable Swiss Army Knife of programming.
“Ansible can do almost every job if you put it to it,” he said. “Ansible started out as a Unix tool, even though now it’s used on Windows or as a framework or API. It just runs a task on a host. It’s simple but an incredibly powerful paradigm.”
Coca demonstrated coding workarounds and scripts he’s used to leverage Ansible as a Unix tool, as well as a shell script, an automation framework, a QA and testing script, an automated e-mail blaster, a distributed batch executor, an ad hoc security scheme, and as a programming language itself.
The code and methodology behind each one of Coca’s Ansible tips and tricks is available in his presentation slides from the show.