Today we're announcing the public availability of AnsibleWorks AWX 1.2, which is a graphical user interface and REST endpoint that sits on top of Ansible, delivering many compelling features for all kinds of admins, developers, and IT managers. This release is a long time coming and represents a lot of hard work by some really talented folks at AnsibleWorks.
The goal of AWX is to make Ansible the perfect tool for teams to manage their infrastructure -- whether cloud-based or on-site, in the way that teams really want to work. And I know this, because I've seen a lot of automation tools that were built around the technology rather than team workflow. This is why AWX is different.
At the most basic level, AWX gives you push button automation to log in, trigger automation tasks, and view results -- and it's a beautiful experience. I prefer it to command line Ansible runs because I can just set up a series of parameters and trigger them again and again at any time with one button push. AWX acts as a centralized logging point for all of your jobs, so you're able to browse your inventory and look for hosts impacted by job failures, or see the history of jobs triggered by your team over time. There's no multiple layers of nested tabs to find what you want, everything is presented top level in really simple concepts -- you just click on where you want to go.
On top of that push button automation, we add some really elegant Role Based Access Control. In most apps, RBAC is something that is a terror to setup, and here we've made it, according to the Ansible philosophy, dead simple. I really like our implementation -- it can easily control what members of your team are able to deploy what projects to what systems, or allow some users access to deploy content in "dry run" mode and others to deploy for real. You are able to let lab staff add new machines to inventory, but leave deployment capabilities in the hands of your ops team -- all without requiring anyone to hit source control or a command line. Furthermore, "Organizations" in AWX allow for easy division of resources between very different groups, with delegated admins able to manage just their specific organizations. To add to this, login credentials can be shared among teams (think deploy keys) or assigned to individual users -- use keys, passwords, Kerberos -- your choice. Have the system remember as little or as much about your access to those systems as you desire -- upload a locked SSH key and the system will prompt you for the unlock password, and you never have to save it to the database if you don't want to. This was all designed looking at all the terrible Enterprise policy and access control interfaces of the past and thinking "how do I really want to use this?", and making our ideal vision of those options happen. You have a lot of flexibility, but it's also super easy to understand.
For those working on integration with external software systems, the REST API in Ansible is the best I've ever seen in an application. We've fully modeled every resource so it's discoverable and intuitive from the top level API endpoint. From the browseable API, you can click and discover everything you can do, all without leaving your browser. Furthermore, our user interface is 100% implemented in our REST API, so all you can do in the UI and more can be automated at the API level. Using tools like Firebug or Charles Proxy, you can easily watch the UI to see how it would do something, and then transfer that API logic into your application. We believe this will make AWX the go-to system for embedding Ansible orchestration and automation in to all kinds of software systems.
Finally, there's a really elegant "callback" feature for integrating with provisioning systems. Via a simple and very short curl statement, have your OS phone home to AWX in one simple step. You can have newly deployed images or kickstarted machines request full configuration with Ansible when they come online -- ending the problem of maintaining golden images forever, and always ensuring you deploy a fully-up-to-date configuration every time. It's the perfect blend for AWS autoscaling and all kinds of periodic remediation use cases, without giving up any of the centralized control.
Whether it's push button automation, centralized logging, provisioning, or a great REST API -- there's a lot to be excited about in AWX 1.2 -- and it's just only the start of our platform. In each release, we're going to add more and more compelling features to the platform, and continue to refine what we have based on your feedback. AWX is available today and will manage 10 nodes for free. Updates are free too! Send your ideas and wishlists to email@example.com
We're also not stopping there, we've got AWX 1.3 scheduled to come up in a month (look for some great surprises) and are getting Ansible-core ready for an amazing 1.3 as well, with 15 new modules already waiting in the wings. Fun times!
Keep on automating!
Ansible 1.2 Development Update | Ansible 1.2 Released, and Ansible 1.3 Begins! | Ansible 1.1 Released! | Ansible 1.3 and AWX 1.3 Hit The Streets | Ansible 1.4 Released