Ansible on the Catalyst Cloud

by Donovan Jones

According to "Ansible is a radically simple IT automation engine that automates cloud provisioning, configuration management, application deployment, intra-service orchestration, and many other IT needs".

The recent release of Ansible 2.0 brings first class OpenStack support. There is now a comprehensive set of core modules that allow you to use Ansible to orchestrate OpenStack deployments. Catalyst has added documentation and example playbooks for using Ansible to orchestrate the creation of an instance and its associated infrastructure like networks, routers and security groups on the Catalyst Cloud.

The major benefit of Ansible is it has been designed to be useful for both configuration and orchestration while requiring no additional infrastructure beyond a git checkout and SSH access. Additionally it has a large number of built in modules let you interact with different services as first class entities. This abstraction of services into modules allows Ansible to be the glue technology to let you provision stacks comprising different underlying technologies. This makes Ansible an ideal tool for both deployment and subsequent management of complex stacks, even when these stacks are composed of different underlying technologies and built on platforms from more than one provider. You can now use a single tool for deployment, orchestration, instance configuration and maintenance. For modern sites its not uncommon to find technologies like Docker, Vagrant, OpenStack, AWS and Bare Metal used across development, staging and production environments. Ansible allows you to use a common tool across these environments.

In the Catalyst Cloud you can now use Ansible to for example replace Heat (orchestration) and Puppet (instance configuration). Ansible is also very popular for deploying and managing OpenStack itself is is widely used in the OpenStack community. At Catalyst we are expanding our use of Ansible both in our Cloud team and elsewhere.