Ansible has exploded in popularity thanks to rapid adoption and widespread community contributions, resulting in projects such as Ransack, a custom Ansible application developed by Rackspace.
At AnsibleFest NYC, Rackspace DevOps Engineer Paul Durivage explained why Rackspace is transitioning away from shell scripts and to Ansible through its Ransack server configuration tool. It was only the second public presentation on Ransack.
“We all started with shell scripts, and it was really messy, so we moved onto that configuration management software known as… Let’s call it ‘Cook,’” he said during his talk.
The steep learning curve and complexity of Chef became a major obstacle for Rackspace before turning to Ansible, which the company then refitted into Ransack to better automate its hybrid cloud platform.
“We had some tools that offered the ability to log into servers and run scripts, but we didn’t like that methodology because it scales really poorly,” Durivage told SD Times. “Shell scripts are all so different. I saw the need once we discovered Ansible to use that tool chain to do highly parallel work with Python modules that force consistency. It allows us to scale to an incredible number of servers to manage at any one time, meaning that one guy can do a massive amount of work with the least amount of effort possible.”
Rackspace’s Paul Durivage demonstrates Ransack
Ransack, which has been in development for about six months, pairs custom dynamic inventory scripts with internal Rackspace APIs, executing at runtime to pull down information about machines. Using a self-documenting command-line interface optimized for Rackspace cloud workflows, Ransack communicates with external APIs to gather Ansible-specific data and serialize it back to JSON.
Ransack is considered production-ready at version 1.0, though at the moment only internal Rackspace engineers have access as they train to use the application. Durivage and his DevOps team are currently working on developing Ransack-as-a-service to automate deployments without installation.