The Red Hat Ansible Product Team wanted to provide an update on the status and progress of Ansible’s foundational role as it pertains to the product, specifically as a deliverable for implementing automation as a language. That is, Ansible as provided by aggregated low-level command line binary executables leveraging Python, with a YAML-based user abstraction. Specifically, the packaged deliverable is currently named Ansible Base, but will soon be named Ansible Core later this year. When people often generally refer to “Ansible,” this largely describes what people use directly as part of their day-to-day development efforts.
As an Ansible Automation Platform user, you may have noticed changes over the last year and a half to the Ansible open source project and downstream product in order to provide targeted solutions for each customer persona, focusing on enhancements to packaging, release cadence, and content development.
We’ve seen the community and enterprise user bases of Ansible continue to grow as different groups adopt Ansible due to its strengths and its ability to automate a broad set of IT domains (such as Linux, Windows, network, cloud, security, storage, etc.). But with this success it became apparent that there is no one size fits all for a “typical” Ansible user in the community or enterprise. In 2019, we announced the start of a series of changes to better structure the Ansible open source project in order to better maintain and facilitate contributions to the Ansible upstream project for the technologies everyone wants to automate.
As these changes have progressed, it has allowed the Red Hat Ansible Automation Platform Product Team to incorporate solutions based on feedback from our customers to build an appropriate solution that is focused on delivering enterprise scale automation.
The following blog provides an update to what the Red Hat Ansible Automation Platform Product Team is working on for the next major release as it pertains to Ansible “the language” stated above.
Completed: Ansible open source project changes
As with all Red Hat products, the Ansible engineering team works in the Ansible upstream open source project first and then brings those components downstream to the Ansible Automation Platform. Over the past few years, a big chunk of our focus has been on ensuring the success of the Ansible language and its packaging upstream, and now, we are happy to announce all of the following efforts have been completed:
- Ansible content has been migrated out of the Ansible project
The vast majority of changes made to the Ansible project was due to changes in Ansible content (such as modules, plugins, and documentation). Now that Ansible content can be developed, built, and published to Ansible Galaxy by means of Ansible Content Collections, it no longer means Ansible developers are beholden to the inclusion criteria of the project itself. Updated Ansible Content Collections can now be published on-demand with much less “red tape” as before.
- The foundational Ansible executable continues on, and with a new name
Now that the vast majority of content has been decoupled from the Ansible open source project, what is left is the foundational Ansible executable and core content needed to minimally allow Ansible to function. Post migration the ansible 2.9 RPM became ansible-base in 2.10 and will soon be renamed ansible-core for 2.11 release.
- The omnibus Ansible package installable continues on, but with Ansible Content Collections
The Ansible upstream package, the one where you use pip install ansible, has not changed on the front end, but a lot has changed on the backend. Since content was migrated out of the Ansible project, the community deliverable needed to have ansible-base 2.10 and Ansible content needed to be “recombined” back into what users expected prior to the restructuring.This will be called the Ansible community package.
Coming Soon: Red Hat Ansible Automation Platform enhancements
With the completion of the changes made to the Ansible open source project, the enterprise Red Hat Ansible Automation Platform offering is currently in the midst of revolutionizing how automation is architected to best meet the need of enterprise use cases for customers with an Ansible Automation Platform subscription. There are many changes currently being planned, but the following are just a few of the top-level initiatives in development that are focused on the Ansible foundational components:
- The move to a fully containerized, scalable, cloud-native automation architecture
The benefit of having all the pieces of the Ansible project now modular (Ansible Core execution and Ansible content), they can now be packaged as specific, discrete containers that include everything needed and “ready-to-go.” For example, complex Python virtual environments (virtualenvs) become portable and flexible containers that only need to have what’s required for the automation tasks to execute.
- Red Hat Ansible Engine packaging and delivery changes
Now that the underlying Ansible project itself has been disaggregated, so too will the downstream product deliverable. The most important pieces of Red Hat Ansible Engine, the runtime and the language (soon to be Ansible Core) will become one component of the platform that will make up the execution portion for higher order automation via containerised execution.
- Red Hat Ansible Engine packaging and delivery changes
Ansible Core will still be delivered and supported as an RPM so it can be installed at the command line (as before) to assist with migration and existing use cases.Today: Soon:
All certified Ansible Content Collections and dependencies in a package of your choice
In order to run and execute Ansible jobs, one must have the following required subsystems on their control nodes: A server operating system (such as Red Hat Enterprise Linux 8), a Python runtime environment, a version of Ansible Automation Platform (that includes a version of Red Hat Ansible Engine), and any Ansible content installed. As automation adoption has increased, coordinating large groups across multiple technology domains and Ansible versions has increased the complexity of managing which Ansible and where.
Virtual python environments will no longer be required, and execution of automation jobs is limited to what that container provides, adding portability, flexibility, and additional control for the developers writing the playbooks, and the administrators deploying and maintaining the automation platform.
Enabling the Enterprise Developer
Building and managing Ansible content, either foundational content such as Ansible modules and plugins, or higher-order content such as Ansible playbooks and roles, can become more complex when transitioning from automating as an individual to automating as part of a large enterprise-wide team across shared inventories. Yes, people will still be developing Ansible content on their laptops or workstations, but additional integrations are needed in order to better manage how developers scale to managing thousands of jobs using thousands of playbooks across thousands of multi-domain endpoints.
The ultimate goal is to leverage, augment and create tooling to make developing Ansible content a seamless and unified experience.
Red Hat Ansible Automation Platform
Red Hat Ansible Automation Platform was first announced at AnsibleFest Atlanta 2019, with it’s goal to become the de-facto automation solution for enterprise IT organizations. Ansible has long been a popular choice in the open source community, but in the enterprise world, if IT leaders and IT “doers” aren’t on the same page, automation fails before it even begins. Automation is less about the actual playbooks automating devices, and more about how teams interoperate and collaborate seamlessly as part of an existing IT business workflow. This is the true value of Ansible Automation Platform for enterprises: enabling automation across multiple teams, inventories, and workflows at scale.
The Red Hat Ansible Automation Platform Product Team is extremely excited to soon share with you the full details of the forthcoming major release of Ansible Automation Platform. But until then, if you are an existing or prospective customer, feel free to reach out and we can provide you with more detailed information.
Thanks, and Happy Automating!
Do you want a free trial of Red Hat Ansible Automation Platform?
Check out our free ebook the Automated Enterprise